前回の連載では、自分の手でキーフレームを打ってモノを動かす方法を学びました。
これだけでも十分に「演出」ができますが、Unityにはもう一つ、もっと手軽に、そして驚くほどリアルにモノを動かす方法があります。
それが 『物理演算(フィジックス)』 です。
「物理演算なんて、数学や難しい計算が必要なんじゃ……」と思うかもしれませんが、デザイナーがやることは 「この箱には重さがあるよ」という属性(コンポーネント)をペタッと貼り付けるだけ。
今回は、マウス操作だけで現実世界のような「重力」や「衝突」を再現する方法をマスターしましょう。
3Dモデルはデフォルトでは「幽霊」である
Unityで作成したばかりの “Cube”(立方体) や “Sphere”(球体) には、実は「重さ」も「実体」もありません。
そのまま再生ボタンを押しても、空中に浮いたままです。
また、他のオブジェクトをぶつけても、まるで幽霊のようにスルーっと通り抜けてしまいます。
これらに 「重さ」 を与えるのが 『Rigidbody(リジッドボディ)』 、「当たり判定」 を与えるのが 『Collider(コライダー)』 という機能です。
重力を与える:Rigidbody(リジッドボディ)
まずは、空中に置いたCubeを地面に向かって「自由落下」させてみましょう。
-
シーン上にある “Cube” を選択します。
-
画面右側の 『インスペクター(Inspector)』 パネルの一番下にある 『Add Component(コンポーネントを追加)』 ボタンを押します。
-
検索窓に
Rigidbodyと打ち込み、出てきた 『Rigidbody』 を選択します。 ※Rigidbody 2Dではない方を選んでください。
これだけで準備完了です。画面中央の 『再生ボタン(▶)』 を押してみてください。Cubeがスーーッと下に落ちていきましたか?
デザイナーへの翻訳Tips: 『Rigidbody』 は、デザインツールでいうところの 「物理レイヤー」 を有効にするスイッチのようなものです。
これを付けるだけで、そのオブジェクトはUnity世界の物理法則(重力など)の支配下に入ります。
衝突させる:Collider(コライダー)
先ほどCubeを落とした際、地面を突き抜けてどこまでも落ちていってしまったはずです。
これは、Cubeと地面の間に 「衝突(当たり判定)」 が機能していないからです。
物をぶつけるには、オブジェクトに 『Collider(コライダー)』 という「目に見えない透明な衝突用の膜」を張る必要があります。
-
Cubeなどの基本図形:最初からそれぞれの形のコライダーがセットされています。
-
地面(Planeなど):こちらも最初からセットされています。
もし突き抜けてしまう場合は、地面を選択してインスペクターを確認し、 『Mesh Collider』 などの名前がついた項目にチェックが入っているか確認しましょう。
実践:積み木崩しで遊んでみよう!
物理演算の楽しさを実感するために、簡単な 「積み木崩し」 を作ってみましょう。
-
地面(Plane)の上に、Cubeをいくつか縦に積み上げます。
-
すべてのCubeに 『Rigidbody』 を追加します。
-
少し離れた場所に “Sphere”(球体) を作り、これにも 『Rigidbody』 を追加します。
-
再生ボタンを押し、一時停止します。
-
球体を選択し、移動ツール(Wキー)で積み上げたCubeに向かって 勢いよく動かして、再生を再開 してみてください。
ガシャーン!と音はしませんが(設定すれば鳴らせます)、積み木が崩れる様子が見られるはずです。
コードを1行も書かずに、これほどリアルな挙動が作れる。
これがUnityの強力な武器の一つです。
注意:「再生中」の罠を思い出して!
物理演算を試していると、ついつい再生したままオブジェクトを並べ替えたくなります。
しかし、連載第2回でお伝えした通り、 「再生ボタンが押されている(画面が暗い)間に行った変更」は、再生を止めるとすべてリセットされます。
「いい感じに積み木が崩れた状態で保存したい!」と思っても、再生を止めると元の整列した状態に戻ってしまいます。調整は必ず 「停止状態」 で行いましょう。
まとめ:あなたは「世界の法則」を手に入れた
今回は、マウス操作だけでリアリティを生み出す 『物理演算』 について解説しました。
-
Rigidbody を付けると「重力」で落ちるようになる。
-
Collider があると「モノ」同士がぶつかるようになる。
-
数値をいじるだけで、重い鉄球や軽いピンポン玉のような表現も自由自在。
これであなたの3D空間は、ただの「絵」から、現実と同じように 「反応が返ってくる世界」 になりました。
次回は、デザイナーが最もワクワクする「仕上げ」の工程。インスタのフィルターのように画面全体を一瞬でエモくする 『ポストプロセッシング』 についてご紹介します!

