Physics2D

class in UnityEngine

切换到手册

描述

用于 2D 物理的全局设置和 Helper 方法。

静态变量

AllLayers包括所有层的层遮罩常量。
alwaysShowColliders是否应始终显示碰撞体辅助图标(即使未选中时也显示)?
angularSleepTolerance如果刚体的角速度高于该公差,将无法进入睡眠状态。
autoSimulation设置是否应该自动模拟物理。
autoSyncTransforms当 Transform 组件发生更改时,是否自动将变换更改与物理系统同步。
baumgarteScale控制解析重叠速度的缩放因子。
baumgarteTOIScale控制解析 TOI 重叠速度的缩放因子。
callbacksOnDisable用于控制 Collider2D 处于禁用状态时是否应调用相应的 OnCollisionExit2D 或 OnTriggerExit2D 回调。
colliderAABBColor设置辅助图标使用的颜色,以显示所有对齐 Collider 轴的包围盒 (AABB)。
colliderAsleepColor辅助图标显示所有睡眠碰撞体(当身体处于睡眠状态时,碰撞体也处于睡眠状态)所用的颜色。
colliderAwakeColor辅助图标显示所有唤醒碰撞体(当身体处于唤醒状态时,碰撞体也处于唤醒状态)所用的颜色。
colliderContactColor辅助图标显示所有碰撞体接触点所用的颜色。
contactArrowScale碰撞体辅助图标使用的接触箭头的缩放。
defaultContactOffset新创建的碰撞体的默认接触偏移。
defaultPhysicsSceneUnity 启动时自动创建的 PhysicsScene2D。
DefaultRaycastLayers层遮罩常量,包括默认情况下参与射线投射的所有层。
gravity重力产生的加速度。
IgnoreRaycastLayer忽略射线投射的默认层的层遮罩常量。
jobOptions一组选项,用于控制在使用作业系统进行多线程物理模拟时物理系统的工作方式。
linearSleepTolerance如果刚体的线性速率高于该公差,将无法进入睡眠状态。
maxAngularCorrection解算约束时使用的最大角位置校正。这有助于防止过冲。
maxLinearCorrection解算约束时使用的最大线性位置校正。这有助于防止过冲。
maxRotationSpeed每次物理更新时,刚体的最大角速度。增大该值可能会导致数值问题。
maxTranslationSpeed每次物理更新时,刚体的最大线性速度。增大该值可能会导致数值问题。
positionIterations考虑对象位置时,物理解算器的迭代次数。
queriesHitTriggers射线投射是否检测配置为触发器的碰撞体?
queriesStartInColliders设置始于碰撞体内部的射线投射或线条投射是否检测这些碰撞体。
showColliderAABB碰撞体辅助图标是否应显示每个碰撞体的 AABB?
showColliderContacts碰撞体辅助图标是否应显示每个碰撞体的当前接触点?
showColliderSleep碰撞体辅助图标是否应显示每个碰撞体的睡眠状态?
timeToSleep刚体进入睡眠状态前必须保持静止的时间(以秒为单位)。
velocityIterations考虑对象速度时,物理解算器的迭代次数。
velocityThreshold将相对线性速度低于该阈值的任何碰撞都视为非弹性碰撞。

静态函数

BoxCast向场景中的碰撞体投射盒体,返回与盒体接触的第一个碰撞体。
BoxCastAll向场景中的碰撞体投射盒体,返回与盒体接触的所有碰撞体。
BoxCastNonAlloc向场景中投射一个盒体,将与盒体接触的碰撞体返回到提供的结果数组中。
CapsuleCast向场景中的碰撞体投射胶囊体,返回与胶囊体接触的第一个碰撞体。
CapsuleCastAll向场景中的碰撞体投射胶囊体,返回与胶囊体接触的所有碰撞体。
CapsuleCastNonAlloc向场景中投射一个胶囊体,将与胶囊体接触的碰撞体返回到提供的结果数组中。
CircleCast向场景中的碰撞体投射圆形,返回与圆形接触的第一个碰撞体。
CircleCastAll向场景中的碰撞体投射圆形,返回与圆形接触的所有碰撞体。
CircleCastNonAlloc向场景中投射一个圆形,将与圆形接触的碰撞体返回到提供的结果数组中。
Distance计算两个碰撞体之间的最小距离。
GetContacts获取与 collider 接触的所有碰撞体。
GetIgnoreCollision检查碰撞检测系统是否忽略 collider1 与 collider2 之间的所有碰撞/触发器。
GetIgnoreLayerCollision检查是否忽略指定层之间的碰撞。
GetLayerCollisionMask获取碰撞层遮罩,指示指定层可以与哪些层发生碰撞。
GetRayIntersection向场景中的碰撞体投射 3D 射线,返回射线路径上的第一个碰撞体。
GetRayIntersectionAll向场景中的碰撞体投射 3D 射线,返回射线路径上的所有碰撞体。
GetRayIntersectionNonAlloc向场景中的碰撞体投射 3D 射线,返回射线路径上的碰撞体。
IgnoreCollision使碰撞检测系统忽略 collider1 与 collider2 之间的所有碰撞/触发器。
IgnoreLayerCollision选择检测还是忽略指定层对之间的碰撞。
IsTouching检查是否与经过的碰撞体接触。
IsTouchingLayers检查 collider 是否正在接触指定 layerMask 上的任何碰撞体。
Linecast向场景中的碰撞体投射线段。
LinecastAll向场景中的碰撞体投射线条。
LinecastNonAlloc向场景中的碰撞体投射线条。
OverlapArea检查某碰撞体是否位于一个矩形区域内。
OverlapAreaAll获取位于某个矩形区域内的所有碰撞体的列表。
OverlapAreaNonAlloc获取位于指定矩形区域内的所有碰撞体的列表。
OverlapBox检查某碰撞体是否位于一个盒形区域内。
OverlapBoxAll获取位于指定盒形区域内的所有碰撞体的列表。
OverlapBoxNonAlloc获取位于指定盒形区域内的所有碰撞体的列表。
OverlapCapsule检查某碰撞体是否位于一个胶囊体区域内。
OverlapCapsuleAll获取位于某胶囊体区域内的所有碰撞体的列表。
OverlapCapsuleNonAlloc获取位于某胶囊体区域内的所有碰撞体的列表。
OverlapCircle检查某碰撞体是否位于一个圆形区域内。
OverlapCircleAll获取位于某圆形区域内的所有碰撞体的列表。
OverlapCircleNonAlloc获取位于某圆形区域内的所有碰撞体的列表。
OverlapCollider获取与 collider 重叠的所有碰撞体的列表。
OverlapPoint检查碰撞体是否与空间中的某个点重叠。
OverlapPointAll获取与空间中的某个点重叠的所有碰撞体的列表。
OverlapPointNonAlloc获取与空间中的某个点重叠的所有碰撞体的列表。
Raycast向场景中的碰撞体投射射线。
RaycastAll向场景中的碰撞体投射射线,返回与射线接触的所有碰撞体。
RaycastNonAlloc向场景中投射一条射线。
SetLayerCollisionMask设置碰撞层遮罩,指示指定层可以与哪些层发生碰撞。
Simulate在场景中进行物理模拟。
SyncTransforms同步。