PhysicsServer¶
Inherits: Object
Interfaz de servidor para acceso a la física de bajo nivel.
Descripción¶
PhysicsServer is the server responsible for all 3D physics. It can create many kinds of physics objects, but does not insert them on the node tree.
Métodos¶
Enumeraciones¶
enum JointType:
JOINT_HINGE = 1 --- The Joint is a HingeJoint.
JOINT_SLIDER = 2 --- The Joint is a SliderJoint.
JOINT_CONE_TWIST = 3 --- The Joint is a ConeTwistJoint.
JOINT_6DOF = 4 --- The Joint is a Generic6DOFJoint.
enum PinJointParam:
PIN_JOINT_BIAS = 0 --- La fuerza con la que los objetos clavados tratan de mantenerse en relación posicional entre sí.
Cuanto más alto, más fuerte.
PIN_JOINT_DAMPING = 1 --- La fuerza con la que los objetos clavados tratan de mantenerse en relación posicional entre sí.
Cuanto más alto, más fuerte.
PIN_JOINT_IMPULSE_CLAMP = 2 --- If above 0, this value is the maximum value for an impulse that this Joint puts on its ends.
enum HingeJointParam:
HINGE_JOINT_BIAS = 0 --- La velocidad con la que los dos cuerpos se juntan cuando se mueven en diferentes direcciones.
HINGE_JOINT_LIMIT_UPPER = 1 --- La máxima rotación a través de la Hinge.
HINGE_JOINT_LIMIT_LOWER = 2 --- La máxima rotación a través de la Hinge.
HINGE_JOINT_LIMIT_BIAS = 3 --- La velocidad con la que se corrige la rotación a través del eje perpendicular a la bisagra.
HINGE_JOINT_LIMIT_SOFTNESS = 4
HINGE_JOINT_LIMIT_RELAXATION = 5 --- Cuanto más bajo es este valor, más se ralentiza la rotación.
HINGE_JOINT_MOTOR_TARGET_VELOCITY = 6 --- Velocidad objetivo para el motor.
HINGE_JOINT_MOTOR_MAX_IMPULSE = 7 --- Aceleración máxima para el motor.
enum HingeJointFlag:
HINGE_JOINT_FLAG_USE_LIMIT = 0 --- Si
true
, la Hinge tiene una rotación máxima y una mínima.HINGE_JOINT_FLAG_ENABLE_MOTOR = 1 --- Si
true
, un motor hace girar el Hinge.
enum SliderJointParam:
SLIDER_JOINT_LINEAR_LIMIT_UPPER = 0 --- La máxima diferencia entre los puntos de pivote en su eje X antes de que se produzca la amortiguación.
SLIDER_JOINT_LINEAR_LIMIT_LOWER = 1 --- La diferencia mínima entre los puntos de pivote en su eje X antes de que se produzca la amortiguación.
SLIDER_JOINT_LINEAR_LIMIT_SOFTNESS = 2 --- Un factor aplicado al movimiento a través del eje del deslizador una vez que se superan los límites. Cuanto más bajo, más lento es el movimiento.
SLIDER_JOINT_LINEAR_LIMIT_RESTITUTION = 3 --- La cantidad de la restitución una vez que se superen los límites. Cuanto más bajo, más energía de velocidad se pierde.
SLIDER_JOINT_LINEAR_LIMIT_DAMPING = 4 --- La cantidad de amortiguación una vez que se superan los límites del deslizador.
SLIDER_JOINT_LINEAR_MOTION_SOFTNESS = 5 --- Un factor aplicado al movimiento a través del eje del deslizador mientras el deslizador esté en los límites. Cuanto más bajo, más lento es el movimiento.
SLIDER_JOINT_LINEAR_MOTION_RESTITUTION = 6 --- La cantidad de restitución dentro de los límites del deslizador.
SLIDER_JOINT_LINEAR_MOTION_DAMPING = 7 --- La cantidad de amortiguación dentro de los límites del deslizador.
SLIDER_JOINT_LINEAR_ORTHOGONAL_SOFTNESS = 8 --- Un factor aplicado al movimiento a través de ejes ortogonales al deslizador.
SLIDER_JOINT_LINEAR_ORTHOGONAL_RESTITUTION = 9 --- La cantidad de restitución cuando el movimiento es a través de ejes ortogonales al deslizador.
SLIDER_JOINT_LINEAR_ORTHOGONAL_DAMPING = 10 --- La cantidad de amortiguación cuando el movimiento es a través de ejes ortogonales al deslizador.
SLIDER_JOINT_ANGULAR_LIMIT_UPPER = 11 --- El límite superior de rotación en el deslizador.
SLIDER_JOINT_ANGULAR_LIMIT_LOWER = 12 --- El límite inferior de rotación en el deslizador.
SLIDER_JOINT_ANGULAR_LIMIT_SOFTNESS = 13 --- Un factor que se aplica a toda la rotación una vez superado el límite.
SLIDER_JOINT_ANGULAR_LIMIT_RESTITUTION = 14 --- La cantidad de restitución de la rotación cuando se supera el límite.
SLIDER_JOINT_ANGULAR_LIMIT_DAMPING = 15 --- La cantidad de amortiguación de la rotación cuando se supera el límite.
SLIDER_JOINT_ANGULAR_MOTION_SOFTNESS = 16 --- Un factor que se aplica a toda la rotación en los límites.
SLIDER_JOINT_ANGULAR_MOTION_RESTITUTION = 17 --- La cantidad de restitución de la rotación en los límites.
SLIDER_JOINT_ANGULAR_MOTION_DAMPING = 18 --- La cantidad de amortiguación de la rotación en los límites.
SLIDER_JOINT_ANGULAR_ORTHOGONAL_SOFTNESS = 19 --- Un factor que se aplica a toda la rotación a través de ejes ortogonales al deslizador.
SLIDER_JOINT_ANGULAR_ORTHOGONAL_RESTITUTION = 20 --- La cantidad de restitución de la rotación a través de ejes ortogonales al deslizador.
SLIDER_JOINT_ANGULAR_ORTHOGONAL_DAMPING = 21 --- La cantidad de amortiguación de la rotación a través de ejes ortogonales al deslizador.
SLIDER_JOINT_MAX = 22 --- Representa el tamaño del enum SliderJointParam.
enum ConeTwistJointParam:
CONE_TWIST_JOINT_SWING_SPAN = 0 --- Swing is rotation from side to side, around the axis perpendicular to the twist axis.
The swing span defines, how much rotation will not get corrected along the swing axis.
Could be defined as looseness in the ConeTwistJoint.
If below 0.05, this behavior is locked.
CONE_TWIST_JOINT_TWIST_SPAN = 1 --- La torsión es la rotación alrededor del eje de la torsión, este valor definió cuán lejos puede torcerse la articulación.
La torsión se bloquea si está por debajo de 0,05.
CONE_TWIST_JOINT_BIAS = 2 --- La velocidad con la que se producirá la oscilación o la torsión.
Cuanto más alto, más rápido.
CONE_TWIST_JOINT_SOFTNESS = 3 --- The ease with which the Joint twists, if it's too low, it takes more force to twist the joint.
CONE_TWIST_JOINT_RELAXATION = 4 --- Define cuán rápido se sincroniza la diferencia de velocidad de giro en ambos lados.
enum G6DOFJointAxisParam:
G6DOF_JOINT_LINEAR_LOWER_LIMIT = 0 --- La diferencia mínima entre los puntos de pivote de sus ejes.
G6DOF_JOINT_LINEAR_UPPER_LIMIT = 1 --- La diferencia máxima entre los puntos de pivote de sus ejes.
G6DOF_JOINT_LINEAR_LIMIT_SOFTNESS = 2 --- Un factor que se aplica al movimiento a través de los ejes. Cuanto más bajo, más lento es el movimiento.
G6DOF_JOINT_LINEAR_RESTITUTION = 3 --- La cantidad de restitución en el movimiento de los ejes. Cuanto más bajo, más energía de velocidad se pierde.
G6DOF_JOINT_LINEAR_DAMPING = 4 --- La cantidad de amortiguación que ocurre en el movimiento lineal a través de los ejes.
G6DOF_JOINT_LINEAR_MOTOR_TARGET_VELOCITY = 5 --- La velocidad que el motor lineal de la articulación intentará alcanzar.
G6DOF_JOINT_LINEAR_MOTOR_FORCE_LIMIT = 6 --- La máxima fuerza que el motor lineal puede aplicar mientras intenta alcanzar la velocidad objetivo.
G6DOF_JOINT_ANGULAR_LOWER_LIMIT = 10 --- La rotación mínima en dirección negativa para soltarse y girar alrededor de los ejes.
G6DOF_JOINT_ANGULAR_UPPER_LIMIT = 11 --- La rotación mínima en dirección positiva para soltarse y girar alrededor de los ejes.
G6DOF_JOINT_ANGULAR_LIMIT_SOFTNESS = 12 --- Un factor que se multiplica en todas las rotaciones a través de los ejes.
G6DOF_JOINT_ANGULAR_DAMPING = 13 --- La cantidad de amortiguación rotacional a través de los ejes. Cuanto más bajo, más amortiguación se produce.
G6DOF_JOINT_ANGULAR_RESTITUTION = 14 --- La cantidad de amortiguación rotacional a través de los ejes. Cuanto más bajo, más amortiguación se produce.
G6DOF_JOINT_ANGULAR_FORCE_LIMIT = 15 --- La máxima cantidad de fuerza que puede ocurrir, al girar alrededor de los ejes.
G6DOF_JOINT_ANGULAR_ERP = 16 --- Cuando se corrige el cruce de límites en la rotación a través de los ejes, este factor de tolerancia al error define cuánto se ralentiza la corrección. Cuanto más bajo, más lento.
G6DOF_JOINT_ANGULAR_MOTOR_TARGET_VELOCITY = 17 --- La velocidad del objetivo para el motor en los ejes.
G6DOF_JOINT_ANGULAR_MOTOR_FORCE_LIMIT = 18 --- Aceleración máxima para el motor en los ejes.
enum G6DOFJointAxisFlag:
G6DOF_JOINT_FLAG_ENABLE_LINEAR_LIMIT = 0 --- If set, linear motion is possible within the given limits.
G6DOF_JOINT_FLAG_ENABLE_ANGULAR_LIMIT = 1 --- If set, rotational motion is possible.
G6DOF_JOINT_FLAG_ENABLE_MOTOR = 4 --- If set, there is a rotational motor across these axes.
G6DOF_JOINT_FLAG_ENABLE_LINEAR_MOTOR = 5 --- If set, there is a linear motor on this axis that targets a specific velocity.
enum ShapeType:
SHAPE_PLANE = 0 --- The Shape is a PlaneShape.
SHAPE_SPHERE = 2 --- The Shape is a SphereShape.
SHAPE_CAPSULE = 4 --- The Shape is a CapsuleShape.
SHAPE_CYLINDER = 5 --- The Shape is a CylinderShape.
SHAPE_CONVEX_POLYGON = 6 --- The Shape is a ConvexPolygonShape.
SHAPE_CONCAVE_POLYGON = 7 --- The Shape is a ConcavePolygonShape.
SHAPE_HEIGHTMAP = 8 --- The Shape is a HeightMapShape.
SHAPE_CUSTOM = 9 --- Esta constante es utilizada internamente por el motor. Cualquier intento de crear este tipo de forma resulta en un error.
enum AreaParameter:
AREA_PARAM_GRAVITY = 0 --- Constante para fijar/obtener la fuerza de gravedad en un área.
AREA_PARAM_GRAVITY_VECTOR = 1 --- Constante para fijar/obtener el vector/centro de gravedad en un área.
AREA_PARAM_GRAVITY_IS_POINT = 2 --- Constante para establecer/obtener si el vector de gravedad de un área es una dirección, o un punto central.
AREA_PARAM_GRAVITY_DISTANCE_SCALE = 3 --- Constante para fijar/obtener el factor de caída para el punto de gravedad de un área. Cuanto mayor es este valor, más rápido disminuye la fuerza de gravedad con el cuadrado de la distancia.
AREA_PARAM_GRAVITY_POINT_ATTENUATION = 4 --- Esta constante se usó para fijar/obtener el factor de caída para la gravedad puntual. Ha sido reemplazada por AREA_PARAM_GRAVITY_DISTANCE_SCALE.
AREA_PARAM_LINEAR_DAMP = 5 --- Constante para fijar/obtener el factor de amortiguación lineal de un área.
AREA_PARAM_ANGULAR_DAMP = 6 --- Constante para fijar/obtener el factor de amortiguación angular de un área.
AREA_PARAM_PRIORITY = 7 --- Constante para establecer/obtener la prioridad (orden de procesamiento) de un área.
enum AreaSpaceOverrideMode:
AREA_SPACE_OVERRIDE_DISABLED = 0 --- Esta zona no afecta a la gravedad/humedad. Estas son generalmente áreas que existen sólo para detectar colisiones, y objetos que entran o salen de ellas.
AREA_SPACE_OVERRIDE_COMBINE = 1 --- Esta área añade sus valores de gravedad/humedad a lo que se ha calculado hasta ahora. De esta manera, muchas áreas superpuestas pueden combinar su física para hacer efectos interesantes.
AREA_SPACE_OVERRIDE_COMBINE_REPLACE = 2 --- Esta área añade sus valores de gravedad/amortiguación a lo que se ha calculado hasta ahora. Luego deja de tener en cuenta el resto de las áreas, incluso la predeterminada.
AREA_SPACE_OVERRIDE_REPLACE = 3 --- Esta área reemplaza cualquier gravedad/amortiguación, incluso la predeterminada, y deja de tener en cuenta el resto de las áreas.
AREA_SPACE_OVERRIDE_REPLACE_COMBINE = 4 --- Esta área reemplaza cualquier gravedad/amortiguación calculada hasta ahora, pero sigue calculando el resto de las áreas, hasta la predeterminada.
enum BodyMode:
BODY_MODE_STATIC = 0 --- Constante para los cuerpos estáticos.
BODY_MODE_KINEMATIC = 1 --- Constante para los cuerpos cinemáticos.
BODY_MODE_RIGID = 2 --- Constante para cuerpos rígidos.
BODY_MODE_CHARACTER = 3 --- Constante para cuerpos rígidos en modo personaje. En este modo, un cuerpo no puede rotar, y sólo su velocidad lineal se ve afectada por la física.
enum BodyParameter:
BODY_PARAM_BOUNCE = 0 --- Constante para fijar/obtener el factor de rebote de un cuerpo.
BODY_PARAM_FRICTION = 1 --- Constante para fijar/obtener la fricción de un cuerpo.
BODY_PARAM_MASS = 2 --- Constante para fijar/obtener la masa de un cuerpo.
BODY_PARAM_GRAVITY_SCALE = 3 --- Constante para fijar/obtener el multiplicador de gravedad de un cuerpo.
BODY_PARAM_LINEAR_DAMP = 4 --- Constante para fijar/obtener el factor de amortiguación lineal de un cuerpo.
BODY_PARAM_ANGULAR_DAMP = 5 --- Constante para fijar/obtener el factor de amortiguación angular de un cuerpo.
BODY_PARAM_MAX = 6 --- Representa el tamaño del enum BodyParameter.
enum BodyState:
BODY_STATE_TRANSFORM = 0 --- Constante para fijar/obtener la matriz de transformación de la corriente del cuerpo.
BODY_STATE_LINEAR_VELOCITY = 1 --- Constante para fijar/obtener la actual velocidad lineal del cuerpo.
BODY_STATE_ANGULAR_VELOCITY = 2 --- Constante para fijar/obtener la actual velocidad angular del cuerpo.
BODY_STATE_SLEEPING = 3 --- Constante para dormir/despertar un cuerpo, o para saber si está durmiendo.
BODY_STATE_CAN_SLEEP = 4 --- Constante para establecer/obtener si el cuerpo puede dormir.
enum AreaBodyStatus:
AREA_BODY_ADDED = 0 --- El valor del primer parámetro y la función de retrollamada de área recibe, cuando un objeto entra en una de sus formas.
AREA_BODY_REMOVED = 1 --- El valor del primer parámetro y la función de llamada de área recibe, cuando un objeto sale de una de sus formas.
enum ProcessInfo:
INFO_ACTIVE_OBJECTS = 0 --- Constante para obtener el número de objetos que no están durmiendo.
INFO_COLLISION_PAIRS = 1 --- Constante para obtener el número de posibles colisiones.
INFO_ISLAND_COUNT = 2 --- Constante para obtener el número de regiones espaciales donde podría ocurrir una colisión.
enum SpaceParameter:
SPACE_PARAM_CONTACT_RECYCLE_RADIUS = 0 --- Constante para fijar/obtener la máxima distancia que un par de cuerpos tiene que moverse antes de que su estado de colisión tenga que ser recalculado.
SPACE_PARAM_CONTACT_MAX_SEPARATION = 1 --- Constante para fijar/obtener la máxima distancia que una forma puede ser de otra antes de que se consideren separadas.
SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION = 2 --- Constante para fijar/obtener la máxima distancia que una forma puede penetrar en otra forma antes de que se considere una colisión.
SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD = 3 --- Constante para fijar/obtener el umbral de velocidad lineal de actividad. Un cuerpo marcado como potencialmente inactivo tanto para la velocidad lineal como para la angular será puesto a dormir después del tiempo dado.
SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD = 4 --- Constante para fijar/obtener el umbral de velocidad angular de actividad. Un cuerpo marcado como potencialmente inactivo tanto para la velocidad lineal como para la angular será puesto a dormir después del tiempo dado.
SPACE_PARAM_BODY_TIME_TO_SLEEP = 5 --- Constante para fijar/obtener el tiempo máximo de actividad. Un cuerpo marcado como potencialmente inactivo tanto para la velocidad lineal como para la angular será puesto a dormir después de este tiempo.
SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO = 6
SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS = 7 --- Constante para establecer/obtener el sesgo del solucionador por defecto para todas las restricciones de la física. Un sesgo del solucionador es un factor que controla cuánto "rebotan" dos objetos, después de violar una restricción, para evitar dejarlos en ese estado debido a la imprecisión numérica.
enum BodyAxis:
BODY_AXIS_LINEAR_X = 1
BODY_AXIS_LINEAR_Y = 2
BODY_AXIS_LINEAR_Z = 4
BODY_AXIS_ANGULAR_X = 8
BODY_AXIS_ANGULAR_Y = 16
BODY_AXIS_ANGULAR_Z = 32
Descripciones de Métodos¶
void area_add_shape ( RID area, RID shape, Transform transform=Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), bool disabled=false )
Añade una forma a la zona, junto con una matriz de transformación. Las formas suelen estar referenciadas por su índice, por lo que se debe rastrear qué forma tiene un índice determinado.
Asigna el área a un descendiente de Object, para que pueda existir en el árbol de nodos.
void area_clear_shapes ( RID area )
Elimina todas las formas de un área. No elimina las formas, por lo que pueden ser reasignadas más tarde.
RID area_create ( )
Creates an Area.
Obtiene el ID de la instancia del objeto al que está asignada el área.
Variant area_get_param ( RID area, AreaParameter param ) const
Devuelve un valor de parámetro de área. Una lista de los parámetros disponibles se encuentra en las constantes AreaParameter.
Devuelve el RID de la forma enésima de un área.
Devuelve el número de formas asignadas a un área.
Devuelve la matriz de transformación de una forma dentro de un área.
Devuelve el espacio asignado a la zona.
AreaSpaceOverrideMode area_get_space_override_mode ( RID area ) const
Devuelve el modo de anulación de espacio para el área.
Devuelve la matriz de transformación de un área.
Si true
, el área colisiona con los rayos.
Elimina una forma de un área. No borra la forma, por lo que puede ser reasignada más tarde.
Asigna el área a una o varias capas de la física.
Establece qué capas de la física monitoreará el área.
Establece la función de llamar cuando cualquier cuerpo/área entra o sale del área. Esta llamada será llamada para cualquier objeto que interactúe con el área, y toma cinco parámetros:
1: AREA_BODY_ADDED o AREA_BODY_REMOVED, dependiendo de si el objeto entró o salió del área.
2: RID del objeto que entró/salió del área.
3: ID del objeto que entró/salió del área.
4: El índice de forma del objeto que entró/salió del área.
5: El índice de forma del área donde el objeto entró/salió del área.
void area_set_param ( RID area, AreaParameter param, Variant value )
Establece el valor de un parámetro de área. Una lista de los parámetros disponibles se encuentra en las constantes AreaParameter.
Establece un objeto que se puede recoger con los rayos.
Sustituye una forma de área dada por otra. La forma antigua es seleccionada por su índice, la nueva por su RID.
Establece la matriz de transformación para la forma de un área.
Asigna un espacio a la zona.
void area_set_space_override_mode ( RID area, AreaSpaceOverrideMode mode )
Establece el modo de anulación de espacio para el área. Los modos se describen en las constantes AreaSpaceOverrideMode.
Establece la matriz de transformación para un área.
Añade un cuerpo a la lista de cuerpos exentos de colisiones.
void body_add_shape ( RID body, RID shape, Transform transform=Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), bool disabled=false )
Añade una forma al cuerpo, junto con una matriz de transformación. Las formas suelen estar referenciadas por su índice, así que debes rastrear qué forma tiene un índice determinado.
Da al cuerpo un empujón en una position
en la dirección del impulse
.
Le da al cuerpo un empujón para rotarlo.
Asigna el área a un descendiente de Object, para que pueda existir en el árbol de nodos.
void body_clear_shapes ( RID body )
Elimina todas las formas de un cuerpo.
Crea un cuerpo físico. El primer parámetro puede ser cualquier valor de las constantes de BodyMode, para el tipo de cuerpo creado. Además, el cuerpo puede ser creado en estado de sueño para ahorrar tiempo de procesamiento.
Devuelve la capa o capas físicas a las que pertenece un cuerpo.
Devuelve la capa física o las capas con las que un cuerpo puede colisionar.
PhysicsDirectBodyState body_get_direct_state ( RID body )
Returns the PhysicsDirectBodyState of the body. Returns null
if the body is destroyed or removed from the physics space.
Devuelve el máximo de contactos que se pueden reportar. Ver body_set_max_contacts_reported.
Devuelve el modo de cuerpo.
Obtiene el ID de la instancia del objeto al que está asignada el área.
float body_get_param ( RID body, BodyParameter param ) const
Devuelve el valor de un parámetro corporal. Una lista de parámetros disponibles se encuentra en las constantes BodyParameter.
Devuelve el RID de la enésima forma de un cuerpo.
Devuelve el número de formas asignadas a un cuerpo.
Devuelve la matriz de transformación de una forma corporal.
Devuelve el RID del espacio asignado a un cuerpo.
Devuelve un estado corporal.
Si true
, se activa el modo de detección de colisión continua.
Devuelve si un cuerpo utiliza una función de retrollamada para calcular su propia física (ver body_set_force_integration_callback).
Si true
, el cuerpo puede ser detectado por los rayos.
Elimina un cuerpo de la lista de cuerpos exentos de colisiones.
La detección continua de colisiones intenta predecir dónde colisionará un cuerpo en movimiento, en lugar de moverlo y corregir su movimiento si colisionara.
Quita una forma de un cuerpo. La forma no se borra, por lo que puede ser reutilizada después.
Establece una velocidad del eje. La velocidad en el eje vectorial dado se fijará como la longitud del vector dado. Esto es útil para el comportamiento de salto.
Establece la capa o capas físicas a las que pertenece un cuerpo.
Establece la capa física o las capas con las que un cuerpo puede colisionar.
Si true
, se activa el modo de detección de colisión continua.
La detección de colisión continua trata de predecir dónde colisionará un cuerpo en movimiento, en lugar de moverlo y corregir su movimiento si colisionara.
void body_set_force_integration_callback ( RID body, Object receiver, String method, Variant userdata=null )
Establece la función utilizada para calcular la física de un objeto, si ese objeto lo permite (véase body_set_omit_force_integration).
Establece los contactos máximos a reportar. Los organismos pueden mantener un registro de los contactos con otros organismos, esto se habilita estableciendo la cantidad máxima de contactos reportados a un número mayor que 0.
Establece el modo del cuerpo, a partir de una de las constantes de BodyMode.
Establece si un cuerpo utiliza una función de llamada de retorno para calcular su propia física (ver body_set_force_integration_callback).
void body_set_param ( RID body, BodyParameter param, float value )
Establece un parámetro corporal. Una lista de parámetros disponibles se encuentra en las constantes BodyParameter.
Establece que el cuerpo puede ser elegido con rayos si se establece el enabled
.
Sustituye una forma corporal dada por otra. La forma antigua es seleccionada por su índice, la nueva por su RID.
Establece la matriz de transformación para una forma corporal.
Asigna un espacio al cuerpo (ver space_create).
Obtiene un parámetro cone_twist_joint (ver las constantes ConeTwistJointParam).
bool body_test_motion ( RID body, Transform from, Vector3 motion, bool infinite_inertia, PhysicsTestMotionResult result=null, bool exclude_raycast_shapes=true, Array exclude=[ ] )
Returns true
if a collision would result from moving in the given direction from a given point in space. PhysicsTestMotionResult can be passed to return additional information in.
float cone_twist_joint_get_param ( RID joint, ConeTwistJointParam param ) const
Obtiene un parámetro cone_twist_joint (ver las constantes ConeTwistJointParam).
void cone_twist_joint_set_param ( RID joint, ConeTwistJointParam param, float value )
Establece un parámetro cone_twist_joint (ver las constantes ConeTwistJointParam).
void free_rid ( RID rid )
Destroys any of the objects created by PhysicsServer. If the RID passed is not one of the objects that can be created by PhysicsServer, an error will be sent to the console.
bool generic_6dof_joint_get_flag ( RID joint, Vector3.Axis axis, G6DOFJointAxisFlag flag )
Obtiene una flag generic_6_DOF_joint (véase las constantes G6DOFJointAxisFlag).
float generic_6dof_joint_get_param ( RID joint, Vector3.Axis axis, G6DOFJointAxisParam param )
Obtiene un parámetro generic_6_DOF_joint (véase las constantes G6DOFJointAxisParam).
void generic_6dof_joint_set_flag ( RID joint, Vector3.Axis axis, G6DOFJointAxisFlag flag, bool enable )
Establece una flag generic (véase las constantes G6DOFJointAxisFlag).
void generic_6dof_joint_set_param ( RID joint, Vector3.Axis axis, G6DOFJointAxisParam param, float value )
Establece un parámetro generic_6_DOF_joint (véase las constantes G6DOFJointAxisParam).
int get_process_info ( ProcessInfo process_info )
Devuelve una información definida por la entrada ProcessInfo dada.
bool hinge_joint_get_flag ( RID joint, HingeJointFlag flag ) const
Obtiene una flag de hinge_joint (ver constantes de HingeJointFlag).
float hinge_joint_get_param ( RID joint, HingeJointParam param ) const
Obtiene un parámetro de hinge_joint (ver HingeJointParam).
void hinge_joint_set_flag ( RID joint, HingeJointFlag flag, bool enabled )
Establece una flag de hinge_joint (ver las constantes de HingeJointFlag).
void hinge_joint_set_param ( RID joint, HingeJointParam param, float value )
Establece un parámetro de hinge_joint (ver las constantes HingeJointParam).
RID joint_create_cone_twist ( RID body_A, Transform local_ref_A, RID body_B, Transform local_ref_B )
Creates a ConeTwistJoint.
RID joint_create_generic_6dof ( RID body_A, Transform local_ref_A, RID body_B, Transform local_ref_B )
Creates a Generic6DOFJoint.
Creates a HingeJoint.
Creates a PinJoint.
Creates a SliderJoint.
Gets the priority value of the Joint.
Returns the type of the Joint.
Sets the priority value of the Joint.
Devuelve la posición de la articulación en el espacio local del cuerpo a de la articulación.
Devuelve la posición de la articulación en el espacio local del cuerpo b de la articulación.
float pin_joint_get_param ( RID joint, PinJointParam param ) const
Obtiene un parámetro pin_joint (ver las constantes PinJointParam).
Establece la posición de la articulación en el espacio local del cuerpo a de la articulación.
Establece la posición de la articulación en el espacio local del cuerpo b de la articulación.
void pin_joint_set_param ( RID joint, PinJointParam param, float value )
Establece un parámetro pin_joint (ver las constantes PinJointParam).
void set_active ( bool active )
Activa o desactiva el motor de física 3D.
void set_collision_iterations ( int iterations )
Sets the amount of iterations for calculating velocities of colliding bodies. The greater the amount of iterations, the more accurate the collisions will be. However, a greater amount of iterations requires more CPU power, which can decrease performance. The default value is 8
.
Note: Only has an effect when using the GodotPhysics engine, not the default Bullet physics engine.
Crea una forma de un tipo de ShapeType. No la asigna a un cuerpo o a un área. Para ello, debes usar area_set_shape o body_set_shape.
Devuelve los datos de la forma.
Devuelve el tipo de forma (ver las constantes ShapeType).
Establece los datos de forma que definen su forma y tamaño. Los datos que se pasarán dependen del tipo de forma creada shape_get_type.
float slider_joint_get_param ( RID joint, SliderJointParam param ) const
Obtiene un parámetro slider_joint (ver las constantes SliderJointParam).
void slider_joint_set_param ( RID joint, SliderJointParam param, float value )
Obtiene un parámetro slider_joint (ver las constantes SliderJointParam).
RID space_create ( )
Crea un espacio. Un espacio es una colección de parámetros para el motor de la física que puede ser asignado a un área o a un cuerpo. Puede ser asignado a un área con area_set_space, o a un cuerpo con body_set_space.
PhysicsDirectSpaceState space_get_direct_state ( RID space )
Returns the state of a space, a PhysicsDirectSpaceState. This object can be used to make collision/intersection queries.
float space_get_param ( RID space, SpaceParameter param ) const
Devuelve el valor de un parámetro espacial.
Devuelve si el espacio está activo.
Marca un espacio como activo. No tendrá efecto, a menos que se asigne a un área o cuerpo.
void space_set_param ( RID space, SpaceParameter param, float value )
Establece el valor de un parámetro espacial. Una lista de los parámetros disponibles se encuentra en las constantes SpaceParameter.