版本: Unity 6 (6000.0)
语言英语
  • C#

Physics

UnityEngine 中的类

/

实现于:UnityEngine.PhysicsModule

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

全局物理属性和辅助方法。

静态属性

AllLayers选择所有图层的图层蒙版常量。
autoSyncTransforms无论何时 Transform 组件发生变化,是否自动将变换更改与物理系统同步。
bounceThreshold两个碰撞对象的相对速度低于此值时不会反弹(默认值为 2)。必须为正数。
clothGravity布料重力设置。为所有布料组件设置重力。
defaultContactOffset新创建的碰撞器的默认接触偏移量。
defaultMaxAngularSpeed动态刚体的默认最大角速度,以弧度为单位(默认值为 50)。
defaultMaxDepenetrationVelocity将刚体的碰撞器从另一个碰撞器的表面穿透中移出所需的默认最大速度。必须为正数。
defaultPhysicsSceneUnity 启动时自动创建的 PhysicsScene。
DefaultRaycastLayers选择默认射线投射图层的图层蒙版常量。
defaultSolverIterationsdefaultSolverIterations 决定了刚体关节和碰撞接触的解决精度。(默认值为 6)。必须为正数。
defaultSolverVelocityIterationsdefaultSolverVelocityIterations 影响刚体关节和碰撞接触的解决精度。(默认值为 1)。必须为正数。
gravity应用于场景中所有刚体的重力。
IgnoreRaycastLayer选择忽略射线投射图层的图层蒙版常量。
improvedPatchFriction启用改进的贴片摩擦模式,该模式保证静态和动态摩擦不会超过分析结果。
interCollisionDistance设置布料互碰撞的最小分离距离。
interCollisionStiffness设置布料互碰撞的刚度。
invokeCollisionCallbacks物理系统是否会发送 MonoBehaviour 碰撞消息。
queriesHitBackfaces物理查询是否应命中背面三角形。
queriesHitTriggers指定查询(射线投射、球体投射、重叠测试等)默认是否命中触发器。
reuseCollisionCallbacks确定垃圾回收器是否应仅对所有碰撞回调重用 Collision 类型的单个实例。
simulationMode控制 Unity 何时执行物理模拟。
sleepThreshold质量归一化能量阈值,低于此阈值的对象开始进入休眠状态。

静态方法

BakeMesh准备用于 MeshCollider 的网格,并使用默认的烘焙选项。
BoxCast沿着射线投射盒子,并返回有关命中内容的详细信息。
BoxCastAll类似于 Physics.BoxCast,但返回所有命中。
BoxCastNonAlloc沿着方向投射盒子,并将命中结果存储在提供的缓冲区中。
CapsuleCast将胶囊体对场景中的所有碰撞器进行投射,并返回有关命中内容的详细信息。
CapsuleCastAll类似于 Physics.CapsuleCast,但此函数将返回胶囊体扫描线相交的所有命中。
CapsuleCastNonAlloc将胶囊体对场景中的所有碰撞器进行投射,并将有关命中内容的详细信息返回到缓冲区中。
CheckBox检查给定的盒子是否与其他碰撞器重叠。
CheckCapsule检查是否有任何碰撞器与世界空间中的胶囊体积重叠。
CheckSphere如果世界坐标中由位置和半径定义的球体与任何碰撞器重叠,则返回 true。
ClosestPoint返回给定碰撞器上最靠近指定位置的点。
ComputePenetration计算在指定姿势下将给定碰撞器分开所需的最小平移。
GetIgnoreCollision检查碰撞检测系统是否会忽略 collider1 和 collider2 之间的全部碰撞/触发。
GetIgnoreLayerCollision图层 1 和图层 2 之间的碰撞是否被忽略?
IgnoreCollision使碰撞检测系统忽略 collider1 和 collider2 之间的全部碰撞。
IgnoreLayerCollision使碰撞检测系统忽略图层 1 中的任何碰撞器与图层 2 中的任何碰撞器之间的所有碰撞。请注意,IgnoreLayerCollision 将重置受影响碰撞器的触发器状态,因此您可能会收到 OnTriggerExit 和 OnTriggerEnter 消息以响应对此的调用。
Linecast如果 start 和 end 之间的直线上有任何碰撞器相交,则返回 true。
OverlapBox查找与给定盒子接触或位于其中的所有碰撞器。
OverlapBoxNonAlloc查找与给定盒子接触或位于其中的所有碰撞器,并将它们存储到缓冲区中。
OverlapCapsule检查给定的胶囊体与物理世界,并返回所有重叠的碰撞器。
OverlapCapsuleNonAlloc检查给定的胶囊体与物理世界,并将所有重叠的碰撞器返回到用户提供的缓冲区中。
OverlapSphere计算并存储接触或位于球体内部的碰撞器。
OverlapSphereNonAlloc将接触或位于球体内部的碰撞器计算并存储到提供的缓冲区中。
Raycast从点 origin 发射射线,方向为 direction,长度为 maxDistance,针对场景中的所有碰撞器。
RaycastAll通过场景投射射线并返回所有命中。请注意,结果的顺序未定义。
RaycastNonAlloc通过场景投射射线并将命中结果存储到缓冲区中。
Simulate模拟场景中的物理。
SphereCast沿着射线投射球体,并返回有关命中内容的详细信息。
SphereCastAll类似于 Physics.SphereCast,但此函数将返回球体扫描线相交的所有命中。
SphereCastNonAlloc沿着方向投射球体并将结果存储到缓冲区中。
SyncTransforms将 Transform 更改应用于物理引擎。

事件

ContactEvent订阅此事件以读取物理模拟步骤期间发生的所有碰撞。
ContactModifyEvent订阅此事件以能够自定义接触对的碰撞响应。
ContactModifyEventCCD订阅此事件以能够自定义 CCD 生成的接触对的碰撞响应。