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

妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

BlenderからUE4用にエクスポートする方法・改良版

Blender 3Dモデリング UE4.13 UE4.12 UE4ぷちコン

「とりあえずBlenderで鳥に骨を入れていく」

妹「エビフライに入れるよりはだいぶ常識的」

「骨が枝分かれしたりはするけど、基本的にエビフライの時と同じ。1つのボーンからEキーで骨を継ぎ足していく。ただウェイトは自動のままだと変なとこあったので、そこは手作業で修正」

f:id:una_unagi:20160905232319p:plain

「問題はこの後なんだけど、これにどうやってアニメをつけるか。自分でやるならそのままBlenderだけど、妹に教えるとなると時間的に厳しい」

妹「アンリアルでやったら駄目なの? 前にブルーマンで棒を振るぐらいなら作れたけど。もう忘れたけど

「それで出来るだったらそれがいいかも。Blenderでやると、アニメ以外の操作も色々出来てしまうから、そのリカバリーも教えないといけないから。ただ問題として、今までやってたエクスポート方法では、UE4で読み込んだ時にポーズが上手く付けられなくなる」

imoue.hatenablog.com

妹「駄目なの?」

「駄目じゃないんだけど、関節動かすのにマウスを100倍動かさないといけないだけで」

妹「それは駄目ですな」

「……ということで暫く研究した結果、Blender上でもUE4上でも正しく表示出来る設定が見つかった。元々100倍で作ったデータが正常に読み込めたり、100倍というのが重要になってるんだけど、じゃあどこを100倍にすれば正常なのか?というのが問題だった」

(1) オブジェクトモードでアーマチュア(と本体のメッシュ)を100倍に拡大する
 ※(メッシュまで拡大が必要かどうか未確認)

(2) 100倍の状態を基準値にするため、オブジェクトの拡大を"適用"する
f:id:una_unagi:20160905234449p:plain

(3) 元のサイズにするため、0.01倍で拡大する

「何が目的かというと、アーマチュアの見た目は同じままで、拡大率を0.01の状態にしたい。そうすることでUE4のポーズエディタで関節がスムーズに動き、かつUE4上では大きさが正しくなる。拡大縮小は正確にやるために数値入力で」

f:id:una_unagi:20160905234826p:plain

「正しく操作できていれば、アーマチュアの拡大率がこんな感じになってる。その上でこういう設定でエクスポートすると内部計算のあれこれでUE4上で正しい数字になる」

f:id:una_unagi:20160905235209p:plain

「特に倍率の横のボタンを押しておくことは重要。パスモードはコピーにして、となりのアイコンもこの状態にすると、FBX内部にテクスチャをパッキングしてくれる。UE4でも読み込める」

妹「でもそもそも100倍とか1/100になるのがおかしいのでは? なんかのバグなのでは」

「そうかもしれないけど、どこがおかしいかわからないし、直るアテもないから。Blender2.77とUE4.13だとこういう風になるんだけど、今度修正とかで読み込み方が変わったらまた考える」