2016.10.10
第8回目:3Dキャラクターをノンプログラミングで動かす(後編)
今回は前回からの引き続きで、ユニティちゃんをキーボードの「前後左右」矢印キーで動かす方法を解説していきましょう
はじめに
では、今回は前回からの引き続きで、ユニティちゃんをキーボードの「前後左右」矢印キーで動かす方法を解説していきましょう。 前回は図1の状態で終わっていたと思います。
Animatorの設定
Hierarchyからunitychanを選択し、表示されるInspectorのAnimatorの「Controller」に右端隅に表示されている「○に・」のアイコンをクリックして、「Select RuntimeAnimatorControllerから「Locomotion」を選択します(図2)。
デフォルトで「Apply Root Motion」にはチェックが付いていると思いますが、もしチェックが付いていなかった場合は、必ずチェックを付けてください(図3)。
Add Componentの項目を選択する
次に、unitychanのInspector内にある「Add Component」をクリックして、「Physics→Character Controller」と選択します(図4)。
すると、Inspector内に「Character Controller」が追加されます。Centerの「Y」に「1」と指定します。「1」を指定しておくと、物に当たった時の「当たり判定」が体の中心で判定されるようになります。ここは必ず「1」を指定しておいてください(図5)。
これは追加されるだけで、今回はこれらの項目が何を意味してるのかを知る必要はありません。「Character Controller」を追加する必要があるということを知るだけで十分です。
次に、同じく「Add Component」から「Scripts→Locomotion Player」と選択します(図6)。
すると、Inspector内に、「Locomotion Player(Script)」が追加されます(図7)。
このファイルはスクリプトファイルでC#で書かれています。現時点では、このスクリプトの内容を知る必要は一切ありません。
では、一度これで実行してみましょう。「Play」ボタンをクリックして、キーボードの「左右矢印」キーを操作してみてください。キー操作に応じてユニティちゃんが動くと思います。ただし、床からはみ出ると下に落下してしまいますので、注意してください。また、落下以前に、ユニティちゃんが移動すると、隠れて見えなくなってしまいます(図8)。これは、ユニティちゃんの動きに、カメラが追従していないのが原因です。 もちろん、ユニティちゃんの動きにカメラを追従させる処理も簡単に追加できます。
ユニティちゃんの動きにカメラを追従させる
Hierarchyから「Main Camera」を選択します。Inspectorの「Add Component」から「Camera-Control→Smooth Follow」と選択します。Inspector内に「Smooth Follow(Script)」が追加されます(図9)。
図9のTargetの横にある“○に・”のアイコンをクリックして、Select Transformの「Scene」タブからunitychanを選択してください(図10)。
またDistanceに「5」、Heightに「4」を指定します。Distanceは「Main Camera」からユニティちゃんまでの距離、Heightは高さを表します。このあたりの値は、実際に動かしてみて、自分のちょうどいい距離や高さの値を指定してください。図11のようになります。
以上でユニティちゃんの設定は完了です。次にPlane(床)が真っ白では味気ないので、Textureを適用してみます。
Plane(床)にTextureを適用する
「Project」から「Asstes→UnityChan→Stage→Textures」と選択します。3枚のTextureが表示されますので、自分の気に入ったTextureをPlane上にドラッグ&ドロップしてください。筆者は、「unitychan_tile6.png」を適用してみました(図12)。
Playで実行すると図13のようになります。
作品をUnity 5メニューの「File Save Scene as」から「ユニティちゃんを動かす」という名前で保存しておきましょう。
実際に動かしたのが下記の動画です。
ユニティちゃんをキーボードで操作する
https://youtu.be/ffKs3_BA0wo
今回は、これで終わりです。コードを一切記述することなく、Inspector内の設定だけで、ユニティちゃんをキーボードで自由に操れるようになります。すごいとは思いませんか。
次回は、今回作成した作品にジャンプ機能を追加してみます。