Categories: Unity

Unity Adventure Creatorチュートリアル:Mecanimベースのキャラクター作成-Part1

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をデフォルトにします。

[Animator]パネル > [Parameters]ボタンをクリック。[+]ボタンをクリックしてFloat変数を追加。名前をMoveSpeedに変更します。

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で紹介したいと思います。

corevale