PhysicsServer
Inherits: Object
用于低级物理访问的服务器接口。
描述
PhysicsServer是负责所有3D物理的服务。它可以创建许多种类的物理对象,但不会在节点树上插入这些对象。
方法
枚举
enum JointType:
JOINT_HINGE = 1 —- 该 Joint 是 HingeJoint。
JOINT_SLIDER = 2 —- 该 Joint 是 SliderJoint。
JOINT_CONE_TWIST = 3 —- 该 Joint 是 ConeTwistJoint。
JOINT_6DOF = 4 —- 该 Joint 是 Generic6DOFJoint。
enum PinJointParam:
- PIN_JOINT_BIAS = 0 —- 固定对象试图保持彼此位置关系的力度。
越高越强。
- PIN_JOINT_DAMPING = 1 —- 被固定的物体试图保持彼此速度关系的力度。
越高越强。
- PIN_JOINT_IMPULSE_CLAMP = 2 —- 如果大于0,这个值就是这个关节对其两端施加的冲量的最大值。
enum HingeJointParam:
HINGE_JOINT_BIAS = 0 —- 两个物体向不同方向移动时被拉回到一起的速度。
HINGE_JOINT_LIMIT_UPPER = 1 —- 铰链上的最大旋转。
HINGE_JOINT_LIMIT_LOWER = 2 —- 穿过铰链的最小旋转。
HINGE_JOINT_LIMIT_BIAS = 3 —- 垂直于铰链的轴线上的旋转得到纠正的速度。
HINGE_JOINT_LIMIT_SOFTNESS = 4
HINGE_JOINT_LIMIT_RELAXATION = 5 —- 该值越低,旋转速度越慢。
HINGE_JOINT_MOTOR_TARGET_VELOCITY = 6 —- 目标马达的目标速度。
HINGE_JOINT_MOTOR_MAX_IMPULSE = 7 —- 马达的最大加速度。
enum HingeJointFlag:
HINGE_JOINT_FLAG_USE_LIMIT = 0 —- 如果
true
,铰链具有最大和最小旋转。HINGE_JOINT_FLAG_ENABLE_MOTOR = 1 —- 如果
true
,电机将转动铰链。
enum SliderJointParam:
SLIDER_JOINT_LINEAR_LIMIT_UPPER = 0 —- 阻尼发生前X轴上枢轴点之间的最大差异。
SLIDER_JOINT_LINEAR_LIMIT_LOWER = 1 —- 阻尼发生前X轴上枢轴点之间的最小差异。
SLIDER_JOINT_LINEAR_LIMIT_SOFTNESS = 2 —- 一旦超过极限,应用于滑块轴上移动的系数。越低,运动越慢。
SLIDER_JOINT_LINEAR_LIMIT_RESTITUTION = 3 —- 超过极限后的补偿。越低,动能损失越多。
SLIDER_JOINT_LINEAR_LIMIT_DAMPING = 4 —- 一旦超过滑块的极限,阻尼的数量。
SLIDER_JOINT_LINEAR_MOTION_SOFTNESS = 5 —- 只要滑块在限制范围内,就应用于滑块轴上移动的系数。越低,运动越慢。
SLIDER_JOINT_LINEAR_MOTION_RESTITUTION = 6 —- 滑块限制内的恢复量。
SLIDER_JOINT_LINEAR_MOTION_DAMPING = 7 —- 滑块内部的阻尼量受到限制。
SLIDER_JOINT_LINEAR_ORTHOGONAL_SOFTNESS = 8 —- 应用于在垂直于滑块的轴上移动的系数。
SLIDER_JOINT_LINEAR_ORTHOGONAL_RESTITUTION = 9 —- 当移动穿过垂直于滑块的轴时的恢复量。
SLIDER_JOINT_LINEAR_ORTHOGONAL_DAMPING = 10 —- 当移动穿过垂直于滑块的轴时的阻尼量。
SLIDER_JOINT_ANGULAR_LIMIT_UPPER = 11 —- 滑块旋转的上限。
SLIDER_JOINT_ANGULAR_LIMIT_LOWER = 12 —- 滑块旋转的下限。
SLIDER_JOINT_ANGULAR_LIMIT_SOFTNESS = 13 —- 一旦超过极限,应用于所有旋转的系数。
SLIDER_JOINT_ANGULAR_LIMIT_RESTITUTION = 14 —- 超过限制时旋转的恢复量。
SLIDER_JOINT_ANGULAR_LIMIT_DAMPING = 15 —- 超过极限时旋转的阻尼量。
SLIDER_JOINT_ANGULAR_MOTION_SOFTNESS = 16 —- 应用于所有极限旋转的因子。
SLIDER_JOINT_ANGULAR_MOTION_RESTITUTION = 17 —- 极限内旋转的恢复量。
SLIDER_JOINT_ANGULAR_MOTION_DAMPING = 18 —- 极限内旋转的阻尼量。
SLIDER_JOINT_ANGULAR_ORTHOGONAL_SOFTNESS = 19 —- 应用于垂直于滑块的轴上的所有旋转的因子。
SLIDER_JOINT_ANGULAR_ORTHOGONAL_RESTITUTION = 20 —- 垂直于滑块的轴上的旋转恢复量。
SLIDER_JOINT_ANGULAR_ORTHOGONAL_DAMPING = 21 —- 垂直于滑块的轴上的旋转阻尼量。
SLIDER_JOINT_MAX = 22 —- 表示SliderJointParam枚举的大小。
enum ConeTwistJointParam:
- CONE_TWIST_JOINT_SWING_SPAN = 0 —- 摆动是围绕垂直于扭转轴的轴线从一边到另一边的旋转。
摆动跨度定义了,多少旋转不会沿着摆动轴得到纠正。
可以定义ConeTwistJoint的松动性。
如果低于0.05,此行为被锁定。
- CONE_TWIST_JOINT_TWIST_SPAN = 1 —- 扭曲是绕扭曲轴的旋转,此值定义了关节可以扭曲多远。
如果低于0.05,则扭曲被锁定。
- CONE_TWIST_JOINT_BIAS = 2 —- 摆动或扭转的速度。
越高,速度越快。
CONE_TWIST_JOINT_SOFTNESS = 3 —- 关节扭曲的难易程度,如果它太低,则需要更多的力量来扭曲关节。
CONE_TWIST_JOINT_RELAXATION = 4 —- 定义两侧的摆动速度和扭转速度差异同步的速度。
enum G6DOFJointAxisParam:
G6DOF_JOINT_LINEAR_LOWER_LIMIT = 0 —- 枢轴点之间的最小差异。
G6DOF_JOINT_LINEAR_UPPER_LIMIT = 1 —- 枢轴点的轴之间的最大差异。
G6DOF_JOINT_LINEAR_LIMIT_SOFTNESS = 2 —- 应用于跨轴移动的因子。越低,运动越慢。
G6DOF_JOINT_LINEAR_RESTITUTION = 3 —- 轴运动的恢复量。速度越低,能量损失越多。
G6DOF_JOINT_LINEAR_DAMPING = 4 —- 发生在跨轴线性运动的阻尼量。
G6DOF_JOINT_LINEAR_MOTOR_TARGET_VELOCITY = 5 —- 关节的线性马达试图达到的速度。
G6DOF_JOINT_LINEAR_MOTOR_FORCE_LIMIT = 6 —- 线性马达在试图达到目标速度时可以施加的最大力。
G6DOF_JOINT_ANGULAR_LOWER_LIMIT = 10 —- 负方向的最小旋转,以脱离和绕轴旋转。
G6DOF_JOINT_ANGULAR_UPPER_LIMIT = 11 —- 正方向的最小旋转,以挣脱和绕轴旋转。
G6DOF_JOINT_ANGULAR_LIMIT_SOFTNESS = 12 —- 一个乘以所有轴旋转的因子。
G6DOF_JOINT_ANGULAR_DAMPING = 13 —- 跨越Z轴的旋转阻尼量。值越低,发生的阻尼就越多。
G6DOF_JOINT_ANGULAR_RESTITUTION = 14 —- 在各轴上的旋转恢复量。值越低,发生的恢复量越大。
G6DOF_JOINT_ANGULAR_FORCE_LIMIT = 15 —- 围绕Z轴旋转时,可能发生的最大力。
G6DOF_JOINT_ANGULAR_ERP = 16 —- 当校正轴旋转中的极限交叉时,该误差容限因子定义了校正的减慢程度。越低越慢。
G6DOF_JOINT_ANGULAR_MOTOR_TARGET_VELOCITY = 17 —- 轴上电机的目标速度。
G6DOF_JOINT_ANGULAR_MOTOR_FORCE_LIMIT = 18 —- 马达在轴上的最大加速度。
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 —- 该Shape 是 PlaneShape。
SHAPE_SPHERE = 2 —- 该 Shape 是 SphereShape。
SHAPE_CAPSULE = 4 —- 该 Shape 是 CapsuleShape。
SHAPE_CYLINDER = 5 —- 该 Shape 是 CylinderShape。
SHAPE_CONVEX_POLYGON = 6 —- 该 Shape 是 ConvexPolygonShape。
SHAPE_CONCAVE_POLYGON = 7 —- 该 Shape 是 ConcavePolygonShape。
SHAPE_HEIGHTMAP = 8 —- 该 Shape 是 HeightMapShape。
SHAPE_CUSTOM = 9 —- 这个常数是由引擎内部使用的。任何试图创建这种形状的行为都会导致错误。
enum AreaParameter:
AREA_PARAM_GRAVITY = 0 —- 在一个地区设置/获得重力强度的常数。
AREA_PARAM_GRAVITY_VECTOR = 1 —- 在一个区域内设置/获取重力向量/中心的常数。
AREA_PARAM_GRAVITY_IS_POINT = 2 —- 常数用于设置/获取一个区域的重力向量是一个方向,还是一个中心点。
AREA_PARAM_GRAVITY_DISTANCE_SCALE = 3 —- 常数,用于设置/获取一个区域的点重力的衰减系数。这个值越大,重力的强度随着距离的平方下降得越快。
AREA_PARAM_GRAVITY_POINT_ATTENUATION = 4 —- 这个常数用于设置/获取点重力的衰减因子。它已经被AREA_PARAM_GRAVITY_DISTANCE_SCALE所取代了。
AREA_PARAM_LINEAR_DAMP = 5 —- 常数,用于设置/获取一个区域的线性阻尼系数。
AREA_PARAM_ANGULAR_DAMP = 6 —- 常数,用于设置/获取一个区域的角度阻尼系数。
AREA_PARAM_PRIORITY = 7 —- 常数,用于设置/获取一个区域的优先级(处理顺序)。
enum AreaSpaceOverrideMode:
AREA_SPACE_OVERRIDE_DISABLED = 0 —- 这个区域不影响重力/阻尼。这些一般都是只存在于检测碰撞的区域,以及进入或离开它们的物体。
AREA_SPACE_OVERRIDE_COMBINE = 1 —- 此区域把它的重力/阻尼加到目前已经计算过的对象上。这样一来,许多重叠的区域可以结合它们的物理运算来产生有趣的效果。
AREA_SPACE_OVERRIDE_COMBINE_REPLACE = 2 —- 这个区域把它的重力/阻尼加到迄今为止已经计算出来的任何东西上。然后停止考虑其余的区域,甚至默认的区域。
AREA_SPACE_OVERRIDE_REPLACE = 3 —- 这个区域取代了任何重力/阻尼,甚至是默认的,并停止考虑其余的区域。
AREA_SPACE_OVERRIDE_REPLACE_COMBINE = 4 —- 这个区域取代了到目前为止计算的任何重力/阻尼,但继续计算其余的区域,直到默认的区域。
enum BodyMode:
BODY_MODE_STATIC = 0 —- StaticBody 的常量。
BODY_MODE_KINEMATIC = 1 —- KinematicBody 的常数。
BODY_MODE_RIGID = 2 —- RigidBody 的常数。
BODY_MODE_CHARACTER = 3 —- 角色模式下刚体的常数。在这种模式下,物体不能旋转,只有它的线速度受物理运算影响。
enum BodyParameter:
BODY_PARAM_BOUNCE = 0 —- 常数,用于设置/获取物体的反弹系数。
BODY_PARAM_FRICTION = 1 —- 常数,用于设置/获取一个物体的摩擦力。
BODY_PARAM_MASS = 2 —- 设置/获取一个物体的质量的常数。
BODY_PARAM_GRAVITY_SCALE = 3 —- 常数,用于设置/获取一个物体的重力倍数。
BODY_PARAM_LINEAR_DAMP = 4 —- 常数,用于设置/获取一个物体的线性阻尼系数。
BODY_PARAM_ANGULAR_DAMP = 5 —- 常数,用于设置/获取一个物体的角度阻尼系数。
BODY_PARAM_MAX = 6 —- 表示BodyParameter枚举的大小。
enum BodyState:
BODY_STATE_TRANSFORM = 0 —- 常数,用于设置/获取物体的当前变换矩阵。
BODY_STATE_LINEAR_VELOCITY = 1 —- 常数,用于设置/获取物体的当前线速度。
BODY_STATE_ANGULAR_VELOCITY = 2 —- 常数,用于设置/获取物体的当前角速度。
BODY_STATE_SLEEPING = 3 —- 常数,用于使物体沉睡/唤醒,或得到它是否在沉睡。
BODY_STATE_CAN_SLEEP = 4 —- 常量,用于设置/获取物体是否可以休眠。
enum AreaBodyStatus:
AREA_BODY_ADDED = 0 —- 当对象进入其形状之一时,第一个参数和区域回调函数接收的值。
AREA_BODY_REMOVED = 1 —- 当对象退出其形状之一时,第一个参数和区域回调函数接收的值。
enum ProcessInfo:
INFO_ACTIVE_OBJECTS = 0 —- 常量,用来获取未处于睡眠状态的对象的数量。
INFO_COLLISION_PAIRS = 1 —- 常数,用以获取可能的碰撞数。
INFO_ISLAND_COUNT = 2 —- 常量,用以获取可能发生碰撞的空间区域数。
enum SpaceParameter:
SPACE_PARAM_CONTACT_RECYCLE_RADIUS = 0 —- 常数,用于设置/获取一对物体在其碰撞状态被重新计算之前的最大移动距离。
SPACE_PARAM_CONTACT_MAX_SEPARATION = 1 —- 常数,用于设置/获取形状在被视为分离之前与另一形状之间的最大距离。
SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION = 2 —- 常数,用来设置/得到一个形状在被认为碰撞之前穿透另一个形状的最大距离。
SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD = 3 —- 常数,用于设置/获取活跃的阈值线速度。一个被标记为线性速度和角速度都可能不活跃的物体将在给定的时间后进入睡眠状态。
SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD = 4 —- 常数,用于设置/获取活动的阈值角速度。一个被标记为线性和角速度都可能不活跃的物体,在给定的时间后将会进入睡眠状态。
SPACE_PARAM_BODY_TIME_TO_SLEEP = 5 —- 常数来设置/获得最大的活动时间。一个被标记为线速度和角速度都可能不活动的物体,在这个时间之后将被置入睡眠状态。
SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO = 6
SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS = 7 —- 常数,用于设置/获取所有物理约束的默认求解器偏置。解算器偏差是一个控制两个物体在违反约束后 “反弹 “程度的因素,以避免由于数值不精确而使它们处于这种状态。
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
方法说明
- 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 )
向区域添加一个形状,以及一个变换矩阵。形状通常通过它们的索引来引用,因此您应该跟踪哪个形状具有给定的索引。
将区域分配给Object的子类,因此它可以存在于节点树中。
- void area_clear_shapes ( RID area )
从一个区域移除所有形状。它不会删除形状,因此它们可以稍后重新分配。
- RID area_create ( )
创建一个Area区域。
获取区域分配给的对象的实例ID。
- Variant area_get_param ( RID area, AreaParameter param ) const
返回区域参数值。可用参数列表位于AreaParameter常量上。
返回区域的第n个形状的RID。
返回分配给区域的形状数量。
返回区域内形状的变换矩阵。
返回分配给该区域的空间。
- AreaSpaceOverrideMode area_get_space_override_mode ( RID area ) const
返回该区域的空间覆盖模式。
返回区域的变换矩阵。
如果true
,则区域与光线碰撞。
从区域中移除一个形状。它不会删除形状,因此可以稍后重新分配。
将区域分配给一个或多个物理层。
设置区域将监控的物理层。
设置当任何主体/区域进入或退出该区域时调用的函数。这个回调函数将被任何与区域交互的对象调用,并接受5个参数:
1: AREA_BODY_ADDED或AREA_BODY_REMOVED,取决于对象是否进入或退出该区域。
2:进入/退出该区域对象的RID。
3:进入/退出该区域对象的实例ID。
4:进入/离开该区域的物体的形状指数。
5:物体进入/离开区域的形状指数。
- void area_set_param ( RID area, AreaParameter param, Variant value )
设置面积参数的值。可用参数列表位于AreaParameter常量上。
设置可使用光线拾取的对象。
用另一种形状代替一种形状。旧的形状由它的索引选择,新的形状由它的RID选择。
设置区域形状的变换矩阵。
为该区域指定一个空间。
- void area_set_space_override_mode ( RID area, AreaSpaceOverrideMode mode )
设置区域的空间替代模式。AreaSpaceOverrideMode常量中描述了这些模式。
设置区域的变换矩阵。
将一个物体添加到免于碰撞的物体列表中。
- 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 )
添加一个形状到物体,以及一个变换矩阵。形状通常通过它们的索引来引用,因此您应该跟踪哪个形状具有给定的索引。
在position
impulse冲量方向推动物体
。
推动物体旋转。
将区域分配给Object的子类,因此它可以存在于节点树中。
- void body_clear_shapes ( RID body )
从物体上移除所有碰撞形状。
创建物理体。对于创建的物体类型,第一个参数可以是BodyMode常量中的任何值。此外,物体可以在休眠状态下创建,以节省处理时间。
返回物体所属的物理层或层。
返回物体可以碰撞的物理层或层。
- PhysicsDirectBodyState body_get_direct_state ( RID body )
返回该物体的 PhysicsDirectBodyState。如果物体已被销毁或已被移出物理空间,则返回 null
。
返回可报告的最大接触数。参阅body_set_max_contacts_reported。
返回物体模式。
获取区域分配给的对象的实例ID。
- float body_get_param ( RID body, BodyParameter param ) const
返回物体参数的值。可用参数列表位于BodyParameter常量上。
返回body的第n个碰撞形状的RID。
返回分配给物体的碰撞形状数量。
返回物体碰撞形状的变换矩阵。
返回分配给物体的空间的RID。
返回物体的状态。
如果true
,则启用连续碰撞检测模式。
返回一个body是否使用回调函数来计算它自己的物理值(参阅body_set_force_integration_callback方法)。
如果true
,物体可以被光线探测到。
从免于碰撞的实体列表中删除实体。
连续碰撞检测尝试预测运动物体碰撞的位置,而不是在碰撞时移动物体并纠正其运动。
从物体上移除一个碰撞形状。碰撞形状不会被从内存中删除,所以它可以在之后被重复使用。
设置轴速度。给定向量轴上的速度将被设置为给定向量长度。这对跳跃行为很有用。
设置物体所属的物理层或层。
设置物理层或身体可以碰撞的层。
如果true
,则启用连续碰撞检测模式。
连续碰撞检测尝试预测运动物体碰撞的位置,而不是在碰撞时移动物体并纠正其运动。
- void body_set_force_integration_callback ( RID body, Object receiver, String method, Variant userdata=null )
设置用于物体物理运算的函数,如果该物体允许的话,参阅body_set_omit_force_integration。
设置要报告的最大关联数。物体可以保存与其他物体的关联日志,当最大数量的关联报告的数字大于 0 时才启用此功能。
从BodyMode常量之一设置主体模式。
设置一个物体是否使用回调函数来计算它自己的物理(参阅 body_set_force_integration_callback)。
- void body_set_param ( RID body, BodyParameter param, float value )
设置物体参数。可用参数列表位于BodyParameter常量上。
如果设置了enabled
,则设置可使用光线拾取的物体。
用一个给定的物体形状代替另一个。旧的形状是通过其索引选择的,新的是通过其RID选择的。
设置物体形状的变换矩阵。
给物体分配一个空间(参阅space_create)。
设置主体状态(请参阅BodyState常量)。
- bool body_test_motion ( RID body, Transform from, Vector3 motion, bool infinite_inertia, PhysicsTestMotionResult result=null, bool exclude_raycast_shapes=true, Array exclude=[ ] )
如果从空间的给定点向给定方向移动会导致碰撞,则返回true
。可以通过PhysicsTestMotionResult来返回额外的信息。
- float cone_twist_joint_get_param ( RID joint, ConeTwistJointParam param ) const
获取圆锥体扭曲关节参数(请参阅ConeTwistJointParam常量)。
- void cone_twist_joint_set_param ( RID joint, ConeTwistJointParam param, float value )
设置圆锥体扭曲关节参数(请参阅ConeTwistJointParam常量)。
- void free_rid ( RID rid )
销毁由 PhysicsServer 创建的任何对象。如果传递的 RID 不是 PhysicsServer 可以创建的对象之一,则会向控制台发送错误。
- bool generic_6dof_joint_get_flag ( RID joint, Vector3.Axis axis, G6DOFJointAxisFlag flag )
获取generic_6_DOF_joit flag(请参阅G6DOFJointAxisFlag常量)。
- float generic_6dof_joint_get_param ( RID joint, Vector3.Axis axis, G6DOFJointAxisParam param )
获取 generic_6_DOF_joint 参数(请参阅G6DOFJointAxisParam常量)。
- void generic_6dof_joint_set_flag ( RID joint, Vector3.Axis axis, G6DOFJointAxisFlag flag, bool enable )
设置generic_6_DOF_joint flag(请参阅G6DOFJointAxisFlag常量)。
- void generic_6dof_joint_set_param ( RID joint, Vector3.Axis axis, G6DOFJointAxisParam param, float value )
设置 generic_6_DOF_joint参数(请参阅G6DOFJointAxisParam常量)。
- int get_process_info ( ProcessInfo process_info )
返回由给定的ProcessInfo输入定义的信息。
- bool hinge_joint_get_flag ( RID joint, HingeJointFlag flag ) const
获取铰链关节标志(请参阅HingeJointFlag常量)。
- float hinge_joint_get_param ( RID joint, HingeJointParam param ) const
获取铰链关节参数(请参阅HingeJointParam)。
- void hinge_joint_set_flag ( RID joint, HingeJointFlag flag, bool enabled )
设置铰链关节标志(请参阅HingeJointFlag常量)。
- void hinge_joint_set_param ( RID joint, HingeJointParam param, float value )
设置铰链关节参数(请参阅HingeJointParam常量)。
- RID joint_create_cone_twist ( RID body_A, Transform local_ref_A, RID body_B, Transform local_ref_B )
创建一个ConeTwistJoint。
- RID joint_create_generic_6dof ( RID body_A, Transform local_ref_A, RID body_B, Transform local_ref_B )
创建一个 Generic6DOFJoint通用6向关节。
创建一个 HingeJoint关节。
创建一个 PinJoint图钉关节。
创建一个 SliderJoint关节。
获取关节的优先级值。
返回关节的类型。
设置关节的优先级值。
返回关节在关节物体A的局部空间中的位置。
返回关节在关节物体B的局部空间中的位置。
- float pin_joint_get_param ( RID joint, PinJointParam param ) const
获取pin_joint参数(请参阅PinJointParam常量)。
设置关节在关节物体A的局部空间中的位置。
设置关节在关节物体B的局部空间中的位置。
- void pin_joint_set_param ( RID joint, PinJointParam param, float value )
设置pin_joint参数(请参阅PinJointParam常量)。
- void set_active ( bool active )
激活或停用3D物理引擎。
- void set_collision_iterations ( int iterations )
设置计算碰撞体速度的迭代次数。迭代次数越多,碰撞就越准确。但是,更大量的迭代需要更多的 CPU 能力,这会降低性能。默认值为 8
。
注意: 仅在使用 GodotPhysics 引擎时有效,而不是默认的 Bullet 物理引擎。
创建一个ShapeType类型的形状。不把它分配给一个体或一个区域。要做到这一点,你必须使用area_set_shape或body_set_shape。
返回形状数据。
返回形状的类型(请参阅ShapeType常量)。
设置定义形状和大小的形状数据。要传递的数据取决于创建的形状的类型shape_get_type。
- float slider_joint_get_param ( RID joint, SliderJointParam param ) const
获取slider_joint参数(请参阅SliderJointParam常量)。
- void slider_joint_set_param ( RID joint, SliderJointParam param, float value )
获取slider_joint参数(请参阅SliderJointParam常量)。
- RID space_create ( )
创建一个空间。空间是物理引擎的参数集合,可以分配给区域或主体。它可以通过area_set_space分配给一个区域,或者通过body_set_space分配给一个主体。
- PhysicsDirectSpaceState space_get_direct_state ( RID space )
返回空间的状态,PhysicsDirectSpaceState。此对象可用于进行碰撞/相交查询。
- float space_get_param ( RID space, SpaceParameter param ) const
返回空间参数的值。
返回该空间是否是活动的。
将空间标记为活动空间。它不会有效果,除非它被分配到一个区域或物体。
- void space_set_param ( RID space, SpaceParameter param, float value )
设置空间参数的值。可用参数列表位于SpaceParameter常量上。