読者です 読者をやめる 読者になる 読者になる

ぼっちプログラマのメモ

UE4とかVRとかについて書いたり書かなかったり。

ユニティちゃんをUE4上で操作できるようにする

前回の記事で出す所までは出来たので、今回はゲームパッドで動かす所まで
TP_SideScrollerBPの青いオッサンを参考に、先日の勉強会を思い出しつつ頑張る

とりあえず、青いオッサンの中身を見る…カッコイイ…
f:id:pafuhana1213:20140524150643j:plain

ざっと見た感じ、Unityちゃんを動かす上で必要になるのは、
・モデル・スケルトン(前回の記事で生成済み)
・BlendSpace(1D) (パラメータに応じたモーションブレンド)
・AnimationBluePrint (BlendSpaceのパラメータ操作 + ステートに応じたモーション変更)
・プレイヤー操作用のBluePrint (TP_SideScrollerBPだと、MyCharacter)

の筈。まずBlendSpace1Dから作成

BlendSpace

コンテンツブラウザの右クリックメニューから、BlendSpace1Dを新規作成
(ブレンド用パラメータを複数使いたい場合は、BlendSpcaeを使う)

ケルトンを指定する必要あるので、「unitychan_tail_Skeleton」を選択
すると編集画面が開くので、青いオッサンの方を参考に色々設定する

f:id:pafuhana1213:20140524153836j:plain
(中央のBlendSpaceに、右側にあるアセットブラウザから
AnimSequenceアセットをD&Dすることで、モーションを追加・設定)

プレビュー画面の再生ボタンを押して、Speedの値に応じて
モーションがどう変化するかを確認…うん、動いてる動いてる、かわいい

AnimationBluePrint

ここでは、BlendSpaceで用いるパラメータ:EventGraphと
ステートに応じたモーション遷移:AnimGraph(UnityのMecanimっぽい?)を
青いオッサンから全てパクる

AnimGraph

AnimGraphタブにて、StateMachineを新規作成
作成したノードをダブルクリックすると、その中身に飛ぶことができるので、
後はひたすらステートをゴリゴリ作成していく

f:id:pafuhana1213:20140524161817j:plain
f:id:pafuhana1213:20140524161729j:plain
f:id:pafuhana1213:20140524161921j:plain
f:id:pafuhana1213:20140524162039j:plain
f:id:pafuhana1213:20140524162118j:plain
f:id:pafuhana1213:20140524171709j:plain

今回は、移動・ジャンプに絞っているのでこんな感じ
時々コンパイルしろ!的な警告・エラー文が出るので、その時は左上のコンパイルを実行

EventGraph

これも青いオッサンのアセットと睨めっこしながら作ります

詰まりかけた・悩んだ箇所
  • ノードを囲む白い領域の作成方法

複数のノードを選択後に、cキーを押す(↓を見るまで分からなかった…)
Unreal Engine | Blueprint Editor Cheat Sheet

  • 右クリックメニューにないノードの作成方法

Get Movement ComponentやIsFallingは、右クリックメニューの新規ノード候補にありません

Get Movement Componentの場合はTry Get Pawn Ownerノードから
IsFallingの場合はGet Movement Componentノードから線を引っ張って、
離した際に表示される、新規ノード候補の中にあります

青いオッサンと入れ替える

操作周りは今後することにして、MyCharacterで使用している青いオッサンモデルと
ユニティちゃんモデルに入れ替える

  1. MyCharacterアセットを開く
  2. 右上編集モード選択?のデフォルトを選択
  3. Mesh項のSkeletonMesh、Animation項のAnimBluePrintGeneratedClassをユニティちゃん用のものに差し替える
  4. 実行。そこには元気に歩きまわるユニティちゃんの姿が!

色々と挙動はおかしいですが、とりあえず動かせました
次は操作周りのBluePrintを弄っていこうかしら
f:id:pafuhana1213:20140524170940j:plain