UE4のテンプレートに自分で作ったキャラを入れて動かしたい そのサン
今回はBlenderの設定について です。
…と書いたものの、実はBlenderでモデリングしたポリゴンオブジェクトをUE4にインポートさせるための設定を解説された記事としては、すでにとても良いものが存在しています。
Blender で UE4 用 3D モデルを作って Import するまでに守るべきことまとめ | rarilog
↑のブログエントリがそれです。
らりほまさんという方が書かれた記事で、大変詳しくBlenderからモデルをFBXで吐き出すための設定とUE4にインポートするための設定を解説してくださっています。
ですから!!!
- 単位をメートル法にし、拡大縮小を0.01(1単位を1センチ)にする。
- 骨(アーマチュア)を入れるのは単位合わせを行ってからにする。
- 当然モーションもスケールが整ってから入れる。
- モデルを拡大縮小した場合はトランスフォーム値をニュートラルにする。(Mayaでいうところの「フリーズ」させる)
- モデルの前方が-Y、上が+Zになるようにモデリングする。(Blenderで正常にモデリングしていれば特に意識しなくてもそうなるはずです)
以上が必須の条件になります。
あ、もう終わっちゃいましたねwいやいや…せっかくですから先を急ぎましょう。ではもう少し詳細に、というか「モデリングとモーション入れの過程」について解説するのがぼくのブログエントリの主題ですから、いきなり佳境に入ります。
そこで…
モデリングと骨入れに進む!
というわけです。
↑すたちゅーさんきた!!!
まぁwぼくのオリキャラもほかにあるわけですが、とりあえず「標準すたちゅーさん」のモデルで解説を進めます。ぼくがすたちゅーさんを好きだから!というだけではありませんよ?
- 腕も手もないから必然的にポリゴン数が少ない!
- このモデルはかなり贅沢なポリ割をしているのに4角面で1002、三角面でも1976しかない!
- 骨の数も少なくて済む!(実際には尻尾で贅沢な骨入れをしているので増えていますw)
特にローポリ合戦をしているわけではないので、標準すたちゅーさんのモデルはポリゴンを「ふんだんに使って」いますが、それでも1000ポリゴンです。PS4時代のコンシューマ向けキャラクタだと、平気で数万ポリゴンのモデルが動き回っているのが実情ですが、AndroidやiPhoneなどのモバイルデバイスではまだまだそこまでポリゴンリソースを使えるわけではありませんし、骨(ボーン)の数にも制限があります。
Blenderでキャラクタを作ると、Rigifyという高機能な人体リグも標準で使えますが、大量のMCHボーン(コントロールボーン=メッシュの変形は行わないボーンをコントロールするためのボーン)が生成されるため「ボーンリダクション」の知識と経験なども必要になってしまいます。
というわけで、ボーン組みの基本を知るためにも、UE4に自作キャラを導入するための基礎として「手組でリグ付けをする」ことを推奨いたします。というのも、確かにRigifyなどの自動生成リグはとても便利なのですが、なにか問題が発生したときに骨の基本が分かっていないと対処ができません。なにごともブラックボックス化した状態で運用していると、便利ではあっても知識としては「なにも分からない」という状況に陥ってしまうので、苦手意識を持たずに骨を組んでみることをお勧めします。
続いて↑の画像が標準スタチューさんのボーン(アーマチュア)構成です。
脚はIKで動かし、その他の骨はFKで動かす「当たり前の」ボーン構造ですが、いくつか工夫をしてありますので解説します。
クォータニオンとオイラー角
Blenderに限らず、近年の3Dソフトはどれもボーンを「クオータニオン」で回転させます。クオータニオンというのは「四元数」という数学上の概念で、回転角度を4つの軸で表現するわけです。クオータニオンを数学的に把握するには複素平面での回転について理解する必要がありますがここでは割愛します。
※とはいえ「クオーター=4つの」に語源があることくらいはイメージするようにして、丸暗記式の知識の運用にならないようにしましょう。
クオータニオンの良いところは、あるポーズから別のポーズにボーンを動かすとき、最適に近い回転角度を得やすいところ、ジンバルロックという現象を回避できること、などが挙げられます。しかし、クオータニオンにも欠点があって、プロペラのような「ぐるぐる回転する動き」を作りにくい!という問題があります。
この辺のボーンについての詳細な知識は骨を使ったキャラものを制作していると必ず身に着けていないと困ることになるので、映像制作やゲーム制作をこれからも長く行っていくのでしたら興味を持って調べてみると良いでしょう。
すたちゅーさんの場合ですと、尻尾をぐるぐる回したいので、尻尾の骨はオイラー角で動かすように設定しています。また、ルートボーンも同様で、宙返りやフィギュアスケートのような横回転を行うためにオイラー角に設定しています。オイラー角というのは数学者オイラーさんにちなんだ名称です。
そのほかにもリバースペルビスとロールセンターボーンなどを標準すたちゅーさんのアーマチュアには持たせていますので、記事の末尾にBlenderファイルへのリンクを付記しますからDLして研究してみてください。
ウエイト付け(スキニング)について
骨が組めたらキャラクタメッシュ→アーマチュアの順にshift選択してctrl+pでスキニングを行います。ぼくはほぼ100%自動ウエイトでスキニングし、ウエイトペイントで小修整を行うくらいでこの工程は終了します。比較的面倒なモデルでも1時間以上ウエイトでてこずることはありません。
第21回:キャラクタースキニングを知る~ジョイントこそ命! | 読んで触ってよくわかる!Mayaを使いこなす為のAtoZ | AREA JAPAN
↑は非常に有用な記事です。
ソフトウエアはMayaですが、どんなソフトでもまったく同じ知識が使えます。当たり前ですが人間でも、その他の動物でも、関節の位置は体の中心にはありません。たとえば膝であれば…
↑みたいに前方にオフセットしているのです。
ところが「間違ったCG入門書」では「骨を体の中心に通す」と解説していることが多く、必ず関節がゴムホース状の変形をするようになり、ウエイト調整では修正不可能な状況を無数に生み出してくれます。
今回の教材モデル?である標準すたちゅーさんでは、それほどシビアな関節の動きを求められるわけではありませんので、大してこだわった骨の位置決めを行っていないのですが、それでもメッシュに対してある程度はオフセットさせた骨の配置を行っています。この辺は実地で作業するのが一番ですので、できるだけ簡単なメッシュで実験し、骨の位置にこだわることを覚えましょう。
それでは最後に、標準すたちゅーさんのBlenderファイルへのリンクです。
次回はBlenderでのモーション付けを実践します。