Unityで動きのアニメーションを簡単に付けられるMecanimの基本的な使い方ゲーム開発初心者のためのUnity入門(6)(2/3 ページ)

» 2016年12月15日 05時00分 公開
[薬師寺国安PROJECT KySS]

Mecanimを適用させる3Dキャラの配置

 まず、3Dキャラクターを配置する「床」を作成する。「床」には「Plane」を使う。Hierarchyの「Create」→「3D Object」→「Plane」、名前に「floor」とする。Hierarchyから「Plane(floor)」を選択し、「Inspector」内の「Transform」の値を、表1のように設定する。

表1 「Plane(floor)」の「Transform」の値
Position X=0 Y=-1 Z=0
Rotation X=0 Y=0 Z=0
Scale X=15 Y=5 Z=15

 Scene画面とGame画面で見ると図5のように見える。

図5 Scene画面とGame画面

 次に、「Project」内の「Locomotion Setup」の「Animations」フォルダにある、「DefaultAvatar.fbx」をScene画面の「floor」の上にドラッグ&ドロップする(図6)。

図6 「DefaultAvatar」を「floor」の上にドラッグ&ドロップした

 この状態で、カメラからどのように見えるかGame画面で確認しながら「DefaultAvatar」がある程度の大きさで表示されるよう調整する。図7のように見えるように調整する。

 Hierarchyから「Main Camera」を選択すると、デフォルトでは「トランスフォームツール」の「移動」が選択された状態で、3本の矢印が表示されるので、この矢印を、Game画面を見ながら操作して配置すると簡単だ。

図7 最終的調整した「DefaultAvatar」の表示

 後で分かるが、このカメラの位置には、あまりこだわる必要はない。なぜなら、最終的にはカメラが3Dキャラクターを自動的に追従するように設定するからだ。しかし、「カメラをどう動かせば、キャラクターがどのように表示されるか」を知っておく必要があるため、3本の矢印での移動方法を解説しておいた。

 さて次は、いよいよこの3Dキャラクターを動かしてみよう。

3Dキャラを動かす

 まずHierarchy内で「DefaultAvatar」を選択し、「Inspector」内の「Animator」の「Controller」の右端隅にある「○に・」のアイコンをクリックして、「Select RuntimeAnimatorController」を表示させて、その中から「Locomotion」を選択する(図8)。

図8 「Inspector」内の「Animator」の「Controller」に、「Locomotion」を選択

 次に、Hierarchyの「DefaultAvatar」を選択し、「Inspector」内の「Add Component」で「Scripts」を選択し、表示される「Locomotion Player」を追加する(図9)。

図9 「Add Component」で「Locomotion Player」を追加

 この状態からプレー画面を実行すると、動画1のように3Dキャラクターをキーボードの矢印キーで操作できるようになる。

動画1 3Dキャラクターをキーボードで操作する

カメラが3Dキャラクターを追い掛けるようにする

 この状態では、カメラが3Dキャラクターに追従していないので、3Dキャラクターが画面から隠れてしまう。そこで、Hierarchyから「Main Camera」を選択し、「Inspector」内の「Add Component」から「Camera-Control」を選択し、表示される「Smooth Follow」を選択する(図10)。

図10 「Smooth Follow」を選択

 すると、図11のように「Main Camera」の「Inspector」内に「Smooth Follow(Script)」の項目が追加される。

図11 「Main Camera」に「Smooth Follow(Script)」の項目が追加された

 図11の「Smooth Follow」内の「Target」の横にある「○に・」ボタンをクリックする。「Select Transform」の画面が表示されるので、「DefaultAvatar」を選択する(図12)。

図12 「DefaultAvatar」を選択

 「Smooth Follow」内にある「Distance」はキャラクターとカメラからの距離を表し、値を大きくすると、カメラが対象から遠く離れて追従するようになる。値を小さくすると、カメラが対象に近づいて追従する。ここでは、デフォルトの「2.75」のままにしている。またHeightはキャラクターからのカメラの高さの位置を表す。デフォルトのままにしている。各自がいろいろ値を変えてどのように表示されるか、確認してほしい。

 では、この状態で、再度プレー画面を実行してみよう。今度は動画2のように、カメラが3Dキャラクターを追い掛けてくれる。

動画2 カメラが3Dキャラクターに追従する

 これで、3Dキャラクターを動かすことはできた。次は、3Dキャラクターの前に障害物を置いて、障害物に衝突すると動けないようにしてみよう。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。