妹でもわかるUnrealEngine4

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

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

Sculptrisで作ったカエルをUE4に表示する

「ところで3Dキャラクターの方は進んだの?」

妹「このところサボってたせいか、とくに進んではいないんだけど、こないだ作ったカエルってそのままUE4で使えたりするのかな?」

f:id:una_unagi:20151014224313p:plain

「じゃあちょっとやってみましょうか。まず保存形式が今sc1になってるけど、これはSculptrisの専用形式だから他では使えないので、obj形式でExportする」

妹「obj形式だとUE4で使えるの? っていうか最初からsc1じゃなくてobjで保存した方がいいの?」

「3Dソフトはだいたい自分の会社で作った専用形式が基本で、他のソフトに持ち運ぶように色んな形式でも保存出来るようになってる。objっていうのはその中でも対応範囲が広いから便利なんだけど、その代わりアニメーション関連のデータが一切ないとか、保存出来ないパラメータも多い。その点専用形式なら確実に全部保存出来るから、普段保存する時は専用形式の状態がいい。UnrealEngineでもUnityでもアセットとして読み込んだ後はそれぞれの専用形式になってる」

妹「Sculptrisは元々アニメーション出来ないんだから、objで保存しても一緒なのでは?」

「うーん、ちゃんと検証したわけじゃないけど、やっぱり細かいとこが違うんじゃないかなあ。objで問題が起きなくて、その方が色々便利ってことならそれでも問題はないよ」

妹「それでこのobjファイルをどうしたら」

「UE4のコンテンツブラウザにドラッグすると、インポート画面になる。objを読み込もうとしてるのに、FBXインポートオプションと出るけど、色々流用してるんだと思う。objの場合は押せないボタンとかある」

妹「fbxというのも3Dのデータなの?」

「これはMayaというソフトの専用形式なんだけど、アニメーションデータを含められる形式の中では(多分)一番対応ソフトが多い。UE4でも対応してる」

妹「あー、噂のなんかすごいお値段のやつか。でもそういうのがあるんだったらSculptrisからfbxで保存してもいいってこと?」

「Sculptrisは対応してないから出来ないんだよ。保存出来るパラメータとかはいいんだけど、保存と読み込みがすごく難しい形式だから、対応してるソフト同士ですら上手く読み込めないことが多い。もともとMayaの人も別に持ち運びように作った形式じゃないだろうしね。何年版のMaya基準かとかでも違うし。アニメーション込みで作ってるとfbxを使わざるを得ないケースが多いんだけど、とにかく色々と大変。まあ今回はobjだけで問題ない」

f:id:una_unagi:20151026173250p:plain

「で読み込んだものがこちらです」

妹「この豆粒みたいなのが? もっと大きく作ってあったと思うんだけど」

「3Dソフトは縮尺の問題がややこしいんだけど、Sculptrisの場合はそもそも縮尺という概念自体がなかったような。でもカタチは合ってるはずだから、オプションを変えて読み込んでみる」

f:id:una_unagi:20151026173436p:plain
f:id:una_unagi:20151026174452p:plain

「100倍にするとこんな感じで、ちゃんと読み込めてることがわかる」

妹「これだとちょっと大きすぎるというのと、なんかこのカエル直立してない?」

「向きの方向も違うのかなあ。3Dソフトは向きの問題がややこしいんだけど……」

妹「3Dソフトのややこしいこと多すぎだろ!」

「いやそうは思うんだけど……多分統一するだけだったらみんな賛成すると思うけど、どの方向に統一するか決めようとしたら大げんかになるんで。まあ統一されてないという前提で、読み込みオプションのとこに向きの設定がある」

f:id:una_unagi:20151026174923p:plain
f:id:una_unagi:20151026174928p:plain

「ImportRotationというのが向きの設定。回転ツールで正常な位置に戻しみたところ、赤の軸を+90度に傾けると真っ直ぐになることがわかった。その数字をインポート設定で設定すれば最初からその状態で読み込める。赤軸はRollだからここを90にする。あとScaleも大きすぎだったので100から30に下げた」

f:id:una_unagi:20151026175333p:plain

「こんな感じで無事表示されました。マテリアルは標準のままだからあんまり質感はなんにも設定されてないけど」

妹「質感というか、なんか表面がポリポリしてるというか、これもマテリアルのせい?」

「いやこれはどうもスムージング設定が上手く読み込めてないらしい。読み込んだ時にこんなエラーメッセージが出てるから」

f:id:una_unagi:20151026175714p:plain

「ここでいうスムージングは、スムーズシェーディングのことだと思うんだけど、簡単に言うと隣のポリゴンから色を滑らかに変化させることで、角ばった感じを減らす方法なんだけど、その設定が上手くいってなくて、全ポリゴンが角ばった設定になっちゃってるみたい」

妹「どうやったら直せるの?」

「Sculptrisから書き出す時に失敗したんだったらそこの設定でなんとか出来るだろうけど、そうじゃなかったらいったんBlenderとか別のソフトで読み込んで仕上げをしなきゃいけないと思う。元々Sculptrisはカタチを作っていくソフトで、仕上げまで出来るソフトじゃないからね」