Three.jsを使って、作ってみた

プログラミング関連の事を色々書いています(^^) 週末はレストランやコンビニのお菓子のことを書いています。

Unity 物理特性をつける Rigidbody

今回は、Unityの「Rigidbody」について書きます。


Rigidbodyを使うと、GameObjectに物理特性をつける事ができます。
例えば、ボールが落ちたり、ボールがバウンドしたり、などの現象をつけることができます。


では、Rigidbodyを使って、オブジェクトを落とす方法を書いていきます。

はじめに、物理特性をつけたいGameObjectを選びます。
f:id:gupuru:20140419212750p:plain

次に、「Inspector」の一番下にある「Add Component」をクリックします。
f:id:gupuru:20140420195733p:plain

すると、このような画面がでます。ここで、「Physics」を選びます
f:id:gupuru:20140420195835p:plain

で、「Rigidbody」を選びます。
f:id:gupuru:20140420200113p:plain


「Inspector」の方をみると、「Rigidbody」という項目ができています。
f:id:gupuru:20140420200203p:plain

ここに、書かれている内容は・・・

  • Mass ・・・ 質量
  • Drag ・・・ 抵抗(空気抵抗)
  • Angular Drag ・・・ 回転に対する抵抗
  • Use Gravity・・・重力を使うか
  • IsKinematic・・・ONにすると、他のオブジェクトには物理的影響を与えるが、他のオブジェクトからは物理的影響をうけなくなる。

こんな感じです。

オブジェクトを落とすには、「Use Gravity」をONにする必要があります。

この「Rigidbody」の所で、設定ができたら、再生します。
再生は、「▶」のマークをクリックします。
f:id:gupuru:20140420200811p:plain


すると、オブジェクトが落下します。
f:id:gupuru:20140420201043p:plain



で、上のままだと落下するだけです。
次に、オブジェクトが地面に衝突したら、バウンドするようにします。

まず、「Create」の「Physic Material」を選択します。
f:id:gupuru:20140420223038p:plain

すると、このようなマークのモノが「Aseets」にできます。
f:id:gupuru:20140420223147p:plain

で、こちらを選択し、「Inspector」の所を見るとこうなっています。
f:id:gupuru:20140420223303p:plain
ここで、様々な設定をします。

設定内容は・・・

  • Dynamic Friction・・・移動中の場合に使用される摩擦。
  • Static Friction・・・オブジェクトが面上で静止したままの場合に使用される摩擦。
  • Bounciness・・・面の跳ね返し度合い。

など様々な設定ができます。
他のやつは、こちらに書かれています↓
Unity - Unity Manual

バウンドさせるには、Bouncinessの値を0.6や0.9などに設定します。

あとは、オブジェクトにドラッグ・アンド・ドロップするだけです。
f:id:gupuru:20140420223754p:plain


これで、オブジェクトを押すと、バウンドします。


これで、終わります。


参考サイト
Unity - Unity Manual
Unity - Unity Manual