Version: 5.4
Unity のウォーター
3D アプリケーションからモデルをインポートする方法

アートアセットベストプラクティスガイド

Unity は幅広いプログラムやソースからのテクスチャつき 3D モデルをサポートします。このガイドは Unity 開発者とともにゲームアーティストにより、Unity プロジェクトでよりよい動作をしてより効率的なアセットを作成する手助けとなるように、まとめらていてます。

スケールおよび長さの単位

  • Unity で一貫して動作するように、システムおよびソフトウェアにおけるプロジェクトの長さの単位を設定します(例えば、メートル単位で)。
    • 縮尺が合うように作業を行うことは、ライティングおよび物理シミュレーションの両方で重要です。
    • 例えば、Max のシステムデフォルトの長さの単位がインチで、Maya がセンチメートルであることに注意します。
    • Unity は FBX およびインポートする 3D アプリケーションファイルで異なるスケーリングを持っています。インスペクターで FBX インポート Scale Setting チェックします。
    • もし分からなければシーンに 1 立方メートルのキューブをエクスポートして Unity でマッチングしてみます。
  • アニメーションフレームレートのデフォルトはパッケージにより異なり、パイプラインを通じて一貫して、例えば 30fps に、セットすることは大事です。

ファイルおよびオブジェクト

  • シーンのオブジェクトは意味のある形で、一意にネーミングします。これによりプロジェクトの特定のメッシュを見つけたり、トラブルシューティングを行う際の手助けとなります。
  • 特殊文字 * ()?"#$、等を避けます。
  • オブジェクトおよびファイルにシンプルかつ分かりやすいネーミングを使用します(後々で複製できる名前にします)。
  • 階層はできるかぎりシンプルにします。
  • 3D アプリケーションの大きなプロジェクトでは、作業ファイルを Unity プロジェクトディレクトリの外にすることを検討します。これは時間消費の激しい更新や不要なデータのインポートに要する時間の節約となります。
オブジェクトに意味が分かりやすい名前をつけると、検索しやすい
オブジェクトに意味が分かりやすい名前をつけると、検索しやすい

メッシュ

  • 効率的なトポロジーでビルドします。ポリゴンは必要なときのみ使用します。
  • ポリゴン数が多すぎる場合、ジオメトリを最適化します。多くのキャラクターモデルは特に次のようなソース元、または、ビルドされている場合、理性的な最適化が必要であったり、最悪アーティストにより作り直しが必要となります。
    • 3D キャプチャデータ
    • Poser
    • Zbrush
    • 他、レンダリング用にデザインされた高密度の Nurbs/Patch モデル
  • できるかぎり、建物、地形、構造物に均等にポリゴンを配置することで、照明が適切に広がり、おかしな描画を避けます。
  • 非常に細長い三角形を避けます。
フレームレート天国への階段
フレームレート天国への階段

オブジェクトの作成手法は、ポリゴン数におおきく影響を与えます。最適化されていない場合は特に影響がおおきくなります。この図では、同じ形状のメッシュなのに右はトライアングル数が 156 個、左では 726 個です。726 個はそれほど多いポリゴン数には聞こえないかもしれませんが、これが仮にレベル中で 40 回使用された場合、節約の効果が現れてきます。経験則では、最初はシンプルなものから始めて、必要なところにディテールを追加するのが良いでしょう。ポリゴンは削除するより、追加する方がつねに簡単です。

テクスチャ

テクスチャは、 2 の累乗( 512 x 512 や 256 x 1024 等)で生成すると、より効率的となり、ビルド時に再スケールする必要が無くなります。最大で 4096 x 4096 ピクセルまで使用できますが、 2048 x 2048 が最大値になっているグラフィックスカード/プラットフォームが多いです。綺麗なテクスチャを製作するための専門的なアドバイスは、 web を検索してください。プロジェクトをより効率的にしたい場合は、次のガイドラインが手助けになると思います:

  • Unity プロジェクトの外で高解像度のソースファイルで作業を行います(例えば PSD または GIMP ファイル)。ソースからダウンサイジングはいつでもできますが、逆はできません。
  • シーンで必要なテクスチャ解像度出力を使用します(例えばコピーを保存して 256 x 256 で最適化された PNG または TGA ファイル)。テクスチャがどこで見られ、どこにマッピングされるかの判断をできます。
  • 出力テクスチャファイルを Unity プロジェクトで同じ場所に格納します(例えば: \Assets\textures )。
  • 保存/エクスポートするときに 3D 作業ファイルが一貫して同じテクスチャを参照していることを確認します。
  • テクスチャの利用可能な空きスペースを活用して、一方で異なるマテリアルが同じテクスチャの異なる部分を必要とすることに注意します。結果として同じテクスチャを何回も使用/ロードすることになります。
  • アルファ(カットアウト)および異なるシェーダーを必要とする要素は、テクスチャを分けてください。例えば、下記のひとつのテクスチャ(左側)は 3 つのより小さなテクスチャにより置き換えられます(右側)。
