Rigidbody2D

class in UnityEngine

/

Inherits from:Component

Switch to Manual

Description

用于 2D 精灵的刚体物理组件。

Rigidbody2D 类提供与 Rigidbody 类基本相同的功能,两者的区别在于:Rigidbody2D 用于 2D 环境,Rigidbody 用于 3D 环境。向精灵添加 Rigidbody2D 组件后,其运动将受到物理引擎的控制。这意味着精灵将受到重力的影响,并且可以在脚本中使用力对其进行控制。通过添加适当的碰撞体组件,精灵还能响应与其他精灵的碰撞。这种行为完全来自 Unity 的物理系统;您只需提供极少量的代码,就能实现令人印象深刻和逼真的物理行为,并提供没有显式编码到游戏中的“自发的”游戏玩法。

另请参阅:Rigidbody 类、SpriteRenderer 类、Collider2D 类、Joint2D 类。

Variables

angularDrag角阻力系数。
angularVelocity角速度(以度/秒为单位)。
attachedColliderCount返回附加到该 Rigidbody2D 的 Collider2D 的数量。
bodyType Rigidbody2D 的物理行为类型。
centerOfMass刚体在本地空间中的质心。
collisionDetectionMode物理引擎用于检查两个对象是否发生碰撞的方法。
constraints控制该 Rigidbody2D 的模拟自由度。
drag阻力系数。
freezeRotation控制物理是否会更改对象的旋转。
gravityScale该对象受重力影响的程度。
inertia刚体的转动惯量。
interpolation在更新之间使用的物理插值。
isKinematic该刚体是否应该脱离物理控制?
mass刚体的质量。
position刚体的位置。
rotation刚体的旋转。
sharedMaterial应用于附加到该 Rigidbody2D 的所有 Collider2D 的 PhysicsMaterial2D。
simulated指示物理系统是否应模拟刚体。
sleepMode刚体最初处于的睡眠状态。
useAutoMass是否应根据附加碰撞体的 [[Collider2D.density]] 自动计算总刚体 mass?
useFullKinematicContacts是否允许运动/运动和运动/静态碰撞?
velocity刚体的线速度。
worldCenterOfMass获取刚体在全局空间中的质心。

Public Functions

AddForce对刚体施加力。
AddForceAtPosition在空间中的给定位置施加力。
AddRelativeForce向 rigidbody2D 添加力(相对于其坐标系)。
AddTorque在刚体的质心处施加扭矩。
CastAll the Collider2D shapes attached to the Rigidbody2D are cast into the Scene starting at each Collider position ignoring the Colliders attached to the same Rigidbody2D.
Distance计算 collider 到附加到该 Rigidbody2D 的所有 Collider2D 的最小距离。
GetAttachedColliders返回附加到该 Rigidbody2D 的所有 Collider2D。
GetContactsRetrieves all contact points for all of the Collider(s) attached to this Rigidbody.
GetPoint根据位于刚体全局空间中的点 /point/,获取本地空间点。
GetPointVelocity点 /Point/(全局空间)处刚体的速度。
GetRelativePoint根据位于刚体本地空间中的点 /relativePoint/,获取全局空间点。
GetRelativePointVelocity点 /Point/(本地空间)处刚体的速度。
GetRelativeVector根据位于刚体本地空间中的向量 /relativeVector/,获取全局空间向量。
GetVector根据位于刚体全局空间中的向量 /vector/,获取本地空间向量。
IsAwake刚体是否处于“唤醒”状态?
IsSleeping刚体是否处于“睡眠”状态?
IsTouching检查 collider 是否正在接触附加到该刚体的任何碰撞体。
IsTouchingLayers检查附加到该刚体的任何碰撞体是否正在接触指定 layerMask 上的任何碰撞体。
MovePosition将刚体移动到 /position/。
MoveRotationRotates the Rigidbody to angle (given in degrees).
OverlapColliderGet a list of all Colliders that overlap all Colliders attached to this Rigidbody2D.
OverlapPoint检查是否有任何 Rigidbody2D 碰撞体与空间中的某个点重叠。
Sleep使刚体进入“睡眠”状态。
WakeUp禁用刚体的“睡眠”状态。

Inherited members

Variables

gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。
hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?
name对象的名称。

Public Functions

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTag此游戏对象是否使用 tag 进行了标记?
GetComponent如果游戏对象附加了类型为 type 的组件,则将其返回,否则返回 null。
GetComponentInChildren使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。
GetComponentInParent返回 GameObject 或其任何父项中类型为 type 的组件。
GetComponents返回 GameObject 中类型为 type 的所有组件。
GetComponentsInChildren返回 GameObject 或其任何子项中类型为 type 的所有组件。
GetComponentsInParent返回 GameObject 或其任何父项中类型为 type 的所有组件。
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
GetInstanceID返回对象的实例 ID。
ToString返回 GameObject 的名称。

Static Functions

Destroy删除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfType返回所有类型为 type 的已加载的激活对象的列表。
Instantiate克隆 original 对象并返回克隆对象。

Operators

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。