Choose your operating system:
Windows
macOS
Linux
はじめに
このセクションでは、アルゴリズムの詳細と根本的なトレードオフについての知識を深めます。知識を深めることで、システムを最大限に活用できるようになり、ライセンシーや自分のニーズに合わせてコードを変更したい他のユーザーに対して正確で詳細な情報の提供が可能になります。 このシステムのソースコードは、弊社独自のアルゴリズムと、リベラルなライセンスのオープンソースのサードパーティ製ソフトウェアの組み合わせです。
プロキシ ジオメトリとテクスチャを作成する手順
以下に、プロキシ ジオメトリ ツールのメッシュとテクスチャの生成に関連する手順の概要を示します。
プロキシのためのテクスチャの生成を容易にするために、ソース モデルからのマテリアルは最初にテクスチャにベイクされます。
単一のスタティック メッシュに再メッシュ化する。 パラメータ化に適した多様なジオメトリを生成します。
ソース ジオメトリは、距離フィールド表現に空間的にサンプリングされます。 このようにして、ジオメトリのウォータータイトのアウター スキンが取り込まれます。 サンプリング レートはターゲットの画面サイズに基づいて自動的に選択されますが、ユーザーは任意の UI の [Override Spatial Sampling Distance] オプションを使用してそれを上書きできます。
注記: 現在、システムによって使用されている空間サンプルの距離が [Output Log (アウトプットログ)] に反映されます。 LogProxyLODMeshReduction: Spatial Sampling Distance Scale used 5.670509
サンプリング距離が短いと、計算時間とメモリに大きな影響を与えます。
ウォータータイト サーフェスは、ポリゴン メッシュの形で距離フィールドから抽出されます。 これらの利点として、外部からアクセスできないソース ジオメトリの任意の部分が自動的に選択されます。
新しいサーフェスは元のジオメトリよりも多くのポリゴンを持つことができますが、交差する個別のモデルは単一のメッシュで表されるため、単純化してもひび割れが発生することはありません。 対照的に、接触または交差しているように見える個別のメッシュをそれぞれ単純化すると、望ましくない結果が生じる可能性があります。
ウォータータイト サーフェスの単純化 これは、エッジ オーバーラップ アルゴリズムに基づく 2 次メッシュ単純化によって達成されます。単純化は実際には (スタティック メッシュ単純化のために) UE4 内ですでに使用されているコードを利用し、ターゲット画面サイズからエラーの閾値を自動的に計算します。
単純化された多様なジオメトリを UV アイランドに分割します。
注記: これにより、UV シームに重複する頂点が作成されます。
単純化されたジオメトリのタンジェント空間を生成します。
プロキシ ジオメトリ用のテクスチャを生成します。
UV マップ内の単純化されたジオメトリのテクセルとソース ジオメトリ上の位置の対応関係を作成します。
プロキシ ジオメトリ UV は控えめに 2 次元グリッドにラスタライズされます。
2 番目の 2 次元グリッド レコードは、UV 空間のテクセルの中心に対応しているプロキシ ジオメトリ上の位置から光線が発射されたときに元のソース ジオメトリ上の点にヒットします。
ユーザーインターフェースの指定に従い、マテリアルをプロキシ テクスチャに転送する (例えば、ベース、法線、スペキュラなど。