NGLE講座
■アニメーションとトリガ
アニメーションで使用されるトリガ
NGLEからはトリガをAnimCommands用にエクスポートすることが出来るようになりました。
そこで、まずAnimCommandsとは何かを説明したいと思います。
私もよくわかっていないので、正確な情報は実際に海外のフォーラムなどで調べてください。
AnimCommandsの種類
AnimationEditorのマニュアルによると、AnimCommandsを使用して以下のことが出来るようになります。
- Set Position
- アニメーション後にオブジェクトの新しい座標を設定します。3つのテキストフィールドは、X、Y、Z値です。注:1つのブロックは1024です。そして、Yは負の数を入力します。
- Set grab position
- 詳細は不明ですがおそらく、対象に棚をつかませるために使われると思われる。
- Command 3
- 詳細は不明。
- Die
- 敵の死のアニメーションに使われます。
- Play Sound
- 効果音を演奏します。テキストボックスに効果音を必要とするフレームを入力してください。そしてドロップダウンから効果音を選択します。最後に、常時か陸地か水中を選択します。
- Play Effect
- このフレームへの効果を付けます。最初のフィールドはフレーム番号です。効果は、ドロップダウンメニューから選択します。
AnimCommandsを探す
では実際にアニメーションの中でAnimCommandsを探してみましょう。
すぐに見つかるのが「Play Sound」でしょう。この種類のAnimCommandsはアニメーションのフレームが緑色になります。
この設定を使うと、敵の鳴き声や足音、ドアの開く音などを変更することができます。
次は、「Die」でしょうか。敵の死のアニメーションをみれば発見できると思います。
「Die」により、敵がゲームから自然消滅してくれます。
おそらく、この「Die」を削除してしまうとTR2やTR3のように敵を倒しても、ゲームの中に残るはずです。
他にもAnimCommandsの種類はありますが、私がよく理解できていないので、「Set Position」を見つけてみましょう。
BADDY_1オブジェクトのアニメーション番号62、63、64、65番に「Set Position」が設定されています。
この設定により、BADDY_1は4クリックの高さを登り降りできるわけです。
LARAオブジェクトではアニメーション42番とかに設定されています。
Set Position
ところが、Set Positionは面倒な代物で、Set Positionだけしか設定されていないフレームは色が変わっていないので見つけにくいことです。
さらに面倒なのは、「アニメーション後」にオブジェクトの新しい座標を設定します。
つまり、アニメーション中には座標を変更してくれません。
そのため、Set Positionを追加したアニメーションはいきなり座標が変更したように見えてしまいます。
そうならないよう、BADDY_1やLARAなどSet Positionのあるアニメーションでは動きを表現して座標が変更されたのがわからないように作り込まれています。
Export AnimCommand
そういったことを踏まえて、やっとNGLEの話になります。
NGLEでトリガをAnimCommands用にエクスポートするには、STTパネルの『Export AnimCommand』ボタンをクリックします。
ボタンをクリックするとAnimCommandsを設置するアニメーションのフレーム数を尋ねてくるので、フレーム数を入力します。するとトリガの内容が書かれたテキストファイルが表示されます。AnimCommandsにはSet Positionの3つの値を入力します。
そして、この『Export AnimCommand』ボタンは、ACTIONトリガ、FLIPEFFECTトリガのみ表示されます。やっとSet Positionの値が入手できました。あとは、それを変更したいアニメーションのフレームに追加するだけです。
と、ちょっと待ってください。
Set Positionは、これまでAnimationEditorで使用したものと、NGLEから追加されたものの2種類がありますね。どちらがどう違うのでしょう?
まとめ
実はNGLEから追加されたものに関しては私もよくわかっていません。
そもそも、AnimationEditorで使用したAnimCommands自体の詳細が不明な上に、NGLEまで追加されてしまっては説明のしようがありません。
そのため、まずはAnimationEditorに慣れてください。例えばララが走っているのは何故でしょう。
LARAオブジェクトのアニメーション番号0番にはSet Positionがありません。
座標を変更するのだから、Set Positionがあってもよさそうです。
実はSet Positionには全く関係がありません。その代わりにStateIDやSpeedがその役割をしています。
アニメーション番号0番にはStateIDの「1」とSpeedの「47」が設定されています。
StateIDによりゲームエンジンはララが走っていることを認識し、ララの座標を変更させて移動させているのです。
そしてSpeedにより移動速度(距離)を決定しています。
そのためSet Positionがなくてもララは走ることができるのです。
では、走っているララがキーを離すと止まるのは何故でしょう。
これもSet Positionとは関係がありません。
アニメーション番号0番には青いフレームがありますが、このフレームにはState Change Editorで設定がされています。
プレイヤーがキーを離すことでStateIDが「1」から変化し、State Change Editorで設定されたStateIDのNextAnimationのNext Frameが呼ばれるからです。
このようにアニメーションを理解するには、StateID、Speed、NextAnimation、State Change Editor、Next Frameの意味を理解しておく必要があります。
NGLEのSet Positionを理解するのはそれからです。
そんな時間がないという方は、いくつか気になるACTIONトリガや、FLIPEFFECTトリガをエクスポートしてANIMATINGオブジェクトや敵で試してみるといいでしょう。
思った以上に簡単に(あるいはもっと面倒に)AnimCommandsを使いこなせるようになるかもしれません。