成果
今までの知識で作ってみたが、設計見直しだな・・・
ビヘイビアツリーでアニメーション遷移は無理だと知ったw
やっぱりブレンドスペース使わないと
一応おさらいを兼ねて手順をかいとく
ブレンドスペースをつくる
RM→アニメーション→ブレンドスペース1D→スケルトンを選択
名前をBS_IdleWalk_XX
開いてアセット詳細のAxisSettingの水平軸のNameにSpeed
、MaximumAxisValueを600にする
BS_IdleWalkRun内にIdleアニメーションファイルをドラッグアンドドロップでSpeed=0付近に配置,Jogを600に配置する
アニメーションBPをつくる
RM→アニメーション→アニメーションBP→スケルトンを選択
名前をABP_XX
開いてAnimGraphでRM→StateMachine内の新規のマシンを追加(AddNewStateMachine)を追加
名前をLocomotion
出力ポーズとつなぐ
Locomotionを開いてRM→ステートを追加
名前をIdleWalk
EntryからIdleWalkへとつなぐ
IdleWalkを開いてアセットブラウザからBS_IdleWalk_XXをドラッグ、アニメーションポーズを出力につなぐ
※Speedに値を入力することにより、BSのアニメーションが切り替わる
Speedを引っ張り変数へ昇格する
EventGraphEventBlueprintUpdateAnimation→IsValid→SetSpeedをつくる
TryGetPawnOwner→IsValidとGetVelocity→VectorLengthでSpeedがとれる
コンパイル・セーブ
AIControllerをつくる
BP_AIControllerをコピー名前をBP_AI_ModelControllerにしていらないノードを消す
コンパイル・セーブ
BP_Modelをつくる
開きコンポーネントのMeshを選択、右側SkeletalMeshにxx、AnimClassにABP_XXを設定
コンパイル・セーブ
BT_SetActorsの修正
GetAllActorsOfClassのClassをBP_AI_ModelControllerに変更。コンパイルするとエラーになるので、CastToをはさんでコンパイルするといらないといわれてはずすw