テーマは敵キャラクターを動かそう ビヘイビアツリー編です
GASPのALS版をもとに、モーションマッチで華麗に障害物を乗り越えるアクロバティックな敵キャラをつくりましょう。
遊べる完成形はこちらで公開中 yossi40-100/GASP-ALS: Game Animation Sample with ALS Layering
本記事は前準備です。
ステップ1 リターゲットキャラに武器を持たせよう
コンテンツドロワーのブループリンツフォルダに進み、リターゲッテドキャラクタをもとに敵キャラを作っていきます
今回はマニーにしてみます。
これを直接編集しても構いませんがGASPやALS拡張のアップデートを取り込みやすくするため、AIフォルダにコピペして始めます
名前が被るとわかりづらいのでCBP_AIに変えておきます
CBPはCharacter Blue Printです(たぶん)
本当は敵キャラにはカメラはいらないので削除したいところですが
親クラスが持っているものを子が持たないのは難しいので
そのへんは放置します
親に定義されている変数が見えたほうが作業しやすいので、歯車アイコンから表示させます
変数欄がマニーのメッシュコンポーネントしかありませんでしたが
色々見えるようになりました
では武器をもたせましょう
ALSの拡張によってOverlayというカテゴリがあります
このOverlayStateというのが、もとの歩きやしゃがみなどのアニメーションに重ねて適用する状態変数です
詳細タブのデフォルト値をライフルに変更しましょう
コンパイルしてこの変更をゲームに反映させます。
保存も忘れずに
ではレベル画面にて、
今作ったキャラクターを配置してゲーム中の様子を確認しましょう
武器を持っている姿勢にはなっていますが、武器自体は地面にありますね
アニメーションはこの変数だけで切り替わるし、武器のメッシュが出るところまでは処理されているけど、手にもつ処理が動いてないので、
親クラスの状態を切り替える処理を確認しましょう
CBP_SandboxCharacter > Overlay Graph
Qキーを押してメニューを出して
状態を選んだあとQキーを離したきっかけで反映されていましたね
W_OverlayStateSwitcher > イベントグラフ
これが実際の処理を担当しているイベントです
これは選択用の画面表示ウィジェットの処理ですが
このイベントを呼び出しているようです
開くとさきほどのオーバーレイのグラフの下のほうに帰ってきましたが
通知ありでセットしているのがポイントみたいですね
であればビギンプレイ時にこのセットをすればよさそうですが
今後これ以外にも追加処理があるかもしれないので
イベントの中身をコピペするのではなく
ここで呼んでいるUpdate Selected Overlayを呼ぶようにしましょう
プレイヤーも初めからオーバーレイを適用したいなら親クラスでもよいですが
今回はAIキャラだけに適用してみます(どちらでも問題ありません)
CBP_AI > イベントグラフ
BeginPlayにつなぎましょう(開始直後にオーバーレイ状態が更新される処理が走り、内部のものを持ち換える処理で実際に持つようになります)
状態はここで選ぶのではなく、先ほど変更した変数のデフォルト値です
ここのノードでも設定して動きますが、ここで設定してしまうと、同じはずの状態を複数箇所で管理することになるのでデバッグがしんどくなっていきます
ちゃんと武器を持てましたね?
ばっちりです
コメント