今回はUnityの有料3Dアセットを使ってキャラクターにポーズを付けてみたいと思います。

Unityは基本的にゲームを作る開発エンジンなので、キャラクターは動作させるのが一般的なのですが、まるで写真の一場面の様なものを表現したいというケースもあると思います。いくつかの一場面を組み合わせて、簡単な漫画の様なコンテンツを製作する事もできます。

今回は有料アセットであるsynty studios製のキャラクターを使用して、3Dキャラクターにポーズを付けてみたいと思います。
※おなじみのUnityのStandard Assetsのキャラクターも登場します!

3Dキャラクターにポーズを付ける際には、各モデルのボーン情報なども理解しておく必要がありますので、その点にもふれながら、3Dキャラクターのポーズの付け方を紹介していきたいと思います。

有料アセットを使って3Dキャラクターにポーズを付ける

では実際に有料アセットを使って3Dキャラクターにポーズを付けてみましょう。

今回は以下の流れで、キャラクターに走るポーズを付けてみたいと思います。

  • 事前準備・環境設定
  • 3Dキャラクターのボーンについて理解を深める
  • 3Dキャラクターに走るポーズを付けてみる

事前準備・環境設定

事前準備・環境設定は以下になります。

■Unityのバージョン

  • 2019.4.19

■プロジェクトのテンプレート

  • 3Dテンプレートを使用

■使用するアセット

  • Synty Store「POLYGON – Town Pack」※有料
  • UnityのStandard Assets ※無料

Syntyのキャラクターアセットの使い方については以下の記事を参考にして下さい。

3Dキャラクターのボーンについて理解を深める

3Dのキャラクターにはボーンというものが設定されています。

ボーンを理解する事でこの後で3Dキャラのポーズを作る仕組みがよく分かるかと思います。
※2種類のアセットのボーン情報を比較する事で、ボーンの構造が分かりやすいかなと思います。

Standard AssetsのThirdPersonCharacterSyntyのアセットに含まれる3DキャラクターをUnityのSceneビューに配置します。

Standard AssetsSyntyのアセットの3Dキャラクターを配置

ちなみに、プレハブのアセットを配置した後で操作をする場合は、「Unpack Prefab」をしておきましょう。

この操作をする事で、プレハブインスタンスが普通のオブジェクトになります。

以下の様な操作でUnpack Prefabができます。

Hierarchyウィンドウ  > プレハブインスタンスを選択 > 右クリック > Unpack Prefab

Unpack Prefabを選択

Syntyのアセットのボーン情報

Syntyのアセットのキャラクターのボーン情報を確認してみましょう。

以下のキャラクターをSceneビューに配置しています。

■Syntyのアセットのキャラクター

以下がボーン情報になります。

左手を選択しているので、Hierarchyウィンドウを確認すると「clavicle_l > upperarm_l > lowerarm_l > hand_l 」が選択されている事が分かります。

■Syntyのアセットのキャラクターのボーン情報

Standard Assetsのボーン情報

次にStandard Assetsのキャラクター(ThirdPersonCharacter)のボーン情報を確認してみましょう。

以下のキャラクターをSceneビューに配置しています。

■Standard Assetsのキャラクター

以下がボーン情報になります。

こちらも左手を選択しているので、Hierarchyウィンドウを確認すると「EthanLeftSoulder> EthanLeftArm > EthanLeftForeArm > EthanLeftHand 」が選択されている事が分かります。
※Ethanはこのキャラクターの名前です。

■Standard Assetsのキャラクターのボーン情報

3Dキャラクターに走るポーズを付けてみる

次に3Dキャラクターに走るポーズを設定してみましょう。

Standard Assetsの3Dキャラクターの右足を回転させて少し上にあげてみます。

ボーンを選択して回転させれば簡単に操作できます。

■右足を回転させて少し上にあげる

あとは繰り返しです。

各ボーンを回転させて、丁度良いポーズになる様にします。

少しぎこちないですが、Standard Assetsの3Dキャラクターが走るポーズを作りました。

■Standard Assetsの3Dキャラクターが走るポーズ

正面からも見てみましょう。横からだけの操作だと正面から見た時におかしなポージングになっている事があります。

