Version: 2022.3

Physics

class in UnityEngine

切换到手册

描述

全局物理属性和 Helper 方法。

静态变量

AllLayers用于选择所有层的层遮罩常量。
autoSyncTransforms当 Transform 组件发生更改时,是否自动将变换更改与物理系统同步。
bounceThreshold两个相对速度低于该值的对象碰撞后将不反弹(默认为 2)。必须为正值。
clothGravity布料重力设置。 设置所有 Cloth 组件的重力。
defaultContactOffset新创建的碰撞体的默认接触偏移。
defaultMaxAngularSpeed动态刚体的默认最大角速率,以弧度为单位(默认为 50)。
defaultMaxDepenetrationVelocityThe maximum default velocity needed to move a Rigidbody's collider out of another collider's surface penetration. Must be positive.
defaultPhysicsSceneUnity 启动时自动创建的 PhysicsScene。
DefaultRaycastLayers用于选择默认射线投射层的层遮罩常量。
defaultSolverIterationsdefaultSolverIterations 确定刚体关节与碰撞接触点的解析精确度(默认为 6)。必须为正值。
defaultSolverVelocityIterationsdefaultSolverVelocityIterations 影响刚体关节与碰撞接触点的解析精确度(默认为 1)。必须为正值。
gravity应用于场景中所有刚体的重力。
IgnoreRaycastLayer用于选择忽略射线投射层的层遮罩常量。
improvedPatchFrictionEnables an improved patch friction mode that guarantees static and dynamic friction do not exceed analytical results.
interCollisionDistance设置布料相互碰撞的最小间隔距离。
interCollisionStiffness设置布料相互碰撞的刚度。
invokeCollisionCallbacksWhether or not MonoBehaviour collision messages will be sent by the physics system.
queriesHitBackfaces物理查询是否应该击中背面三角形。
queriesHitTriggers指定默认情况下查询(射线投射、球形投射、重叠测试等)是否命中触发器。
reuseCollisionCallbacks确定垃圾回收器是否应仅对所有冲突回调重用一个碰撞类型的实例。
simulationModeControls when Unity executes the physics simulation.
sleepThreshold经过质量标准化的能量阈值 - 当低于该阈值时,对象开始进入睡眠状态。

静态函数

BakeMeshPrepares the mesh for use with a MeshCollider and uses default cooking options.
BoxCast沿射线投射盒体并返回有关命中对象的详细信息。
BoxCastAll与 Physics.BoxCast 类似,但返回所有命中对象。
BoxCastNonAlloc沿该方向投射盒体,并将命中对象存储在提供的缓冲区中。
CapsuleCast向场景中的所有碰撞体投射胶囊体,并返回有关命中对象的详细信息。
CapsuleCastAll与 Physics.CapsuleCast 类似,但该函数将返回胶囊体扫描相交的所有命中对象。
CapsuleCastNonAlloc向场景中的所有碰撞体投射胶囊体,并在缓冲区中返回有关命中对象的详细信息。
CheckBox检查给定的盒体是否与其他碰撞体重叠。
CheckCapsule检查是否有任何碰撞体与世界空间中的胶囊形体积重叠。
CheckSphere如果有任何碰撞体与世界坐标系中由 position 和 radius 界定的球体重叠,则返回 true。
ClosestPoint返回给定碰撞体上最接近指定位置的点。
ComputePenetration计算在指定姿势下将给定碰撞体分开所需的最小平移。
GetIgnoreCollision检查碰撞检测系统是否忽略 collider1 与 collider2 之间的所有碰撞/触发器。
GetIgnoreLayerCollision是否忽略 layer1 与 layer2 之间的碰撞?
IgnoreCollision使碰撞检测系统忽略 collider1 与 collider2 之间的所有碰撞。
IgnoreLayerCollision使碰撞检测系统忽略 layer1 中的任何碰撞体与 layer2 中的任何碰撞体之间的所有碰撞。注意,IgnoreLayerCollision 将重置受影响的碰撞体的触发器状态,因此,您可能会收到调用该函数导致的 OnTriggerExit 和 OnTriggerEnter 消息。
Linecast如果有任何碰撞体与 start 和 end 之间的线相交,则返回 true。
OverlapBox查找与给定盒体接触或位于盒体内部的所有碰撞体。
OverlapBoxNonAlloc查找与给定盒体接触或位于盒体内部的所有碰撞体,并将它们存储到缓冲区中。
OverlapCapsule在物理世界中检查给定胶囊体,并返回所有重叠的碰撞体。
OverlapCapsuleNonAlloc在物理世界中检查给定胶囊体,并在用户提供的缓冲区中返回所有重叠的碰撞体。
OverlapSphere计算并存储接触球体或位于球体内部的碰撞体。
OverlapSphereNonAlloc计算与球体接触或位于球体内部的碰撞体,并将它们存储到提供的缓冲区中。
Raycast向场景中的所有碰撞体投射一条射线,该射线起点为 /origin/,朝向 /direction/,长度为 /maxDistance/。
RaycastAll向场景中投射射线并返回所有命中对象。注意,这些结果的顺序未定义。
RaycastNonAlloc向场景中投射射线,并将命中对象存储到缓冲区中。
RebuildBroadphaseRegions 重新构建粗筛阶段涉及的区域并设置世界边界。
Simulate在场景中进行物理模拟。
SphereCast沿射线投射球体并返回有关命中对象的详细信息。
SphereCastAll与 Physics.SphereCast 类似,但该函数将返回球体扫描相交的所有命中对象。
SphereCastNonAlloc沿该方向投射球体,并将结果存储到缓冲区中。
SyncTransforms将 Transform 更改应用于物理引擎。

Events

ContactEventSubscribe to this event to read all collisions that occurred during the physics simulation step.
ContactModifyEventSubscribe to this event to be able to customize the collision response for contact pairs.
ContactModifyEventCCDSubscribe to this event to be able to customize the collision response of CCD generated contact pairs.