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

Rigidbody2D

UnityEngine 中的类

/

继承自:组件

/

在下列位置实现:UnityEngine.Physics2DModule

建议更改

成功!

感謝您協助我們提升 Unity 文件的品質。雖然我們無法接受所有提交,但我們會閱讀使用者建議的每一項建議變更並在適當的地方更新。

關閉

提交失敗

由於某些原因無法提交您建議的變更。請在幾分鐘內<a>重試</a>。感謝您花時間協助我們提升 Unity 文件的品質。

關閉

取消

說明

提供物理運動和其他動力學功能,以及將 Collider2D 附加到其上的功能。

Rigidbody2D 是提供多個模擬動力學的基本物理組件,例如 Rigidbody2D.positionRigidbody2D.rotation 用於姿勢控制,以及 Rigidbody2D.linearVelocityRigidbody2D.angularVelocity 用於速度控制。

您可以將多個 Collider2D 附加到 Rigidbody2D,以偵測碰撞並在您將 Rigidbody2D.bodyType 設定為 RigidbodyType2D.Dynamic 時提供碰撞回應。

屬性

angularDampingRigidbody2D 角速度的角阻尼。
angularVelocity以每秒度數計算的角速度。
attachedColliderCount傳回附加到這個 Rigidbody2D 的 Collider2D 數量。
bodyTypeRigidbody2D 的物理行為類型。
centerOfMass剛體在局部空間中的質心。
collisionDetectionMode物理引擎用來檢查兩個物體是否發生的碰撞的方法。
constraints控制 Rigidbody2D 模擬中允許的自由度。
excludeLayers附加到這個 Rigidbody2D 的所有 Collider2D 在決定是否應該發生與其他 Collider2D 的接觸時應排除的額外圖層。
freezeRotation控制物理是否會改變物體的旋轉。
gravityScale此物體受重力影響的程度。
includeLayers附加到這個 Rigidbody2D 的所有 Collider2D 在決定是否應該發生與其他 Collider2D 的接觸時應包含的額外圖層。
inertiaRigidbody 對角速度 (旋轉) 變化量的阻力。
插值更新之间使用物理插值。
线性阻尼Rigidbody2D 线速度的线性阻尼。
线速度Rigidbody2D 的线速度表示世界单位中 Rigidbody2D 位置随时间变化的速率。
线速度 XRigidbody2D 线速度的 X 分量(以世界单位/秒为单位)。
线速度 YRigidbody2D 线速度的 Y 分量(以世界单位/秒为单位)。
本地至世界变换矩阵用于将 Rigidbody2D 转换为世界空间的变换矩阵。
质量Rigidbody 的质量。
位置刚体的位置。
旋转刚体的旋转。
共享材料PhysicsMaterial2D,应用于附加到该 Rigidbody2D 的所有 Collider2D。
模拟指示刚体是否应被物理系统模拟。
睡眠模式刚体初始所处的睡眠状态。
总力自上次物理模拟步骤以来明确应用到该 Rigidbody2D 的总力。
总扭矩自上次物理模拟步骤以来明确应用到该 Rigidbody2D 的总扭矩。
使用自动质量是否应根据附加碰撞体的 [[Collider2D.density]] 自动计算总刚体质量?
使用完全动态接触是否应允许动态/动态碰撞和动态/静态碰撞?
世界质心在全局空间中获取刚体的质心。

公共方法

