Version: 5.4 (switch to 5.5b)
言語English
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Rigidbody

class in UnityEngine

/

Inherits from: Component

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

マニュアルに切り替える

Description

物理演算によりオブジェクトの位置を制御します。

Rigidbody コンポーネントをあるオブジェクトに追加すると、そのオブジェクトの動作を Unity の物理エンジンの管理下におきます。コードを追加しなくても、Rigidbody オブジェクトは重力によって下方向にひっぱられ、正しい Collider コンポーネントが存在している場合には接触しているオブジェクトとの衝突に反応します。

また、Rigidbody はオブジェクトに力を適用し、物理的に現実的な方法でそれをコントロールするためのスクリプト API も有しています。例えば、ある自動車の挙動は車輪によって加えられる力という面から指定することができます。この情報に基づけば、物理エンジンは車の挙動のその他ほとんどの側面を扱うことができるので、現実的に加速したり、衝突に対して正確に応答します。

スクリプトでは、FixedUpdate 関数は力を適用したり、Rigidbody の設定を変更する場所とすることが推奨されます(対照に Update は、その他ほとんどのフレーム更新作業で使用されます)。理由は、物理挙動の更新が時間進行単位で行われており、フレーム更新は関係ないからです。FixedUpdate は物理挙動更新の直前に呼び出されるため、その中でなされたどのような変更も直接反映されます。

Rigidbody で作業を始める際の一般的な問題には、ゲームの物理挙動が「スローモーション」で実行されているように見えるというものがあります。これは実際にあなたのモデルに使用されているスケールに起因しているものです。デフォルトの重力設定は、1 ワールドユニットが距離の 1 メートルに対応することを前提としています。非物理的なゲームでは、あなたのモデルがすべて 100 ユニットの長さであっても大した差はありませんが、物理挙動を用いればそれらはとても大きなオブジェクトとして扱われます。もし小さいと思われるようなオブジェクトに大きなスケールを使用すれば、それらはとてもゆっくりと落下しているように見えます。なぜなら、物理エンジンはそれらをとても長い距離を落下しているとても大きなオブジェクトと見なすからです。このことを念頭に置き、オブジェクトは現実の生活のスケールよりも大きく、または小さくするようにしましょう(したがって、例えば車は 4 ユニット = 4 メートルほどにしておくべきです)。

Variables

angularDragThe angular drag of the object.
angularVelocityThe angular velocity vector of the rigidbody.
centerOfMassThe center of mass relative to the transform's origin.
collisionDetectionModeThe Rigidbody's collision detection mode.
constraintsControls which degrees of freedom are allowed for the simulation of this Rigidbody.
detectCollisionsShould collision detection be enabled? (By default always enabled).
dragThe drag of the object.
freezeRotationControls whether physics will change the rotation of the object.
inertiaTensorThe diagonal inertia tensor of mass relative to the center of mass.
inertiaTensorRotationThe rotation of the inertia tensor.
interpolationInterpolation allows you to smooth out the effect of running physics at a fixed frame rate.
isKinematicControls whether physics affects the rigidbody.
massThe mass of the rigidbody.
maxAngularVelocityThe maximimum angular velocity of the rigidbody. (Default 7) range { 0, infinity }.
maxDepenetrationVelocityMaximum velocity of a rigidbody when moving out of penetrating state.
positionThe position of the rigidbody.
rotationThe rotation of the rigidbody.
sleepThresholdThe mass-normalized energy threshold, below which objects start going to sleep.
solverIterationsThe solverIterations determines how accurately Rigidbody joints and collision contacts are resolved. Overrides Physics.defaultSolverIterations. Must be positive.
solverVelocityIterationsThe solverVelocityIterations affects how how accurately Rigidbody joints and collision contacts are resolved. Overrides Physics.defaultSolverVelocityIterations. Must be positive.
useConeFrictionForce cone friction to be used for this rigidbody.
useGravityControls whether gravity affects this rigidbody.
velocityThe velocity vector of the rigidbody.
worldCenterOfMassThe center of mass of the rigidbody in world space (Read Only).

Public Functions

AddExplosionForceApplies a force to a rigidbody that simulates explosion effects.
AddForceAdds a force to the Rigidbody.
AddForceAtPositionApplies force at position. As a result this will apply a torque and force on the object.
AddRelativeForceAdds a force to the rigidbody relative to its coordinate system.
AddRelativeTorqueAdds a torque to the rigidbody relative to its coordinate system.
AddTorqueAdds a torque to the rigidbody.
ClosestPointOnBoundsThe closest point to the bounding box of the attached colliders.
GetPointVelocityThe velocity of the rigidbody at the point worldPoint in global space.
GetRelativePointVelocityThe velocity relative to the rigidbody at the point relativePoint.
IsSleepingIs the rigidbody sleeping?
MovePositionMoves the rigidbody to position.
MoveRotationRotates the rigidbody to rotation.
ResetCenterOfMassReset the center of mass of the rigidbody.
ResetInertiaTensorReset the inertia tensor value and rotation.
SetDensity不変な密度と仮定してアタッチされたコライダーをもとに質量を設定します
SleepForces a rigidbody to sleep at least one frame.
SweepTestTests if a rigidbody would collide with anything, if it was moved through the scene.
SweepTestAllLike Rigidbody.SweepTest, but returns all hits.
WakeUpForces a rigidbody to wake up.

Messages

OnCollisionEnterOnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider.
OnCollisionExitOnCollisionEnter is called when this collider/rigidbody has stopped touching another rigidbody/collider.
OnCollisionStayOnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider.

Inherited members

Variables

gameObjectThe game object this component is attached to. A component is always attached to a game object.
tagThe tag of this game object.
transformThe Transform attached to this GameObject (null if there is none attached).
hideFlagsShould the object be hidden, saved with the scene or modifiable by the user?
nameThe name of the object.

Public Functions

BroadcastMessageCalls the method named methodName on every MonoBehaviour in this game object or any of its children.
CompareTagIs this game object tagged with tag ?
GetComponentゲームオブジェクトに type がアタッチされている場合は type のタイプを使用してコンポーネントを返します。ない場合は null です
GetComponentInChildren GameObject や深さ優先探索を活用して、親子関係にある子オブジェクトから type のタイプのコンポーネントを取得します。
GetComponentInParentReturns the component of Type type in the GameObject or any of its parents.
GetComponentsReturns all components of Type type in the GameObject.
GetComponentsInChildrenReturns all components of Type type in the GameObject or any of its children.
GetComponentsInParentReturns all components of Type type in the GameObject or any of its parents.
SendMessageCalls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwardsCalls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
GetInstanceIDReturns the instance id of the object.
ToStringReturns the name of the game object.

Static Functions

DestroyRemoves a gameobject, component or asset.
DestroyImmediateDestroys the object obj immediately.
DontDestroyOnLoadMakes the object target not be destroyed automatically when loading a new scene.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsOfTypeReturns a list of all active loaded objects of Type type.
InstantiateReturns a copy of the object original.

Operators

boolDoes the object exist?
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.