【Blender2.9】キャラクターを作成してUEで動かす!

キャラクターを自作して、Unreal Engineで動かしました。
すごく難しいことだと勝手に思っていましたが、そんなことなかった。
初心者でも少し頑張れば出来る!
大きなモチベーションのひとつだったので感動です✨

👇Unreal Engine4が初めての人はこちらから

👇ブロック崩しを作って、自作キャラを使用しました。

👇クリックしたら中身が見れます

アニメーション

Run
Wait

テクスチャー(一部分)

キラキラさせた。

UE4で動かす

RunとWaitの切り替え

【手順】【関連知識】【関連スキル】の順にまとめています。

【手順】から読むのがオススメ。

分からないところを、【関連知識】【関連スキル】でチェックすると良いと思います。

キャラを自作してUEで動かす

自分で作ったことに価値があります。
作る過程で培った経験・知識はプライスレス

手順

1.キャラクターの形を作る。

2.全てのメッシュを統合する。

3.サイズと位置の調整をする。

4.スケール値などをリセットする。

5.アーマチュアを作成。

6.アーマチュアをメッシュに適用

7.ウェイト調整をする。

1.Run(走るアニメーション)の作成

Run

Frame Rate = 30fps

(1frameあたり、0.033..秒。3frameで0.1秒)

1-17frame

(0.566..秒)

1フレーム目は動きのリセットのため、他より多くのキーフレームがある。

1frame:直立

5frame:腕上げ、左前・右後、上に移動

9frame:直立、下に移動

13frame:腕上げ、右前・左後、上に移動

17frame:直立、下に移動

2.Wait(待機状態)の作成

Wait

Frame Rate = 30fps

1-61frame

(2秒)

1frame:直立

16frame:首右、腕上げ

31frame:直立

46frame:首左、腕上げ

61frame:直立

他のアクションで変化するところは、1フレーム目でリセットしておく。

リセットしないと、首を曲げたまま走ったりする。

1フレーム目はリセットするため、他より多くのキーフレームがある。

3.Pose Libraryの削除

1.アーマチュアの名前を変更。元の[Armature]という名前から少しでも変えればよい。

(これをしないとバグが起こることがあるらしい。)

2.アーマチュアとメッシュを選択する。

3.[File]>[Export]>[FBX]

4.エクスポート設定をする。

4.[Selected Objects]にチェックを入れる。

5.[Smoothing]を[Face]にする。

5.保存場所を好きに選び、Exportボタンを押す。

1.UEで[ThirdPerson]のテンプレートを開く。

👇サードパーソンのテンプレートの開き方はこちら。

2.フォルダを作成

[Content Browser]で右クリック

3.フォルダを開いて、エクスポートしたFBXファイルをドラッグする。

4.インポートの設定をする

Meshの詳細を開く。

①[Use T0 As Ref Pose]にチェックを入れる。

②[Create Physics Asset]のチェックをはずす。

③[Import Animations]にチェックを入れる。

5.[Import All](全てインポート)を選択。

全てインポートされた。エラーなし。

1.Third person Characterのスケルタルメッシュ差し替え

2.Animation Blueprint作成

3.Third Person CharacterにAnimBPを適用

4.State Machine作成

5.状態[Wait]、[Run]の編集

1.[New State Machine]をダブルクリック。

2.[Add State…]で状態を作成。名前を[Wait]とする。

3.もう一度[Add State…]をする。名前は[Run]

4.[Run]から[Wait]に向けて矢印を引っ張る。この矢印は状態の遷移条件を表す。

5.[Wait]をダブルクリック。

6.[Wait]のアニメーションをドラッグ。

7.ノードを接続する。

8.[Run]に関しても同様の操作をする。

6.条件の編集

1.[Wait]→[Run]の遷移条件のマークをダブルクリック。

2.[My Blueprint]パネルの[Variables]の右側のプラスをクリックして変数を作成。名前を[Speed]とする。

3.[Speed]の左の赤い印をクリックし、[Float](浮動小数点数)を選択。

1.[Speed]をゲットする。

ショートカットは[Ctrl + ドラッグ]

2.[Speed]からエッジを出して[float>float]を選択。値を[0.1]にする。

