みなさんこんにちは!UnityやUnreal Engineを勉強しながらゲームつくるマンです。
ゲーム開発ツールのUnityを少しづつ勉強中。解説書やネットで調べた情報を参考にして覚えたことを忘れないように書き留めています。
Unityのアドベンチャーゲーム制作アセットAdventure Creatorの公式サイトに掲載されている英語のチュートリアルを翻訳しながら進めていきたいと思います。
今回はMecanimベースのキャラクター作成のPart2になります。Part1でMechanimのアニメーション設定を行ったキャラクターに各種コンポーネントを追加してコントロールできるようにします。
キャラクターに必要なコンポーネントを追加し、定義されたパラメーターをコントロールする方法をAnimator Controllerに伝えます。[Inspector]パネル > [Add Componet]ボタンをクリックしてモデルに次のコンポーネントを追加します。
- Phisics > Capsule Colliderコンポーネント
- Phisics > Rigidbodyコンポーネント
- Adventure Creator > Characters >Player(Script)またはNPC(Script)コンポーネント
- Audio > Audio Source(必要に応じて)
※Player(Script) または NPC(Script)コンポーネントを追加するとPaths(Script)コンポーネントが自動的に追加されます。
Capsule Colliderコンポーネントは、底面が床に触れるように調整する必要があります。
次に、キャラクターを選択して[Inspector]パネル > Rigidbodyコンポーネントの”Freeze Rotation”フィールドの3つのボックスすべてをチェックします。
アニメーションエンジンのフィールドのすぐ下には、Mecanimのパラメータパネルがあります。コントローラのパラメタの名前を定義します。Mecanim parameters: > Move speed float: > MoveSpeed に設定します。
必要に応じてコントローラに統合するTurn floatパラメータも指定できます。このパラメータは、キャラクターが左に回転すると-1になり、右に回転すると+1になります。また、MecanimのRoot Motion機能を利用してキャラクターを動かすようにAdventure Creatorに指示することもできます。そうでなければ、Rigidbodyを使用して移動されます。
[Movement settings]パネルでCharacterが動いたときにMoveSpeed値がどの値を取るかを定義することができます。MoveSpeed値が0.1より大きいときHumanoidWalkアニメーションが再生されますが、1より大きい場合はHumanoidRunが再生されるので、Walk speed scaleを1に設定し、Run speed scaleを2に設定します。キャラクターは今、Adventure Creatorのゲームに配置する準備ができました!プレハブに変えて仕上げましょう。Playerキャラクターを作成している場合は、[Inspector]パネル上部でPlayerタグ、 Ignore Raycastレイヤーを設定します。
Playerキャラクターを選択して[Hierarchy]パネルから[Project]パネル > ゲームフォルダ(今回はTestGame) > Resourcesフォルダにドラッグ&ドロップ。Playerプレハブを[AC Game Editor]パネル > Settings Managerに割り当てます。
ということで、Playerキャラクターの作成が一通り完了しました。キャラクターのアニメーションはMecanimで設定したトランジョンのパラメータをAdventure Creatorで用意されているキャラクター制御のスクリプトに割り当てるだけでOKみたいですね。Part3ではテスト用のシーンを作成して今回設定したPlayerキャラクターを実際に操作テストをしてみたいと思います。