ユニティちゃんをUE4上で操作できるようにする
前回の記事で出す所までは出来たので、今回はゲームパッドで動かす所まで
TP_SideScrollerBPの青いオッサンを参考に、先日の勉強会を思い出しつつ頑張る
とりあえず、青いオッサンの中身を見る…カッコイイ…
ざっと見た感じ、Unityちゃんを動かす上で必要になるのは、
・モデル・スケルトン(前回の記事で生成済み)
・BlendSpace(1D) (パラメータに応じたモーションブレンド)
・AnimationBluePrint (BlendSpaceのパラメータ操作 + ステートに応じたモーション変更)
・プレイヤー操作用のBluePrint (TP_SideScrollerBPだと、MyCharacter)
の筈。まずBlendSpace1Dから作成
BlendSpace
コンテンツブラウザの右クリックメニューから、BlendSpace1Dを新規作成
(ブレンド用パラメータを複数使いたい場合は、BlendSpcaeを使う)
スケルトンを指定する必要あるので、「unitychan_tail_Skeleton」を選択
すると編集画面が開くので、青いオッサンの方を参考に色々設定する
(中央のBlendSpaceに、右側にあるアセットブラウザから
AnimSequenceアセットをD&Dすることで、モーションを追加・設定)
プレビュー画面の再生ボタンを押して、Speedの値に応じて
モーションがどう変化するかを確認…うん、動いてる動いてる、かわいい
AnimationBluePrint
ここでは、BlendSpaceで用いるパラメータ:EventGraphと
ステートに応じたモーション遷移:AnimGraph(UnityのMecanimっぽい?)を
青いオッサンから全てパクる
AnimGraph
AnimGraphタブにて、StateMachineを新規作成
作成したノードをダブルクリックすると、その中身に飛ぶことができるので、
後はひたすらステートをゴリゴリ作成していく
今回は、移動・ジャンプに絞っているのでこんな感じ
時々コンパイルしろ!的な警告・エラー文が出るので、その時は左上のコンパイルを実行
EventGraph
これも青いオッサンのアセットと睨めっこしながら作ります
詰まりかけた・悩んだ箇所
- ノードを囲む白い領域の作成方法
複数のノードを選択後に、cキーを押す(↓を見るまで分からなかった…)
Unreal Engine | Blueprint Editor Cheat Sheet
- 右クリックメニューにないノードの作成方法
Get Movement ComponentやIsFallingは、右クリックメニューの新規ノード候補にありません
Get Movement Componentの場合はTry Get Pawn Ownerノードから
IsFallingの場合はGet Movement Componentノードから線を引っ張って、
離した際に表示される、新規ノード候補の中にあります
青いオッサンと入れ替える
操作周りは今後することにして、MyCharacterで使用している青いオッサンモデルと
ユニティちゃんモデルに入れ替える
- MyCharacterアセットを開く
- 右上編集モード選択?のデフォルトを選択
- Mesh項のSkeletonMesh、Animation項のAnimBluePrintGeneratedClassをユニティちゃん用のものに差し替える
- 実行。そこには元気に歩きまわるユニティちゃんの姿が!
色々と挙動はおかしいですが、とりあえず動かせました
次は操作周りのBluePrintを弄っていこうかしら