ひとつのテクスチャ (左) 対 3 つのテクスチャ (右)
ひとつのテクスチャ (左) 対 3 つのテクスチャ (右)
  • タイリングテクスチャを活用(シームレスに繰り返す)して、これによりよい解像度で全体に繰り返すことができます。
  • ビットマップから簡単に気付ける反復要素は取り除き、コントラストに慎重となります。もしディテールを追加した場合デカールおよびオブジェクトを使用して繰り返しをなくします。
テクスチャのタイリングはこれで決まり
テクスチャのタイリングはこれで決まり
  • Unity は外部プラットフォーム向けの圧縮には対応してくれるため、ソースがすでに正しい解像度の JPG 場合、テクスチャで劣化しない形式を使用するのがよいです。
  • 写真からテクスチャページを作成する時は、繰り返し利用可能な個別のモジュラーセクションを考えてページ数を減らします。例えば、同じウィンドウを 12 個用意して、テクスチャ空間を使い切る必要はありません。これによって、ウィンドウ 1 つ当りの画像をより詳細にする事ができます。
そのウィンドウは「すべて」必要ですか?
そのウィンドウは「すべて」必要ですか?

マテリアル

  • シーンのマテリアルを整理し名前づけをします。これにより Unity のマテリアルがインポートされたとき、マテリアルを探し、編集するこができます。
  • ネイティブパッケージのマテリアルの設定は Unity にインポートされません。
    • <モデル名> - <マテリアル名> または
    • <テクスチャ名> - どれがほしいものかチェックしましょう。
  • ネイティブパッケージのマテリアルの設定は Unity にインポートされません。
    • Diffuse Colour、Diffuse texture および Names は通常サポートされています。
    • シェーダーモデル、鏡面、法線、および他の二次テクスチャおよび Substance Material 設定は認識/インポートされません。

インポート/エクスポート

Uniy は 2 種類のファイルを使用できます。保存された 3D アプリケーションファイルおよびエクスポートされた 3D フォーマットのうちどちらを使用するかはかなり重要です。

アプリケーションファイルの保存

Unity can import, through conversion: Max, Maya, Blender, Cinema4D, Modo, Lightwave & cheetah3D files, e.g. .MAX, .MB, .MA etc. see more in Importing Objects.

長所 :

  • 素早い反復プロセス (保存すれば Unity が更新してくれる)
  • 初期処理が簡単

短所

  • Unity プロジェクトを使用するすべてのマシンにライセンスが有効なソフトウェアがインストールされている必要があります。
  • ファイルは不要なデータで満杯になることがあります。
  • 大きなファイルによって Unity の更新を遅くすることがあります。
  • 検証が少ないため、問題をトラブルシュートするのが難しい。

エクスポートされた 3D フォーマット

Unity はさらに FBX、OBJ、3DS、DAE および DXF ファイルを読み込みできます。全般的なガイドとしては、FBX エクスポートガイド を参照してください。

長所 :

  • 必要なデータのみエクスポートします。
  • Unity にインポートする前にデータが検証されます (3D パッケージに再インポートされます)。
  • 一般的にファイルサイズが小さい。
  • モジュール的接近法を奨励します

短所

  • パイプラインやプロトタイピング、反復が比較的遅い。
  • ソース (作業ファイル) とゲームデータ (エクスポートした FBX ) の間でバージョンを見失う可能性があります。
Unity のウォーター
3D アプリケーションからモデルをインポートする方法