言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

Rigidbody

Namespace: 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

Switch to Manual

Description

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

Rigidbody コンポーネントをあるオブジェクトに追加すると、そのオブジェクトの動作を Unity の物理エンジンの管理下におきます。コードを追加しなくとも、 Rigidbody オブジェクトは重力によって下方向にひっぱられ、正しい Collider コンポーネントが存在している場合には接触しているオブジェクトとの衝突に反応します。 また、Rigidbody はオブジェクトに力を適用し、物理的に現実的な方法でそれをコントロールするためのスクリプトAPIも有しています。例えば、ある自動車の挙動は車輪によって加えられる力という面から指定することができます。この情報に基づけば、物理エンジンは車の挙動のその他ほとんどの側面を扱うことができるので、現実的に加速したり、衝突に対して正確に応答します。 スクリプトでは、 FixedUpdate 関数は力を適用したり、 Rigidbody の設定を変更する場所とすることが推奨されます(対照に Update は、その他ほとんどのフレーム更新作業で使用されます)。理由は、物理挙動の更新が時間進行単位で行われており、フレーム更新は関係ないからです。FixedUpdate は物理挙動更新の直前に呼び出されるため、その中でなされたどのような変更も直接反映されます。 Rigidbody で作業を始める際の一般的な問題には、ゲームの物理挙動が「スローモーション」で実行されているように見えるというものがあります。これは実際にあなたのモデルに使用されているスケールに起因しているものです。デフォルトの重力設定は、1ワールドユニットが距離の1メートルに対応することを前提としています。非物理的なゲームでは、あなたのモデルが全て100ユニットの長さであっても大した差はありませんが、物理挙動を用いればそれらはとても大きなオブジェクトとして扱われます。もし小さいと思われるようなオブジェクトに大きなスケールを使用すれば、それらはとてもゆっくりと落下しているように見えます。なぜなら、物理エンジンはそれらをとても長い距離を落下しているとても大きなオブジェクトと見なすからです。このことを念頭に置き、オブジェクトは現実の生活のスケールよりも大きく、または小さくするようにしましょう(従って、例えば車は 4ユニット = 4メートルほどにしておくべきです)。

Variables

angularDrag オブジェクトの回転に対する抵抗
angularVelocity Rigidbodyの角速度ベクトル
centerOfMass Transformの原点に対する質量の中心
collisionDetectionMode Rigidbodyの衝突検出モード
constraints Rigidbodyのシミュレーションで自由に操作できる軸をコントロールします
detectCollisions 衝突検出を有効にするかどうか(デフォルトでは常に有効)
drag オブジェクトの抵抗
freezeRotation 物理演算による回転の影響を受けるかどうか
inertiaTensor 質量の中心に対する、相対的な対角慣性テンソル
inertiaTensorRotation 慣性テンソルの回転角度
interpolation Interpolation allows you to smooth out the effect of running physics at a fixed frame rate.
isKinematic 物理演算の影響を受けるかどうか
mass Rigidbodyの質量
maxAngularVelocity Rigidbodyの最大角速度(デフォルトは7)範囲は { 0, infinity }.
position Rigidbodyの位置
rotation Rigidbodyの角度
sleepAngularVelocity 設定した角速度以下になるとオブジェクトはスリープモードになります (デフォルトは0.14) 範囲は { 0, infinity }
sleepVelocity 設定した線速度以下になるとオブジェクトはスリープモードになります (デフォルトは0.14) 範囲は { 0, infinity }
solverIterationCount 許可されているRigidbodyあたりのソルバー反復回数
useConeFriction Rigidbodyで摩擦円錐を使用するかどうか
useGravity Rigidbodyが重力の影響を受けるかどうか
velocity Rigidbodyの速度ベクトル
worldCenterOfMass ワールド座標による質量の中心値 (Read Only)

Functions