3.[Result]とノードを接続する。

(Speedが0.1より大きければ[Run]の状態に遷移)

1.左側の矢印のアイコンをダブルクリック。

2.先ほどと同様の操作をするが、今度は[float<=float]を使う。値は[0.1]で変わらず。

(Speedの値が0.1以下なら、Waitの状態に遷移)

[Event Graph]に移る。

[Tray Get Pawn Owner]から[? is Valid]のノードを作成して、[Update Animation]と接続。

[Speed]をセットする。

ショートカットは[Alt + ドラッグ]

[Try Get Pawn Owner]から[Get Velocity]のノードを作成。

[Get Velocity]から[Vector Length]のノードを作成。

velocity = 速度(ベクトル)

[Vector Length](ベクトルの大きさをアウトプット)と[Set Speed]を接続。

7.再生

関連知識

Blender

意味:修飾語句

(関連)

Blenderでは、オブジェクトに対して様々な効果を与えるもの。

Blenderにおける(Bone)
根元をヘッド(Head)、先端をテール(Tail)という。

Blenderにおける骨

根元をルート(Root)、先端をチップ(Tip)と説明しているブログも見つけたが、このブログではそれぞれヘッド、テールと呼ぶ。

骨格(複数の骨が集まったもの)
Armature
意味:(制作中の像を支える)仮枠
発音:άɚmətʃ`ʊɚ(米国英語)

1つ1つがボーン。集まったものがアーマチュア。

骨から新しい骨を作り出すことを「押し出す」という。押し出して作った場合は、自動的に押し出された方が子供になる。
また、一番の親のことをルートと呼ぶ。

この画像では、赤で書かれている親がルートにあたる。
[Outliner]パネル。親子関係の一覧が見れる。

親が動くと子供はつられて動く。子供が動いても、親はつられない。

ルート(一番の親)が動くと、他のすべてが連動して動く。
子が動いても、その親はつられない。

(基本は)

メッシュとボーンの結びつき度合い。
色で表現される。
赤い部分は骨につられて動く。骨が動いても青い部分は動かない。緑の部分は少し動く。
色は[Weight Paint]のタブから編集できる。

足の骨を選択している。足だけ連動するのが色から分かる。

Unreal Engine

キャラクターのアニメーションに関するBP

アウトプットするアニメーションについて編集することができる。

State(状態)とConduit(状態の遷移条件)から構成されるもの。

キャラクターに状態に応じたアニメーションを付加できる。

導管(状態の遷移条件という意味で理解している。)
UE4の[New State Machine]で使う。

矢印のアイコンをダブルクリックすることで遷移条件の編集ができる。

Conduitに初めからおいてあるノード
毎フレーム呼びたいノードと繋げる。

Conduitに初めからおいてあるノード
キャラクターのリファレンス。
AnimBPの持ち主(Pawn Owner)の情報を取得するためのノード。
今回の[Pawn Owner]は[Third Person Character]。

情報を取得できたかどうかの確認をするためのノード

取得できたとき、できなかったとき、それぞれの場合に応じた処理をつくれる。

関連スキル

キャラモデル

Ctrl + 移動(G)

👇画像の小さい正方形(グリッド)に合わせて移動する。

ズームするほどグリッドは小さくなるので細かく移動できる。

[Edit Mode]で移動させる。

移動前

↓([Edit Mode]で移動)

移動後。原点の位置が変わっていない。

移動前

↓([Object Mode]で移動

移動後

[Add Modifier]>[Mirror]

1.オブジェクトを選択する。(原点の位置に注意する)

2.[Propety]パネルの[Modifier Properties]を選択。

3.[Add Modifier]から[Mirror]を選択。

コピーができた。もっと複雑な形なら必須。
この設定ではx軸方向に左右反転のコピーを作る。
[Edit Mode]での移動
実体化

[Modifier]は最後に適用して実体化する必要がある。
形を決めたら、[Apply(適用)]をする。

重なっている部分を分けて実体化したいときは、[Merge]のチェックを外す。

右クリック>[Subdivide]
1.細分化したい辺を選んで右クリック

2.[Subdivide]を選択。

[Number of Cuts]=1

[Number of Cuts]=8

不要な辺をを減らすために。

溶解したい辺を選択。

右クリックして[Dissolve Edges]を選択。

辺が溶解された。

Ctrl +J

注意

スケール値は1にしておかないと、エラーがでる可能性がある。

画面左上から、[Object]>[Apply]>[All Transforms]の順に選ぶ。

アーマチュア

[Shift + A]を押して、[Armature]を選ぶ。

画面左上の[Add]からでも可能。

[Property]パネルから[Object Data Properties]を選択する。

(アーマチュアを選択していないとこのプロパティは現れない。)

[object Data Properties]のアイコン

[Viewport Display]の[In Front]にチェックを入れる。

チェックなし
チェックあり

ヘッドかテールを選択して[G + マウス移動]

1.[Edit Mode]でヘッド(骨の根元)かテール(骨の先端)を選択。

2.[G + マウス移動]で移動

(オブジェクトの移動と同じ)

3.左クリックで位置を決定。

ヘッドかテールを選んでEキー

1.[Edit Mode]でヘッドかテールを選んでEキーを押す。

2.マウス移動して左クリックで位置を決定。

新しい骨ができた。

[Bone Properties]

1.[Property]パネルからを[Bone Properties]を選択。

2.[3DViewport]で名前をつけたい骨を選択。

3.[Property]パネルで変更。

[Copy to Selected] (コピー元は最後に選択)

1.腕のアーマチュアを先端から順に選択。

2.最後に選択した根元のアーマチュアに名前をつける。最後を[.000]とする。

3.つけた名前の[arm.000]の上で右クリックを押して、[Copy to Selected]を選択。

根元から順に、[arm.000]、 [arm.001]、 [arm.002]、 [arm.003]、と名前がコピーされ番号がつく。

別の方法

1.あらかじめ根元の骨に、[.000]と名前をつけておく。

2.それを細分化したり、押し出したりする。

[leg.001]は[leg.000]を細分化した際にできた骨。

(これだけで根元から順に名前がついている。)

[_L]>[Armature]>[Symmetrize]

1.左半身の各部名前の最後に、[_L]をくっつける。

2.[_L]と名前をつけたものを全て選択する。

3.左上のバーから[Armature]>[Symmetrize]の順に選択。

右半身ができる。

右半身のアーマチュアの名前は自動でLがRに置き換わる。

子>親>[Ctrl + P]
1.子にしたい骨を選択した後、親にしたい骨をShiftを押しながら選択。

2.[Ctrl + P]を押して[Keep Offset]を選択。

(骨同士を接続させる場合は[Connected]。位置を変えない場合は[Keep Offset])
足のアーマチュア[leg.000]の親がルート[body00]になった。

[Bone Properties]

右クリック→[Subdivide]

1.[Edit Mode]で細分化したい骨を選択。

骨の真ん中を選択。黄色いところ。

2.右クリックして[Subdivide]を選択。

細分化されて骨が2つに分かれた。
分割数は調節可能

[Subdivide]を選んだ際、左下に[Number of Cuts]の入力欄がでてくる。

アーマチュア→メッシュ→With Automatic Weights

1.アーマチュアを選ぶ。

2.Shiftを押しながらメッシュを選ぶ。

[Object]>[Parent]>[With Automatic Weights]の順に選ぶ。

ウェイトの編集

1.色々なポーズをとらせて、変な変形をするポーズを探す。

右腕を下げると顔がゆがむ。

2.[Object Mode]でメッシュを選択する。

3.画面左上のタブを[Weight Painting]に変更 。

4.[Object Data Properties]の[Vertex Groups]から、変な変形を引き起こす骨を選択。

Object Data Properties のアイコン

5.色を塗って、影響を調整する。

顔を青くしたら、顔の変形がなくなった。

1.Nキーを押して、右のタブから[Tool]を選ぶ。

2.[Brush Settings]を設定する。

Weight:0(最大値赤色)、1(最小値青色)

Radius:半径。ブラシサイズを変えられる。

Strength:強さ。色の変化のしやすさ。1がMAX。

3.メッシュの上をドラッグして設定した色を塗れる。

アニメーション

1.[Animation]タブを選択。

2.[Timeline]パネルの左上のタブを[Action Editor]にする。

1.[Timeline]上のバーから[+New]を選択。

2.[Action]の名前を入力する。

3.フレーム数を決める。

(Frame RateとActionの時間を考慮して決める。)

[Pose Mode]で骨を選択してR→マウス移動

[Pose Mode]のとき、選択物は青く光る。

[Viewport]上でIキー。([Time line]上ではない。)

1.[New Action]を選ぶ。

2.名前を入力する。

3.キーフレームが全てコピーされているので削除する。

1.(Viewportで)Aキー。全てのボーンを選択。

2.(Timeline)でAキー。全てのキーフレームを選択。

3.Xキーを押して[Delete Key frames]を選択。

4.Alt + R で初期状態に戻る。

ホイールを回す。

(ズームアウトは逆回し)

1.[Pose Mode]で[Pose]>[Pose Library]>[Add Pose]

2.[Add New]を選択。

3.ポーズの名前をつける。

[Property]パネルの[Object Data Poperties]を選択。

Object Data Properties

[+ New]で新しいポーズ作成を作成できる。

Alt + L
1.記録したポーズに戻したい骨を選択。

2.[Alt + L]を押す

Poseタブから[Browse Poses..]を選んでも良い。

記録したポーズに戻った。

3.複数のポーズを記録しているときは、ホイールを回すことでポーズを選べる。
選択したボーンでないと、記録や読み込みができない。

1.全ポーズの削除。右側の[ー]のボタンを押して1つずつすべて消す。

2.[Time line]の[Animation]のところの[PoseLib]の左側が[0]になる。

3.セーブして読み込み直すと、[0 PoseLib]が消えている。

Unreal Engine

1.[Third Person Character]を選択。

2.左の[Components]パネルから[Mesh]を選択。

3.右側の[Details]パネルのSkeltal Meshを自分で作ったものに変更。

4.[Components]パネルで[Capsule Component]を選択。

青いのが[Capsule Component]。当たり判定に使われている。

5.右の[Details]パネルの[Shape]でキャラクターに合わせて大きさを調節。

AnimBP=Animation Blueprint

1.フォルダ内で右クリック、[Animation]>[Animation Blueprint]を選択。

2.[target Skelton]として、自分で作ったものを選び[OK]を選ぶ。

3.名前をつける。

1.AnimBPを開く。

2.Content BrowserからAnimationをAnimBPにドラッグする。

3.アニメーションを[Output Pose]につなげて、左上からコンパイルを選ぶ。

アニメーションが設定された。

1.[Third Person Character]をダブルクリックして開く。

2.[Components]パネルでMeshを選び、右側の[Details]パネルの[Animation]で、AnimBPを選ぶ。

再生させるとAnimBPに設定したAnimationが起動する。

Viewport上のメニューバー

UE4で自作キャラが動いた!

1.AnimationBPを開く。

2.右クリックして[Add New State Machine…]を選択する。

3.[Output Pose]とつなげる。

[New State Machine]をダブルクリックして開く。

1.ドラッグで矢印を伸ばして[Add State…]を選ぶ。

2.State(状態)の名前をつける。

3.Stateの名前をダブルクリックして開く。

4.アニメーションをドラッグ。

5.アニメーションを[Output Animation Pose]と接続する。

Stateの周囲の白い囲み線にマウスをおいた状態でドラッグ。

1.矢印を伸ばして[Add Conduit…]を選択。

2.Conduitのマークをダブルクリック。条件を編集する。

[Play]の右側の▽をクリックして[New Editor Window]を選択。

参考動画

本当にお世話になっております。
感謝!

Blender2.8でマイクラのキャラモデルを作ります

Blender2.8でキャラクターモデルにボーンを入れるチュートリアル

#01 天使のUE4&Blender2.8入門 Export&Import編

#02 天使のUE4&Blender2.8入門 キャラクター設定編

#03 天使のUE4&Blender2.8入門 アニメーションBP編
【Blender 2.83 Tutorial】1.アーマチュアRigの作り方 – How to make the Rig #1 【基本から徹底解説】

Twitterしてます

ブログの更新をお知らせ

コメント

タイトルとURLをコピーしました