Unreal Engine のFBXインポート設定 import Meshes in Bone Hierarchy について簡単に解説します。Unreal Engine 4 (UE4) その2 Advent Calendar 2020 の21日目の記事です。
2021/01/04 – 検証不足で間違いがあったのを修正いたしました。
アドベントカレンダーリンク
Unreal Engine 4 (UE4) Advent Calendar 2020 – Qiita
Unreal Engine 4 (UE4) その2 Advent Calendar 2020 – Qiita
Unreal Engine 4 (UE4) その3 Advent Calendar 2020 – Qiita
テスト環境
- Windows 10
- Unreal Engine 4.26.0
- Blender 2.91.0
コンテンツ
スキニングは面倒くさい
キャラクターモデルへのスキニング
キャラクターモデルにへのスキニング…大変ですよね。でもこれは仕方がないんです。
早々に自動化してほしいですね。キャラクターモデルに対するスキニングの効率化等は、今回触れません。様々なフローがありますので、ググってみてください。
余談ですがCGアーティストが思うスキニング工程をリギングと呼ぶ事もあるみたいです。
簡単なモデル、メカ、車両へのスキニング
ウェイト100%なモデル。いわゆるリジッド スキン オブジェクトなやつ。
メカとか簡易的な車両とかドアとか宝箱とか…こういうモデルにボーン仕込んでスキニングって面倒くさいですよね。メンテナンス性も落ちるので嫌いです。
そんな時は import Meshes in Bone Hierarchy を活用したフローがおすすめ!
import Meshes in Bone Hierarchy とは?
FBXファイルをスケルタルメッシュとしてUnreal Engineにインポートする際に利用可能なオプションです。
Import Meshes in Bone Hierarchy
FBX インポート オプションのリファレンス | Unreal Engine Documentation
有効にすると、ボーン階層にネスティングされたメッシュは、ボーンに変換される代わりにインポートされます。
この機能を使うことで…
静的メッシュを親子構造にしておけば
Unreal Engine側ではスケルタルメッシュとして扱うことが出来ます。
ボーンは各オブジェクトの原点位置になります。
Emptyノードなどを加えると
それらもボーンとして扱えます
import Meshes in Bone Hierarchy の注意点と解決策
若干Blenderに偏った話になります。
注意点1:「 . 」は「 _ 」になる。
これは今回に限った話ではございませんが、Blenderで迂闊に複製するとドットがついてしまうので正しく命名しましょう。
注意点2:スケール100問題
Blender→UE4スケルタルメッシュあるあるなこの問題は勿論健在。
厄介な問題ですが…
解決方法…X4UEアドオンを使う!
X4UE v0.1.6 – Blender→UE4のスケール問題を解決しつつ書き出しが可能なBlenderアドオン!無料
手動でやる場合はBlenderの単位を揃えて100倍サイズで作らないといけないのであまりオススメ出来ません。
注意点3:メッシュ名が重複すると、読み込まれない
オブジェクト名(ボーン名)が重複するとNGなのはまぁUE4での常識なので割愛します。Blenderで言うメッシュ名でも同様の問題が起きます。
試しにメッシュ名が重複する状態(リンク複製)にしてみました。
これをUEで読み込むと…
UE上ではボーンは存在しますが、メッシュが消えてしまいました。
ちょっと厄介ですよね。
リンク複製されたメッシュは出力前にシングルユーザー化する必要があります。
X4UEで、リンクされたメッシュの出力前自動シングルユーザー化に対応してくれたら…最高なんだけど…。開発者に、届くと良いな、この思い
X4UEでは内部でコピーを行っているらしく、この問題が起きない様です。
私が通常のFBX出力でテストしていた為確認出来ませんでした。検証不足…申し訳ございません。墨崎様、ありがとうございます。
さようなら・スキニング
この機能を使えば、リジッドオブジェクトのモデルにはスキニングが不要になります。
ウェイト100%で済む構造の物はこれで十分!かなと思います。
私のサイバートラックのモデルも、全部この機能で対応しています。
車両の為にスキニングなんてやってられないもん!
チームプロジェクトで import Meshes in Bone Hierarchy を使う際の注意点
命名規則、構造や軸のルール等、正しくルールを設定しましょう。
メッシュは気軽に複製しちゃう事も多いので、簡単に名前が変わってしまいます。
原点位置や軸等も簡単に変更出来てしまうので、事前にルールを設定しましょう。
事前に一部のオブジェクトでこの機能を使うことを、チームのTAやアニメーター等に共有しましょう。
DCCツール向け内製ツールが対応していない。などの問題が起こりえます。
以上、import Meshes in Bone Hierarchyの紹介でした。今回Blenderでテストしていますが、Maya等でも同じ様に使えます。
ちょっと21日ギリギリに思いついたネタなので浅い範囲になってしまいましたが…是非活用してみてください。
コメント