Sunday, September 30, 2018

Amazon Lumberyardで自作のキャラクターモデルを動かしてみる(2) -Motion Setの作成-

今回はMotion Setを作成します。Motion Setは複数のモーションを一箇所にまとめた物です。
併せて、モーションの表示テストも行ってみます。

参考資料:Amazon Game TechのYoutubeチャンネル

まずLumberyardを起動します。
前回書いた通り、使用しているLumberyardのバージョンは1.15.0.0です。


Tools - Animation Editor(PREVIEW)を実行します。


Animation Editorが表示されます。(もしかしたらビューの数や配置が異なるかも知れませんが気にしないで下さい。)


Animation EditorのメニューのViewを開いて下さい。現在開いているビューの横にチェックが入っています。


とりあえず全部のチェックを外してみます。


Animation Editorの画面からビューが全部無くなりました。


ここからは必要なビューだけを表示して作業して行きます。
まずActor(キャラクターモデル)をロードする為にActor Managerを開きます。View - Actor Managerを実行します。


Actor Managerが開きました。


Load actors from fileアイコンをクリックしてファイルブラウザを開きます。


ファイルブラウザから、前回用意したキャラクターモデルのFBXファイルをロードします。


Actor ManagerにActorが追加されました。


Actor Managerを閉じ、次にOpenGL render windowを開きます。


さきほどロードしたActorが表示されます。ビューはAlt+マウス各ボタンで操作出来ます。


次にMotion Setsを開きます。


Motion Setsが開いたら、上ペインのAdd new motion setアイコンをクリックします。


新規Motion Setが作成されました。


作成された"MotionSet0"をクリックして選択します。


下ペインのAdd entries by selecting motionsアイコンをクリックして、各モーションのFBXファイルをロードする為のファイルブラウザを開きます。


ファイルブラウザから、前回用意した各モーションのFBXファイルをロードします。


各モーションが、先ほど作成した"MotionSet0"に追加されました。


作成したMotion Setはセーブする必要があります。
上ペインのSave selected root motion setアイコンをクリックしてファイルブラウザを出し、適当な場所に適当な名前でセーブします。

セーブしたら、Motion Setのビューを閉じて下さい。
Motion Setの作成作業は以上で終了です。

では、モーションのテストを行ってみましょう。
Command barとMotionsを開きます。


画面内に開いているのがMotionsのビュー、画面下端に横長に表示されているのがCommand Barです。


MotionsのNameカラムでモーションを一つクリックして選択します。


Command barの三角ボタンをクリックすると、先ほど選択したモーションが再生されます。




四角ボタンを押すと再生が終了し、キャラクターがバインドポーズに戻ります。


今回は以上です。
次回は各モーション間の遷移を作ります。

Saturday, September 29, 2018

Amazon Lumberyardで自作のキャラクターモデルを動かしてみる(1) -ファイルの準備-

ほぼ8年ぶりの更新です。

Amazon Lumberyard学習のメモとして、今回から何回かに分けて
「自作のキャラクターモデルをLumberyardで動かしてみる」
という内容のチュートリアルみたいな記事を書いて行こうと思います。
使用しているLumberyardのバージョンは1.15.0.0です。
では早速始めましょう!

まずはキャラクターモデルを用意します。このモデルはMayaで作成しました。
Mayaでの1ユニットを1cmに設定しています。
今回は質感には特にこだわっていないので、テクスチャーはDiffuse一枚だけを使っています。

スケルトンはこんな感じです。

バインドポーズとスケルトン構成です。ジョイントに左右を示すプレフィックス(L_とR_など)を付けておくと、Lumberyardでモーションの反転が出来る様になります。

このキャラクターモデルを、MayaからExport-allでFBXとしてエクスポートします。注意点は以下の通り。

・バインドポーズにする
・アニメーションキーを全て削除する
・スケルトンとスキン以外のオブジェクトは削除する
・マテリアルとテクスチャーはアサインしておく。ただしテクスチャーパスは後から変えられるので正しくなくても良い。

今回は使用しているMayaのバージョンが古い(Maya2008)都合で、FBXも古いバージョンであるFBX200611としてエクスポートしています。ファイル名は適当に付けて構いません。

ちなみにMayaはデフォルトではY-UPでLumberyardはZ-UPですが、インポートの際に自動で変換されるので意識する必要はありません。

次に、同じスケルトンを使ったアニメーションのシーンを用意します。
今回はニュートラル・パンチ・伸び・膝上げの四つのシーンを用意しました。

注意点は以下の通りです。

・スケルトンのみのシーンとして作る。IKハンドルなどを使っている場合はキーをジョイントにベイクしてから削除する。
・ループするアニメーションの場合は、最初と最後のフレームのポーズを同じにする。例えば30fpsで1秒ループのアニメーションの場合、0〜29フレームではなく0〜30フレームをアニメーション範囲とする。

これらのシーンもMayaからExport-allでFBXとしてエクスポートします。ファイル名は適当で構いません。

こちらが出力したFBXです。一番上がキャラクターモデル、他がアニメーション用のファイルです。


ファイルの準備が出来たら、C:/Amazon/Lumberyard/1.15.0.0/dev/StarterGame/の下に適当なフォルダを作って移動させます。
今回は以下の構成にしました。

キャラクターモデルの移動先
C:/Amazon/Lumberyard/1.15.0.0/dev/StarterGame/Items_LowPolyMan/actor/

アニメーションの移動先
C:/Amazon/Lumberyard/1.15.0.0/dev/StarterGame/Items_LowPolyMan/animation/

テクスチャーの移動先
C:/Amazon/Lumberyard/1.15.0.0/dev/StarterGame/Items_LowPolyMan/textures/

さて、次はいよいよLumberyardでの作業に入ります。