施加力对刚体施加力。
施加特定位置上的力在空间中的给定位置施加力。
施加 X 力仅将力添加到 Rigidbody2D.linearVelocity 的 X 分量,保持 Rigidbody2D.linearVelocity 世界空间的 Y 分量不变。
施加 Y 力仅将力添加到 Rigidbody2D.linearVelocity 的 Y 分量,保持 Rigidbody2D.linearVelocity 世界空间的 X 分量不变。
添加相对力向 Rigidbody2D.linearVelocity 的本地空间添加力。换句话说,该力在 Rigidbody2D 的旋转坐标空间中施加。
添加相对力 X仅向 Rigidbody2D.linearVelocity 本地空间的 X 分量添加力,保持 Rigidbody2D.linearVelocity 本地空间的 Y 分量不变。
添加相对力 Y仅向 Rigidbody2D.linearVelocity 本地空间的 Y 分量添加力,保持 Rigidbody2D.linearVelocity 本地空间的 X 分量不变。
施加扭矩在刚体的质心处施加扭矩。
投射附加到 Rigidbody2D 的所有 Collider2D 形状都投射到场景中,从每个碰撞体位置开始,忽略附加到同一 Rigidbody2D 的碰撞体。
最近点返回与指定位置最接近,连接到此刚体的所有启用触发器上的边界上的点。
距离计算此碰撞器与连接到此 Rigidbody2D 的所有 Collider2D 之间的最小距离。
GetAttachedColliders返回所有连接到此 Rigidbody2D 的 Collider2D。
GetContacts检索连接到此刚体的所有触发器的所有接触点。
GetPoint给定刚体全局空间中的点获得局部空间中的点。
GetPointVelocity刚体在全局空间中的点 Point 的速度。
GetRelativePoint给定刚体局部空间中的点 relativePoint 来获得全局空间中的点。
GetRelativePointVelocity刚体在局部空间中的点 Point 的速度。
GetRelativeVector给定刚体局部空间中的向量 relativeVector 来获得全局空间中的向量。
GetShapes获取连接到 Rigidbody2D 的所有 Collider2D 所使用的所有 PhysicsShape2D。
GetVector给定刚体全局空间中的向量 vector 来获得局部空间中的向量。
IsAwake刚体“清醒”吗?
IsSleeping刚体“睡着了”吗?
IsTouching检查碰撞器是否与连接到此刚体的任何触发器接触。
IsTouchingLayers检查连接到此刚体的任何触发器是否与指定 layerMask 上的任何触发器接触。
MovePosition移动刚体到 position。
MovePositionAndRotation将刚体位置移动到 position,并将刚体角度移动到 angle。
MoveRotation将刚体旋转到 angle(以角度为单位)。
Overlap获取所有与连接到此 Rigidbody2D 的所有触发器重叠的所有触发器的列表。
OverlapPoint检查任何 Rigidbody2D 触发器是否与空间中的某一点重叠。
SetRotation将 Rigidbody2D 的旋转设置到 angle(以角度为单位)。
Sleep使刚体“睡着”。
Slide使用 slideMovement 指定的配置,使用在 deltaTime 上集成的指定速度来滑动 Rigidbody2D。
WakeUp禁用刚体的“睡着”状态。

继承的成员

屬性

gameObject此组件所附加的游戏对象。组件始终附加到游戏对象上。
tag此游戏对象的标签。
transform附加到此 GameObject 上的 Transform。
hideFlags是否应该隐藏此对象、随场景一起保存或由用户修改?
name对象名称。

公共方法

BroadcastMessage在此游戏对象或其任何子级中对每个 MonoBehaviour 调用名为 methodName 的方法。
CompareTag检查 GameObject 的标签与定义的标签。
GetComponent获取与其组件指定的 GameObject 相同的游戏对象上 T 类型的组件的引用。
GetComponentInChildren获取与其组件指定的 GameObject 相同的游戏对象上的 T 类型的组件的引用,或 GameObject 的任何子级。
GetComponentIndex获取在其父级 GameObject 上的组件的索引。
GetComponentInParent获取与其组件指定的 GameObject 相同的游戏对象上的 T 类型的组件的引用,或 GameObject 的任何父级。
GetComponents获取与其组件指定的 GameObject 相同的游戏对象上所有 T 类型的组件的引用。
GetComponentsInChildren获取与其组件指定的 GameObject 相同的游戏对象上所有 T 类型的组件的引用,以及 GameObject 的任何子级。
GetComponentsInParent获取与其组件指定的 GameObject 相同的游戏对象上所有 T 类型的组件的引用,以及 GameObject 的任何父级。
SendMessage调用此游戏对象中所有 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中所有 MonoBehaviour 上以及该行为的每个祖先上名为 methodName 的方法。
TryGetComponent如果存在,则获取指定类型的组件。
GetInstanceID获取对象实例 ID。
ToString返回对象名称。

静态方法

Destroy删除 GameObject、组件或资产。
DestroyImmediate立即销毁对象 obj。强烈建议改为使用 Destroy。
DontDestroyOnLoad在加载新场景时,不要销毁目标对象。
FindAnyObjectByType检索 Type 类型的所有活动加载对象。
FindFirstObjectByType检索 Type 类型的第一活动加载对象。
FindObjectsByType检索 Type 类型所有加载对象的列表。
Instantiate克隆对象 original 并返回克隆。
InstantiateAsync获取原始对象(必须与某些 GameObject 相关)的快照,并返回 AsyncInstantiateOperation。

运算符

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