【Unity入門】物理演算をやってみよう

ゲームオブジェクトとコンポーネントの話を以前しました。今回はゲームオブジェクトに物理演算のコンポーネントを追加して、ゲームオブジェクトに動きを加えて行こうと思います。

この記事は本のように順を追って解説しています。この記事は途中のページになります。この記事を見ていて、現在の状況がわからない場合や忘れてしまった事などが出てきたら↓のリンクから目次ページへ飛べますので立ち戻って見てください。

<物理演算の機能を追加する>

下準備

今回はゲームオブジェクトを物理演算で動くようにしていきます。

といってもそんなに難しい事はしません。あれやこれや説明するよりやってみた方が早いので、とりあえずヒエラルキーで右クリック>3D Object >CubeでCubeを新規作成しましょう。

Object Cube

コンポーネントの追加方法

Cubeを選択した状態でインスペクターウィンドウを見てください
下の方にAddComponentというボタンがあると思うのですが、それを押してください。

すると↓のような状態になると思うのですが、検索ウィンドウに「rigidbody」と入れてみてください

add rigidbody

Rigidbodyというのが出てきたと思うのですが、これをクリックします。

↑のリンク先でリジッドボディについて詳しく解説していますが、今の段階ではちょっと難しいので無理に読む必要はありません。

inspector rigidbody

インスペクターの下の方にRigidbodyというのが追加されたと思います。これでCubeにリジッドボディというコンポーネントが追加されました。

このコンポーネントがついたオブジェクトは物理演算挙動で動くようになります。このように、AddComponentでゲームオブジェクトに機能を追加していくことができます。

シーンの再生

CubeにRigidbodyを追加する事ができたら今度はシーンを再生してみましょう。

unity play

この再生ボタンを押してください。

cube gravity

Cubeが落下しました。
これはCubeにリジッドボディをつけたことによって重力の物理演算が働いたため落下しています。

当たり判定について

ところでCubeを作成した時に始めからBox Colliderというコンポーネントがついていたかと思います。

add box collider

このBox Colliderというのが当たり判定を表します。

当たり判定の事をコライダーと言います。○○ Colliderという名前のやつは○○という種類の当たり判定になります。Box Colliderというのは箱状のコライダーということになります。

とりあえず、当たり判定というものがどういうものか見てみましょう。

またヒエラルキー>右クリック>3D Object>CubeでCubeを作ってください。
新しく作ったCubeをRigidbodyをくっつけたCubeの下に移動させてください。

move cube position

↑の状態できたら、再生ボタンを押してみてください。上がリジッドボディ有り、下がリジッドボディ無しです。

foll down

このように、当たり判定があるので上に乗る形になります。

解像度の関係で潰れて見えますが気にしないでください

それでは、下のCubeのBox Colliderのチェックを外してみてください。

box collider off

コンポーネントでチェックボックスが存在するやつはここのチェックを外すことによって無効にする事ができます。この状態で再生してみましょう。

not collision

下のゲームオブジェクトの当たり判定が無効になっているので、Cubeをすり抜けてしまいます。

<当たり判定の拡大縮小>

今度は、もう一回Rigidbodyナシの方のBoxColliderを有効にして、BoxColliderのSizeという項目のX,Y,Zを1.5倍にしてみてください。

collider size

すると、Cubeの周りに緑色の線が見えたかと思います。これが当たり判定になります。
この状態で再生してみましょう。

big collider

なんか隙間が生まれたと思います。当たり判定が大きくなっているからですね。

<重心>

とりあえず、大きくしたコライダーのサイズを元に戻して、今度はヒエラルキー>右クリック>3D Object>SphereでSphereを作ってください。

それをRigidbodyがついている方のCubeの子オブジェクトにして、ちょっとズラした位置においてください。

add sphere

これで再生すると↓のようになるかと思います。

foll down two

今度は、Sphereのコライダーを切ってみましょう。

sphere collider off

SphereにはSphere Colliderという球状の当たり判定がついています。これのチェックを外してみてください。これで再生すると

Center of gravity

↑のようになるかなと思います。

このようにRigidbodyを追加したゲームオブジェクトは「全ての子オブジェクトのコライダー」を考慮した物理挙動を行います。この時重心は全コライダーの真ん中になります。(プログラムを使うことにより変更することもできます)

<バウンド>

今度はもうちょっと物理演算っぽいことをしてみましょう。

新しくCubeとSphereを作成して、SphereにRigidbodyをつけてみましょう。

transform tools

Cubeは↑の左から四番目のアイコンのやつで拡大縮小を駆使して床っぽくしてみてください。

make plane

とりあえず、↑こんな感じで、Sphereにのみリジッドボディが付いている状態です。

そして、再生してみると

fall on plane

ボテッと落ちます。

このままではなんか想像していた感じにはならないので球をバウンドさせてみましょう。
プロジェクトウィンドウ上で右クリックし、Create>Physic Materialをクリックしてください。名前は適当でOKです。

make physic material

プロジェクトウィンドウで作成したPhysic Materialを選択している状態でインスペクターを見てみて下さい。

inspector physic material

前回、マテリアルというのを解説しました。
マテリアルが何か分からない方は↓の記事を参考にして下さい。

マテリアルというのはその物体の材質という意味でしたが、前回のマテリアルは物体の見た目についてだけでした。このPhysic Materialというものは物体の物理的な材質を設定できる機能です。

例の如く説明するよりやってみた方が早いので、試しに、Bouncinessという項目を1にしてみて下さい。

bounciness

そして、プロジェクトウィンドウからドラッグ&ドロップでSphereのコライダーのMaterialのところに入れて下さい。

attach sphere collider

この状態で再生すると

bound ball

このようにバウンドすると思います。

物体はこのPhysic Materialを使って物理的な性質を変えることができます。

Physic Materialを詳しく説明するとまだちょっと難しい部分が出てきてしまうので、今回のところはこれくらにしておこうと思います。もし、詳しい説明が知りたい方がいましたら↓の記事でまとめてみましたので、もし興味がある方は見てみてください。

<わからない事があったら>

このサイトの説明ではよくわからなかったとか、もっと知りたい事などがあれば、また別の勉強方法があるので違った切り口を使ってみるのもいいと思います。

<オススメの本>

本で詳しい解説がされているので書籍を買ってみるというのも手の一つです。最近はKindle版があるので届くまで待つ事もなく場所も取らないのでとても良いです。

<オンラインスクール>

オンラインスクールでは人に質問する事ができるので、行き詰まってしまった方にオススメです。 無料体験もあるので試しに見てみるのも手ですよ




と、いうわけでUnityの簡単な物理演算でした。次回はいよいよプログラミングをやってみたいと思います。苦手意識がある方、難しいと思っている方でも初心者が扱うような部分は割と簡単ですのであまり抵抗を持たずに見ていただけると幸いです。




タイトルとURLをコピーしました