BlenderからUnrealEngine(UEFN)へ_3Dモデルをインポートするときのアレコレ

32.1K Views

July 29, 23

スライド概要

UE Tokyo.dev #1でLTしたスライドです
https://ue-community-tokyo.connpass.com/event/288818/

profile-image

UnrealEngineエンジニア

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

BlenderからUnrealEngine(UEFN)へ 3Dモデルをインポートするときのアレコレ UE Tokyo.dev #1

2.

自己紹介 墨崎 達哉 野良UnrealEngineエンジニア

3.

目次 ● StaticMeshの場合 ● SkeletalMeshの場合 ● アドオン作りました

4.

StaticMeshの場合

5.

StaticMeshの場合 基本は普通にFBX出力してOK ● Transform Vertex to Absolute がONになっていれば、Blenderで 作った通りのサイズになる ● Blender側のUnitSystem、UnitScaleはデフォルト(Metric、1.0)の ままでOK ● Xが前 になるように作る

6.

ScaleをApplyする 出力前にScaleをApplyしておくこと Scaleがマイナスの状態で出力した場合 面が反転する場合がある

7.

ScaleをApplyする

8.

PivotをSceneの原点へ配置する Transform Vertex to Absolute の効果により PivotがSceneの原点(0,0,0)に変更される ObjectのPivotだけを設定しても うまく行かない PivotはSceneの原点に置くようにする

9.

PivotをSceneの原点に配置する

10.

Transform Vertex to AbsoluteをOFFにした場合 UnrealEngine側でTransformの変換を行わなくなるので、FBXが そのままUnrealEngine内で使用できる状態にする必要がある Pivot等も全てDCC側で設定した通りになる データ整備がとても面倒なので、よほどのことがない限りONで使うことを推奨 参考: https://forums.unrealengine.com/t/ue5-0-3-blender-fbx-ue-pivot/747497/1

11.

SkeletalMeshの場合

12.

SkeletalMeshの場合 SkeletalMeshの場合、正しくインポートするために守るべきルールがある ● ● ● ● ● Armatureの名前を Armature にする BoneとMeshの名前を重複させない ArmatureのScaleを 0.01 にする Add Leaf Bones はOFF -Yが前 になるように作る

13.

Armatureの名前を「Armature」にする 出力するときのArmatureの名前は必ず 「Armature」にする それ以外の名前にすると、インポート時に 余計なBoneが追加される

14.

Armatureの名前を「Armature」にする rootより上に余計な Boneが追加されている

15.

BoneとMeshの名前を重複させない Blender上では、BoneとMeshは別のオブジェクトなので 名前が被っていても問題ない FBXではどちらもNodeという扱いのため、名前が被ると UnrealEngineは重複を避けるためにリネームする BoneのほうがRenameされた場合、AnimSequenceとの整合性が 取れなくなる可能性がある

16.

BoneとMeshの名前を重複させない 名前が変更されて しまっている

17.

ArmatureのScaleを0.01にする ArmatureのScaleが1.0の状態でFBX出力すると、インポート時に ルートボーンが100倍になる この状態になると、物理周りの機能がうまく動作しなくなる (Chaos RBAN/Clothなど) ArmatureのScaleは0.01にして、FBX出力する必要がある

18.

ArmatureのScaleを0.01にする

19.

ArmatureのScaleを0.01にする Q: ArmatureのScaleいじったらActionズレておかしくならない? A: なります 主にTranslationのキーに影響が出るので、この処理はActionを作る前に するか、Actionの方も100倍する必要がある

20.

アドオン作りました

21.

SkeletalMesh Export Tools (SKET) 「SkeletalMeshの出力」に特化したBlenderアドオンを作りました https://github.com/t-sumisaki/SKET

22.

SkeletalMesh Export Tool (SKET) 今回説明したSkeletalMeshのFBX出力時の課題を自動で解決する ● ArmatureのScale ○ Action(Animation)のScaleも同時に調整する ● Armatureの名前 ● BoneとMeshの名前重複の解決

23.

使い方

24.

その他の機能 ● FBXに出力するAnimationを選択する機能 ○ 標準FBXエクスポーターだとすべて出力されるので、その対応 ● Animationごとに別々のFBXを出力する機能 ○ AnimationごとにFBXが分かれるので、Reimportがやりやすくなる(当社比) ● 原点にルートボーンを追加する機能 ○ MixamoHumanoidなど、Hipから始まる構造向けの機能

25.

補足 ● リグ/コントローラーはついていません ○ ○ あくまでも汎用のSkeletalMeshエクスポーターです アニメーションの補助機能はありません 人型や四足歩行などの場合は、AutoRigProを使用したほうが良いです https://blendermarket.com/products/auto-rig-pro ● StaticMeshはBlenderの標準FBX出力を使用してください ○ SkeletalMesh用です StaticMeshに使ってもいい感じにはなりません

26.

参考文献 FBX コンテンツ パイプライン https://docs.unrealengine.com/5.0/ja/fbx-content-pipeline/