AddExplosionForce 爆発のエフェクトをシミュレートするためにRigidbodyに力を適用させます。爆発力はRigidbodyからの距離に応じて直線的に減少していきます
AddForce Rigidbodyオブジェクトに力を加えます。力を加えることでオブジェクトを動かすことが出来ます
AddForceAtPosition 特定の位置から力を適用します。結果、これはトルクを適用しオブジェクトに力を加えます
AddRelativeForce ローカル座標に対してRigidbodyに相対的な力を加えます。
AddRelativeTorque ローカル座標に対してRigidbodyに相対的なトルクを加えます。
AddTorque Rigidbodyにトルクを追加します
ClosestPointOnBounds アタッチされたコライダーのバウンディングボックスに最も近い位置
GetPointVelocity ワールド座標における、Rigidbodyオブジェクトの速度を取得します
GetRelativePointVelocity ローカル座標における、Rigidbodyオブジェクトの相対的速度を取得します
IsSleeping スリープモードかどうか
MovePosition Rigidbodyオブジェクトを指定する位置へ移動します
MoveRotation Rigidbodyオブジェクトを指定する角度へ回転します
SetDensity 不変な密度と仮定してアタッチされたコライダをもとに質量を設定します
Sleep 最新の1フレームでRigidbodyを強制的にスリープモードにします
SweepTest Rigidbodyオブジェクトが特定の方向でオブジェクトと衝突するかテストします
SweepTestAll Rigidbody.SweepTestのようですが、これはヒットした全てを返します
WakeUp 強制的にスリープモードを解除します

Messages

OnCollisionEnter OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider.
OnCollisionExit OnCollisionEnter is called when this collider/rigidbody has stopped touching another rigidbody/collider.
OnCollisionStay OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider.

Inherited members

Variables

animation GameObjectにアタッチされたAnimation (アタッチされていない場合はnull)
audio GameObjectにアタッチされたAudioSource (アタッチされていない場合はnull)
camera GameObjectにアタッチされたCamera (アタッチされていない場合はnull)
collider GameObjectにアタッチされたCollider (アタッチされていない場合はnull)
collider2D GameObjectにアタッチされたCollider2D
constantForce GameObjectにアタッチされたConstantForce (アタッチされていない場合はnull)
gameObject このコンポーネントはゲームオブジェクトにアタッチされます。コンポーネントはいつもゲームオブジェクトにアタッチされています。
guiText GameObjectにアタッチされたGUIText (アタッチされていない場合はnull)
guiTexture GameObjectにアタッチされたGUITexture (アタッチされていない場合はnull)
hingeJoint GameObjectにアタッチされたHingeJoint (アタッチされていない場合はnull)
light GameObjectにアタッチされたLight (アタッチされていない場合はnull)
networkView GameObjectにアタッチされたNetworkView (アタッチされていない場合はnull)
particleEmitter GameObjectにアタッチされたParticleEmitter (アタッチされていない場合はnull)
particleSystem GameObjectにアタッチされたParticleSystem (アタッチされていない場合はnull)
renderer GameObjectにアタッチされたRenderer (アタッチされていない場合はnull)
rigidbody GameObjectにアタッチされたRigidbody (アタッチされていない場合はnull)
rigidbody2D GameObjectにアタッチされたRigidbody2D
tag ゲームオブジェクトのタグ
transform GameObjectにアタッチされたTransform (アタッチされていない場合はnull)
hideFlags オブジェクトは非表示、シーンに保存、ユーザーが編集可能などを行うかどうか
name オブジェクト名

Functions

BroadcastMessage ゲームオブジェクトまたは子オブジェクトにある すべての MonoBehaviour を継承したクラスにある methodName 名のメソッドを呼び出します。
CompareTag Is this game object tagged with /tag/?
GetComponent Returns the component of Type type if the game object has one attached, null if it doesn't.
GetComponentInChildren Returns the component of Type type in the GameObject or any of its children using depth first search.
GetComponentInParent Returns the component of Type type in the GameObject or any of its parents.
GetComponents Returns all components of Type type in the GameObject.
GetComponentsInChildren Returns all components of Type type in the GameObject or any of its children.
GetComponentsInParent Returns all components of Type type in the GameObject or any of its parents.
SendMessage Calls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwards Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
GetInstanceID Returns the instance id of the object.
ToString ゲームオブジェクトの名前を返します

Static Functions

Destroy ゲームオブジェクト、コンポーネントやアセットを削除します
DestroyImmediate 直ちにオブジェクトを破壊する。ですが、Destroy関数の方を使うことを推奨します
DontDestroyOnLoad 新しいシーンを読み込んでもオブジェクトが自動で破壊されないように設定します
FindObjectOfType タイプから最初に見つけたアクティブのオブジェクトを返します
FindObjectsOfType タイプから見つけた全てのアクティブのオブジェクト配列を返します
Instantiate original のオブジェクトをクローンします

Operators

bool オブジェクトが存在するかどうか
operator != 二つのオブジェクトが異なるオブジェクトを参照しているか比較します
operator == 二つのオブジェクトが同じオブジェクトを参照しているか比較します