パルテア

どうぶつの森の美術館 〜ゲームエンジン(Unity)グラフィックス モデル 最適なパフォーマンスのためのモデルの作成〜

最適なパフォーマンスを実現するモデルを作成するためのヒントをいくつか紹介します。これらのヒントの一部はすべてのモデルに当てはまりますが、一部はアニメーション モデルにのみ当てはまります。

・ポリゴン数を最小限に抑える
・マテリアルをできるだけ少なくする
・スキンが 1 つだけのメッシュ レンダラーを使用する
・ボーンをできるだけ少なくする
・フォワード キネマティクスとインバース キネマティクスを分離する

これらのテクニックを使用すると、モデルのアニメーションとレンダリング速度が向上する可能性がありますが、実現しようとしている視覚的な忠実度とリアルな効果も低下する可能性があることに注意してください。すべての状況で、パフォーマンスの向上と視覚的なリアリズムの完璧なバランスを実現できる単一の答えはありません。キャラクターとシーンの複雑さと、必要な全体的な外観とリアリズムに応じて、完璧なバランスを見つける必要があります。

ポリゴン数を最小限に抑える

使用すべきポリゴンの数は、必要な視覚品質と対象とするプラットフォームによって異なります。次の 2 つの相反する事実は、どちらも同じくらい当てはまります。

メッシュで使用するポリゴンが少ないほど、アプリケーションの実行速度が速くなります。これは、すべての頂点、エッジ、または面にコンピューティング リソースが必要になるためです。
メッシュで使用するポリゴンの数が多いほど、ゲームオブジェクトはより詳細で有機的に見えます。これは、ポリゴンが小さいほど形状をより細かく制御できるためです。
また、レンダリング リソースをめぐって他に何が競合しているかも考慮してください。画面上に同時に多数のゲームオブジェクトまたは地形オブジェクトがある場合は、メッシュあたりのポリゴン数を減らすことを検討してください。

グラフィックス ハードウェアが処理する必要がある実際の頂点の数は、通常、モデリング アプリケーションによって報告される数と同じではないことに注意してください。モデリング アプリケーションは通常、モデルを構成する個別のコーナー ポイントの数 (ジオメトリック頂点数と呼ばれる) を表示します。ただし、グラフィックス カードの場合、レンダリングのために一部のジオメトリック頂点を 2 つ以上の論理頂点に分割する必要があります。たとえば、頂点に複数の法線、UV 座標、または頂点カラーがある場合は、頂点を分割する必要があります。その結果、Unity の頂点数は通常、3D アプリケーションによって提供される数よりも多くなります。

使用するマテリアルはできるだけ少なくします

各モデルのマテリアルの数をできるだけ少なくします。異なるパーツに異なるシェーダを使用する必要がある場合のみ、キャラクターに複数のマテリアルを使用します。たとえば、キャラクター モデルの目には特別なシェーダを使用する場合があります。

単一のスキンメッシュを使用する

スキンメッシュレンダラーを使用するアニメーションキャラクターモデルの場合、キャラクターごとにこれらのコンポーネントを 1 つだけ使用する必要があります。Unity のアニメーションシステムは、可視性カリングとバウンディングボリュームの更新を使用してアニメーションを最適化します。モデルで 1 つのアニメーションコンポーネントと 1 つのスキンメッシュレンダラーを使用する場合にのみ、これらの最適化がアクティブになります。

1 つのスキンメッシュの代わりに 2 つのスキンメッシュを使用すると、モデルのレンダリング時間が約 2 倍になる可能性があり、複数のメッシュを使用することで実用的な利点はほとんどありません。

できるだけ少ないボーンを使用する

一般に、使用するボーンが少ないほどパフォーマンスは向上します。ただし、多数のボーンを持つキャラクターモデルを作成する必要がある場合もあります。たとえば、カスタマイズ可能なアタッチメントを多数必要とする場合などです。これらの追加のボーンによりビルドのサイズが増加し、追加のボーンごとに相対的な処理コストが発生する可能性があります。たとえば、すでに 30 個のボーンがあるリグに 15 個のボーンを追加すると、Unity が汎用モードで解決するのに 50% 多い操作が必要になり、解決にかかる時間に影響する可能性があります。

Generic および Humanoid タイプには追加のボーンがあることに注意してください。追加のボーンを使用して再生するアニメーションがない場合、処理コストは無視できるほどのはずです。アタッチメントが存在しないか非表示になっている場合は、このコストはさらに低くなります。

パフォーマンス上の理由から、頂点あたり最大 4 つの影響を持つ線形ブレンド スキニングを使用します。ただし、一部の 3D モデリング アプリケーションでは、4 つ以上のボーンが頂点に影響を与えることができるため、パフォーマンス コストと制御の向上を比較検討する必要があります。

順方向運動学と逆方向運動学を分離する

Unity はアニメーションをインポートするときに、モデルの逆方向運動学 (IK) ノードを順方向運動学 (FK) にベイクするため、Unity では IK ノードはまったく必要ありません。ただし、モデルに残っている場合、Unity はアニメーションに影響を与えなくても、それらを計算に含めます。Unity または 3D モデリング アプリケーションで、冗長な IK ノードを削除できます。 IK ノードの削除を容易にするために、モデリング中に IK 階層と FK 階層を別々に保持します。

    Course

  • 日時:2024/04/01 ~ 2025/03/31
  • 名称:どうぶつの森の美術館 〜ゲームエンジン(Unity)グラフィックス モデル 最適なパフォーマンスのためのモデルの作成〜
  • 場所:オンラインスクール
  • 料金:¥0 (消費税込)