Contenu connexe
Similaire à 3dsMax+UE4 ~映像制作におけるリアルタイムエンジンの活用~ (20)
3dsMax+UE4 ~映像制作におけるリアルタイムエンジンの活用~
- 2. 自己紹介
赤崎弘幸 (29) Twitter : @akasaki1211
ジェットスタジオ入社(2010~) ディレクター(2013~)
チーフディレクター(最近~)
ディレクション業務、社内ワークフロー管理、R&D、とかいろいろ。
AREA JAPANコラム執筆、CEDEC2017登壇、CGWORLD特集記事、書
籍監修とかいろいろ。
© 2017 Jet Studio Inc. All Rights Reserved.
- 6. アジェンダ
3dsMax編
本日のキャラクターについて
モデルの最適化
テクスチャの再構築
UE4のためキャラクター構成
プロップなどのデータ構成
カメラのアニメーション
各種データの出力
© 2017 Jet Studio Inc. All Rights Reserved.
UE4編
UE4へのインポート
キャラ、プロップ(スケルタルメッシュ)
アニメーション
動かないもの(スタティックメッシュ)
サンプルコンテンツの活用
シーケンサー
各種トラック作成(カメラのインポート)
クロスフェード
ライティング
ポストプロセス
動画の出力
まとめ
- 8. 本日使用するキャラクターについて
© 2017 Jet Studio Inc. All Rights Reserved.
AREA JAPANコラム
『CharacterArpeggio~3ds Max 2017 キャラクター作成術~』
にて作成したキャラクター
連載時はV-Rayでのプリレンダー仕様で制作していた。
UE4出力用に一部最適化する必要があった。
- 9. モデルの最適化
© 2017 Jet Studio Inc. All Rights Reserved.
プリレンダー仕様では全てターボスムーズ入れてたけど、さすがに重
そうなので外す。
適宜ポリゴン、ノーマルマップ調整。
(映像出力目的なら軽量化よりクオリティ優先でも良い。)
DCCツール依存のプラグイン部分を最適化。
(HAIRFARM ⇒ 板ポリ化 とか)
- 12. テクスチャの再構築
© 2017 Jet Studio Inc. All Rights Reserved.
V-Ray仕様で作成していたテクスチャをUE4のマテリアル仕様に合わせて再構築
例)V-Ray ⇒ UE4
Diffuse ⇒ そのままBaseColorに
Reflection ⇒ Specular ※無くてもいいかも
金属/非金属マスク ⇒ Metalic
rGlossiness ⇒ 反転してRoughnessに
ノーマルマップ ⇒ そのままNormalに
※ 特殊なマテリアル(髪や眼球)は必要に応じて追加のマップを作成。
- 14. UE4のためのキャラクター構成
© 2017 Jet Studio Inc. All Rights Reserved.
スケルタルメッシュ移行時(FBX出力)の仕様まとめ
Boneはもちろん使用可能。
Point HelperなんかもDummyに変換されるのでボーン代わりに使用可能。
Bipedも使用可能。FBX出力時にDummyに変換される。親子階層にBiped独特の癖がある。
Biped の Scale SubAnim は Dummyのスケールアニメーションとして出力可能だが、出力後の子階層にシアーが
入るのでやめておいた方がいい。
3dsMaxボーン特有のスケールっぽい動きするやつはニセモノ。
リンク(親子付け)されたメッシュは自動的にスケルタルメッシュに変換されるが、勝手にJointが増えて扱い
にくいので非推奨。
『選択を書き出し』では選択したものに加え、上位階層も全て出力される。(子階層以下は無視)
『選択を書き出し』で選択したメッシュのスキンモディファイヤに関連付けられたボーンは、選択していなくて
も強制的に出力される。
ひとつのスキンに対して関連付けされているジョイント群(スケルトン)は同一階層内にいなければならない。
(※MultipleRootエラー)
モディファイヤは編集可能オブジェクト(Modified_Object)が入れ子になっていると下の階層が無視される。
モーファーのターゲット側を変形させるやつ禁止。
- 15. UE4のためのキャラクター構成
© 2017 Jet Studio Inc. All Rights Reserved.
①ゴリ押し型
とりあえずバラけているジョイント階層を全て同一階層に納める。親子付けメッシュもそのまま。
データはゴミだらけになる。
②リグ分離型
Biped+追加ボーン+リグ含め同一階層内で整理。
スケルタルメッシュに不要なリグ部分がスキン用ボーンの中間階層に位置しないように注意。
親子付け系はスキン100%に置き換え。
パッと見複雑。
③完全分離型
スキニング用ボーンとリグ階層を完全に分離して構築。Bipedはコントロールリグとみなす。
後付けでは手間がはんぱない。
見た目はわかりやすい。
④リグとかもうやめる型
全てジオメトリキャッシュにしてしまう。
フレーム補完注意
- 16. UE4のためのキャラクター構成
© 2017 Jet Studio Inc. All Rights Reserved.
①ゴリ押し型
とりあえずバラけているジョイント階層を全て同一階層に納める。親子付けメッシュもそのまま。
データはゴミだらけになる。
②リグ分離型
Biped+追加ボーン+リグ含め同一階層内で整理。
スケルタルメッシュに不要なリグ部分がスキン用ボーンの中間階層に位置しないように注意。
親子付け系はスキン100%に置き換え。
パッと見複雑。
③完全分離型
スキニング用ボーンとリグ階層を完全に分離して構築。Bipedはコントロールリグとみなす。
後付けでは手間がはんぱない。
見た目はわかりやすい。
④リグとかもうやめる型
全てジオメトリキャッシュ(Alembic)にしてしまう。
フレーム補完注意
- 24. カメラのアニメーション
© 2017 Jet Studio Inc. All Rights Reserved.
カメラを親子階層下に置いてしまうとFBX出力時に階層ごと出力されて
しまうため、カメラはワールドに配置。
⇒ カメラに直接アニメーションをつける or コンストレイント制御
- 39. シーケンサー
© 2017 Jet Studio Inc. All Rights Reserved.
カメラのインポート
1. CameraCutsトラックを作成
2. CineCameraActor作成
3. 右クリックからImport
- 40. シーケンサー
© 2017 Jet Studio Inc. All Rights Reserved.
カメラのインポート
1. CameraCutsトラックを作成
2. CineCameraActor作成
3. 右クリックからImport
と言いたいところですが・・・
- 41. シーケンサー
© 2017 Jet Studio Inc. All Rights Reserved.
カメラのインポート
1. CameraCutsトラックを作成
2. CineCameraActor作成
3. 右クリックからImport
と言いたいところですが・・・
3dsMaxから出力されたFBXはFocalLengthが取得できない!?
(FOVで記録されているためか)
- 42. シーケンサー
© 2017 Jet Studio Inc. All Rights Reserved.
画角のアニメーションがある場合の解決策① ~Mayaを経由する~
1. MayaにFBXインポート&エクスポート。
2. CineCameraActorにFBXインポート(TransformとFocalLengthのキーど
ちらも来る)
- 43. シーケンサー
© 2017 Jet Studio Inc. All Rights Reserved.
画角のアニメーションがある場合の解決策② ~Matineeを変換する~
1. 通常のCameraActor(青いカメラ)を作成
2. シーケンサーのCamera Cuts Trackに追加
3. カメラトラックにFBXインポート(Transformのキーだけ来る)
4. MatineeActor作成
5. 同じカメラFBXをMatineeにインポート
6. MatineeActorをConvert to Level Sequence
7. 6. のLevelSequenceのFOVトラックをコピー
8. 2. のカメラトラックにCameraCompornentを追加しペースト
参考:Importing FBX camera in Sequencer - UE4 AnswerHub
- 45. シーケンサー
© 2017 Jet Studio Inc. All Rights Reserved.
クロスフェードのやり方
SceneCapture2Dでキャプチャした画面をポストプロセスマテリアルで上
乗せすることで可能。
参考:[Mini Tutorial] Camera Crossfade - Unreal Engine Forums
上記のMatineeでのチュートリアルを参考に作成し、シーケンサーにCameraActor,
SceneCapture2D, Material Parameter Collection Trackを追加すればOK。
- 47. シーケンサー
© 2017 Jet Studio Inc. All Rights Reserved.
画像のオーバーライドくらいならもっとシンプル
ポストプロセスマテリアルに画像をはめるだけ。
- 49. ライティング
© 2017 Jet Studio Inc. All Rights Reserved.
動くものに対するライティングはStationary又は
Movableで。※数に制限があるので注意
背景用のライトであればStatic可。※スケルタルメッシュ
に影が落ちない。ビルド必須。
サイズや減衰、影の設定。
最後にProductionでライトビルド。
- 51. ポストプロセス
© 2017 Jet Studio Inc. All Rights Reserved.
カメラ単体又は空間に対して適用可能。
DOF、モーションブラー、カラーグレーディングなど様々なエフェク
トをリアルタイムに調整可能。
- 52. ポストプロセス
© 2017 Jet Studio Inc. All Rights Reserved.
Color Grading LUT を使ったカラーグレーディングが便利。
参考:色対応表 (LUT) によるカラー グレーディング
- 54. 動画の出力
© 2017 Jet Studio Inc. All Rights Reserved.
シーケンサーから出力可能。
レンダーパス出力も出来るが、UE4で完結さ
せていいと思う。
- 57. まとめ
© 2017 Jet Studio Inc. All Rights Reserved.
レンダリング待ちが無いのでライティングや絵作りが楽。
レンダリング時間を気にして尺をケチるという妥協が無い幸せ。
3dsMaxとAEで実質2回レンダリングしていたのが1回に。
仕様・制約の把握が大変。
仕込みが大変。
プラグインなどでゴリ押しがしにくい。
Notes de l'éditeur
- ロゴとジャンプ2つ
- Specularはあまりいじくり回すものではないのでRefは捨てても良いかも
いずれにせよマテリアルは要調整
- 詳細は割愛
- 選択しやすいようにレイヤーで分けておくと良い。
- ・余計なリグオブジェクトが出力される。
・MultipleRootエラーが出る。
- ・余計なリグオブジェクトが出力される。
・MultipleRootエラーが出る。
- 玉の例
- 壊しの例
- プロップの例の場合は階層ごと全て選択すればOK
Zupで
- Zupで
- AnimationにチェックをいれZupで出力すればOK
シーケンサーはYupでもうまくいくので謎
- Zupで
- ※TransformもMatinee経由すると90度ズレる問題が発生しやすいのでFOVだけMatinee経由で
※①と②では使うカメラの種類が違うので注意(Depth Of Fieldの設定方法とか)
- 最後のロゴ
- 詳細は割愛します。
- 色対応表 (LUT) によるカラー グレーディング
https://docs.unrealengine.com/latest/JPN/Engine/Rendering/PostProcessEffects/UsingLUTs/index.html