33
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

BlenderでUnrealEngine4向けSkeletalMeshを作る方法~2019年版~

Last updated at Posted at 2019-12-12

前フリ

Blenderで作ったモデル(SkeletalMesh)をUE4へインポートするために、解決しなければならない問題があります
それはScale100倍問題です

Blenderでの通常手順でMeshを作り、Armatureを作成し、SkinningしてFBX形式でExportしてUE4にImportすると、なんとSkeletonのScaleが100倍になってしまいます
この状態になるとUE4上でのAnimationの扱いに大きな問題が生じます
(例えばSkeletonに対してAnimationがものすごく小さい…など)

他にも問題はありますが、一番大きな問題がコレでしょう

手作業で作る

まずは先人の知恵をもとに、手作業でUE4用のFBXを作る方法を整理しましょう

参考資料
http://kanianthi.hateblo.jp/entry/2018/06/10/174124

まずScale問題そのものを解決する手法ですが、以下の一連の操作が必要になります

  • 通常通りMeshを作り、Armatureを作り、ParentしてSkinningする
  • ArmatureのScaleを100倍する
    • この時点でMeshの大きさが100倍になる
  • ArmatureのScaleを適用(Apply)する
  • ArmatureのScaleを0.01倍する
    • この操作でMeshの大きさがもとに戻る
  • Meshだけを選択して、Scaleを適用する
    • このとき、ArmatureのScaleは0.01になっていること

Animationを作る場合は、この一連の操作をした後で行います
先にAnimationを作ってしまうと、ArmatureのScaleを操作した影響でLocationの変化を伴うAnimationが破綻してしまいます

そしてこの手順、結構面倒な問題を抱えています
それは、Armatureのスキニングのやり直しが容易でないことです

ちょっとスキニングをやり直したい、とか、モデルを作り直したい、とか思ったとしても、一旦Parentを解除してしまうともう一度この手順を最初からやり直すことになります
変更したScaleを

また、手戻りを少なくするには、Animationを作る前にScaleを修正する必要があり……

もうちょっとなんとかならないものか、と思ってしまいます

AutoRigProがあるじゃないか

Auto-Rig Pro - Blender Market
よく知られているBlenderアドオンの一つに、AutoRigProがあります
このAutoRigProにはGameEngine向けのFBXExporterが実装されており、これを使えばArmatureのスケール問題は解決できます
UE4のHumanoidRig…いわゆるEpicSkeletonにもしっかり対応されているため、人形のキャラクターを作る際はぜひコレを使うと良いでしょう

ただし、このアドオンに実装されているExporterはあくまでAutoRigPro用のExporterであり、それ以外のArmatureには対応していません
つまり、独自に作ったArmatureに関しては、別の方法で対応する必要があります

めんどくさいから自動で解決したい

めんどくさい手順をすべて省くため、UnrealEngine4向け特化のFBXExporterを作りました

X4UE: Exporter for UnrealEngine
https://github.com/Indie-us-Games/X4UE

現在、Indie-us GamesのOSSとして公開しています
使い方は簡単

  • アドオンをBlenderにインストールする
  • MeshとArmatureを通常のScaleでセットアップする
  • 通常のScale(1, 1, 1)のままActionを作成する
  • ExportするArmatureを選択し、メニューからExport > FBX for UnrealEngineを選択する

これだけです
Scaleを手動で100倍にしたり0.01倍にしたりする必要はありません

Blender上でScaleを変更しないので、Armatureの取り外しも気軽にできますし、Animationを作ったあとでのSkinning修正も通常通り行えます

また、ArmatureやAction関連であったらいいな、と思う便利機能もいくつか実装しています

  • Actionの完全削除
  • Armatureの1ButtonUnbind

なお、今後も機能追加していくつもりなので、こういう機能がほしい、というのがあればIssueを投稿してください
もちろんOSSですので、改造もOK、フィードバックも大歓迎です

33
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?