5.3K Views
September 15, 15
スライド概要
CEDEC 2015にてEpic Games KoreaよりHyojong Shinが「UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作の奥義を伝授!」という講演をさせていただきました。
Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/
UE4を使った クロスシミュレーションと、 ハイエンド・モバイルゲーム制作 の奥義を伝授! Epic Games Korea Hyojong Shin
目次 • UE4クロス – パイプライン – クロスに使われるメッシュ – オプション – Tips • UE4モバイル – モバイル・レンダリング – 最適化 – Project HITの紹介
UE4 クロス
UE4 Clothing • 主に衣服、または髪の毛 – クロスのサンプル – ヘアのサンプル • APEX Clothing Plug-in で 書き出したApexファイルが必要 • Maya/3DS Max Plug-in Download page https://developer.nvidia.com/gameworksdownload
APEX Plug-in
パイプライン • 他のアセットとは違うコンセプト – Skeletal Mesh の一部 – 拡張性のある使用が可能 3ds Max Maya APEX Plug-in UE4 .FBX Content Browser .APX Persona
パイプライン • クロス・マッピング試演
Cloth physics properties
クロスに使われるメッシュ • Physical Mesh • Graphical Mesh
Physical Mesh • シミュレーションメッシュ
Graphical mesh • Physical Mesh のシミュレーション結果を用 いて補間 ムービー
Tessellation • 4.9からテセレーションが可能
Sub-meshes • 複数のマテリアルを一つのクロスで シミュレーション 例 ) ジャケットの腕は革, ボタンはキラキラ?
LODs • LODを含んだApexファイル
Options in SkelMeshComp コリジョン モーフターゲット テレポート クロス・ブレンド
コリジョン • Physics Assetとは別にAPEX Plug-inで設定 • コリジョンの種類 – キャラクタとのコリジョン – 背景とのコリジョン – 背景に配置されている クロスとのコリジョン – キャラクタにアタッチ されている オブジェクトとのコリジョン
コリジョンに関する制限 • Physics Assetとは別にAPEX Plug-inで設定 • 2種類 – カプセル/コンベックス • 最大値 – カプセル16個 – コンベックス32面 • 背景のクロスとの 衝突用のコリジョン だけのAPEXファイル もインポート可能
Collide with Environment オプション • Ragdoll with Clothing – ムービー
Collide with Environment オプション • 背景に配置されているクロスとの コリジョン – ムービー
Local Space Simulation • 比較的落ち着いた動き – 派手な動きはできないので注意 • フリーズした時にはオンにしないとクロ スがキャラクタを付いて行かない – void FreezeClothSection(bool bFreeze);
Cloth Morph Target • クロスのモーフ ターゲット • ムービー • 注意点 – リアルタイムでなめらかに変形できない – キャラクタのカスタマイズ用途
テレポート • キャラクタが瞬間移動すると クロスがぐちゃぐちゃ – テレポートで解決 • 距離と回転 – 1フレームで どれだけ動いたか
Cloth blend Weight • シミュレーションとキーフレームとのブ レンド – ムービー • シムからアニメーションに遷移または逆 – カーブでのコントロールも可能 • クロスがコントロール不可能なシチュエ ーション
Tips • Particles on Cloth – クロスメッシュの表面でもパーティクル生成 可能 • Performance Tip – 固定頂点が多い場合にはシミュレーションパ ーツと分離し、なるべく動くところだけクロ スにする
Tips • Visualization – Show menus in Persona
まとめ • APEX Plug-in で APEXファイルを書き出し、 ペルソナで APEXファイルを追加 • Sub-mesh を使えば複数のマテリアルも 使用可能 • Graphical Meshでシミュレーションの負荷 なく、ビジュアル・クォリティー向上 • LODでシミュレーションコストダウン • クロス用コリジョンはAPEX Plug-in で 設定 • 瞬間移動時にはテレポートオプション
UE4 モバイル
Soul Dungeon • モバイルゲーム サンプル – ムービー • 1ヶ月プロジェクト • 実質2週間程度 • ゲームプレイ – プログラマ 1名、アーティスト 1名 • バックエンド:パッチ、ランキングなど – プログラマ 1名
Rendering on Mobile • Forward Rendering • Stationary Light – 一つ使用可能 • Post Processing – Film / Bloom/ Exposure / Motion blur / DOF • Mobile HDR – 3Dゲームではオンにするのをお勧め
モバイル最適化 • スピード最適化 – Precomputed Visibility – Cull distance Volume – Actor Merging – Shader Complexity – Customized UVs • メモリ最適化 – Normal Mapsを効率的に – Actor Lightmap Resolution – Texture LOD bias
Precomputed Visibility World Settings Precomputed visibility Volume
Cull distance Volume • DrawCallを減らす
Actor Merging • DrawCallを減らす エディタの環境設定→実験的
Actor Merging Simplygonは別途ライセンスが必要です。 Unify Meshes Unify Lightmaps Simplygon Collect Materials Unified Lightmap
LODs Base LOD LOD Level 1 LOD Level 2
Shader Complexity • Shader Instructions最適化
Customized UVs Pixel Shader Vertex Shader
ノーマルマップ2枚を1枚に • テクスチャーを効率的に使用 • ルマップ2枚を1枚に
Actor Lightmap Resolution • メモリ最適化
Texture LOD bias • メモリ節約
Tips • Mobile Device Profiling – “stat startfile” / “stat stopfile” • Reflection Capture Actor 遠距離用 Reflection Capture Actor 配置 近距離用 Reflection Capture Actor 配置
Tips • Mobile HDR off – 基本的に3Dゲームではお勧めしない – 本来の意図は2Dゲーム用 – ライト及びポストプロセスの保証ができない – パフォーマンス向上 – オフにした例 • Gun Jack • GearVR用
Project HIT • • • • ムービー 背景はFully Roughness 一画面に100,000-150,000ポリゴン 一画面に8-12キャラクタ出演 – ボーン数 • プレイヤー キャラクタ: 67-75個 • モンスターキャラクタ: 40-60 個 • Galaxy Note 2で30fps
新しくアップデートされた機能 • 4.9で入った機能 • ダイナミック・ライト – ムービー • デカル
Soft Bone • ライセンシーからの要望 – モバイルで使える軽い物理がほしい – 物理的に動いてもちゃんと元の形に戻ってほ しい ⇒ 次のバージョンで入る予定
まとめ • スピード最適化 – Precomputed Visibility – Cull distance Volume – Actor Merging – Shader Complexity – Customized UVs • メモリ最適化 – Normal Mapsを効率的に – Actor Lightmap Resolution – Texture LOD bias
ご清聴ありがとうございました