■Standard Assetsの3Dキャラクターが走るポーズ(正面)

色々と操作をして、それなりに納得できるポージングになりました。

■Standard Assetsの3Dキャラクターが走るポーズ(斜め前)

同じ要領でSyntyアセットの3Dキャラクターにも走るポージングを設定してみました。

■Syntyアセットのキャラクターが走るポーズ

走るポージングを付ける操作自体はこれで完了です。ちょっとぎこちない部分もありますが、簡単にできますよね。

3Dキャラクターにポーズを付けて運動会の一場面を作る

次に3Dキャラクターを何人か配置して、運動会の一場面を作ってみます。

現在は以下の状態です。大きさなどは違いますが、Syntyアセットの3DキャラクターとStandard Assetsの3Dキャラクターを並べるだけでも運動会の一場面になります。

■Syntyアセットの3DキャラクターとStandard Assetsの3Dキャラクター

ここから様々な3Dキャラクターが用意されているSyntyアセットを使用して、運動会の一場面を作ってみます。
※Standard Assetsの3Dキャラクターはこれ以降は非アクティブにします。

3Dキャラクターを複製して別キャラクターを作る

まずはSyntyの3Dキャラクターを複製していきます。

HierarchyウィンドウでSyntyの3Dキャラクターを選択して、「Duplicate」で簡単に複製できます。

■「Duplicate」で複製

複製されたオブジェクトをクリックすると、その小オブジェクトとして、複数のキャラクターが存在している事が分かります。

この子オブジェクトのアクティブ・非アクティブを切り替えるだけで、ポージングを残したまま、見た目を別のキャラクターに変更できます。Syntyアセットは本当によくできている!!

■小オブジェクトに複数のキャラクターが存在している。現在「Character_SchoolBoy_01」表示中。

現在は「Character_SchoolBoy_01」が表示されていますが、これをInspectorウィンドウから非アクティブにします。

以下の赤枠のチェックを外すと、非アクティブになります。

■Inspectorウィンドウで非アクティブにする

次に別の小オブジェクトである「Character_Father_01」を選択しましょう。

■「Character_Father_01」を選択

そして、Inspectorウィンドウさせる様にチェックを行う。

■Inspectorウィンドウで表示にする

すると、複製したキャラクターが「Character_Father_01」に切り替わりました。

■複製したキャラクターが切り替わる

とりあえず、2人のキャラクターが走っている場面まで作成できました。

運動会の一場面

さて、キャラクターの数を増やして、もう少し賑やかな一場面を作成してみましょう。

先ほどと同じ要領で、さらに2人のキャラクターを増やしました。4人が走っている場面ができました。

男性キャラクターと女性キャラクターで走り方のポージングを少しだけ変えています。(男性は男性らしく、女性は女性らしく)

■4人が走っている場面

細かいポージングは変えているものの、全体的に同じようなポージングになってしまっていますよね。

簡単にポージングを大きく変える方法があります。それは左右を反転させる事。

反転させたいキャラクターを選択して、TransformのScaleのXの値を「-1」に設定しましょう。Xの値を「-1」に設定すると左右反転します。

■TransformのScaleのXの値を「-1」に設定

左右反転したキャラクターがいる事で、それぞれのキャラクターの動きが固有になり、少しだけ躍動感が出た様に見えませんか?

■4人が走っている場面(左右反転したキャラクターがいる状態)

まとめ

今回はSynty製のアセットを使用して、以下の様な流れで3Dキャラクターにポーズを付けてみました。

今回実践した事

  • 3Dキャラクターのボーンについて理解を深める
  • 3Dキャラクターに走るポーズを付けてみる
  • 3Dキャラクターの運動会の一場面を作ってみる

実際に3Dキャラクターにポーズを付けてみるとやはりすごく面白くてオススメです。

そして3Dキャラクターのボーンを色々といじってみる事で、各モデルのボーン操作の仕方についても理解を深める事ができます。

これは3Dゲームを作る上で重要なスキルにもなります。ぜひ3Dキャラクターにポーズを付けて、3Dモデルの構造についても理解を深めてみてほしいなと思います。