Unityのアドベンチャーゲーム制作アセットAdventure Creator の公式サイトに掲載されている英語のチュートリアル を翻訳しながら進めていきたいと思います。
今回からチュートリアルのキャラクター編に進みます。内容は次の通り。
- レガシーベースのキャラクター作成
- Mecanimベースのキャラクター作成
- 2Dスプライトベースのキャラクター作成
- 3Dスプライトベースのキャラクター作成
- クリッカブルNPCの作成
- 足音の設定
- 一人称視点プレイヤーの設定
- ホットスポットの自動検知設定
- ゲーム中のプレイヤー変更
- 表情のアニメーション
本当は順番にチュートリアルを行っていきたいのですが、11月12日に開催されるデジゲー博2017 に出展するゲーム制作のスケジュールを考えて必要と思われる内容に絞ることにしました。今回はMecanimベースのキャラクター作成を見ていきましょう。
Mecanimベースのキャラクター作成
原文:Making a Mecanim-based Character
このチュートリアルでは、Mecanim対応のキャラクターモデルを作成し、Adventure Creatorにそれらを統合することに焦点を当てています。
原文のチュートリアルでは有料のキャラクターアセットKBH Toon – Adventure 01 を使用していますが、ここでは無料のキャラクターに置き換えて進めたいと思います。
ということで、Unityアセットストアから無料のキャラクターモデルアセットの定番といえばユニティちゃん ですが、ここはあえてはずしてUnityが提供しているロボットキャラクターSpace Robot Kyle を使ってみました。
アセットのインポートが完了したら先にキャラクターモデルにMecanim用の設定をしておきます。
アセットをインポートすると[Project]パネル > Assets > Robot Kyleフォルダが作成されています。さらにRobot Kyle > Model > Robot Kyle を選択します。[Inspector]パネル:Rigボタンをクリック。Animation Type: Humanoid に変更。[Apply]ボタンをクリック。
PlayerキャラクターかNPCかにかかわらず、空のシーンを作成してからキャラクターモデルを[Hierarchy]パネルまたは[Scene]ビューにドラッグして配置します。
モデルのアニメーションを制御するためにAnimator Controllerを構築する必要があります。[Project]パネル > Assets > 自分のゲームフォルダに移動します。[Create]ボタン > Folder を選択します。フォルダ名を”Controllers”に変更します。もう一度[Create]ボタンをクリック > Animator Controllerを選択して作成します。名前はRobot Kyleに変更しておきます。
次にキャラクターモデルを選択。[Inspector]パネル > Animatorコンポーネント > Controllerフィールドに先ほど作成したAnimator Controllerドラッグして割り当てます。
キャラクターがRoot Motionを使用する場合、Adventure Creatorはこれをサポートします – いつものように”Apply Root Motion”にチェックするだけです。
いくつかのアニメーションを用意しましょう。Robot Kyleのキャラクターモデルにはアニメーションが含まれていないのでStandard AssetsのCharactorをインポートして利用します。メニュー:Assets Inport Package > Characters を選択。
メニュー:Window > Animatorを選択して[Animator]パネルを開きます。[Project]パネル > Assets > Standard Assets > Characters > ThirdPersonCharacter > Animation フォルダに移動します。HumanoidIdle、HumanoidWalk、HumanoidRunの3つのアニメーションをドラッグし、HumanoidIdleをデフォルトにします。
MoveSpeedのFloat変数を使用して、HumanoidIdle、HumanoidWalk、および実行アニメーションのうちどれを再生するかを決定しますが、MoveSpeedの値が非常に小さい場合はキャラクターを静止させたままにします。HumanoidIdleとHumanoidRunの間に、2つのトランジションを作成します。トランジョンを作成するにはいずれかのステートを右クリックし、もう一方をクリックしてトランジションを作成します。
HumanoidIdle → HumanoidWalkトランジションでは、ConditionをMoveSpeed Greater 0.1に設定します。
HumanoidWalk → HumanoidIdleトランジションでは、ConditionをMoveSpeed Less 0.1に設定します
同様に、HumanoidWalkとHumanoidRunの間にさらに2つのトランジションを作成します。HumanoidWalk
→ HumanoidRunを実行するには、ConditionをMoveSpeed Greater 1に設定します。
そしてHumanoidRun → HumanoidWalkトランジションのために、ConditionをMoveSpeed Less 1に設定します。
完成したコントローラは次のようになります。
ということで一通りキャラクターのMechanimアニメーションの設定が完了しました。キャラクターをシーン上で動かすための設定はPart2で紹介したいと思います。