導入
このドキュメントでは、Aximmetry内でマテリアル/シェーダーを設定する方法について説明します。
シェーダー
シェーダー/マテリアルの設定について説明する前に、シェーダー/マテリアルとは何かを明確にしておきます。Aximmetryでは、シェーダーとマテリアルは互換性のある用語です。
コンピュータグラフィックスにおいて、シェーダーは3Dシーンのレンダリング時に適切な明るさ、暗さ、色を計算するコンピュータプログラムです。
インポーターオプションの設定...
先ほど説明したように、以下のオブジェクトからインポートする対象を選択できます:
- ジオメトリ
- ライト
- カメラ
- マテリアル
マテリアルのインポートは、各レンダリングエンジンがシェーダー/マテリアルへのアプローチが異なるため複雑です。Aximmetryはマテリアルを自動的に設定しようとしますが、Import materialsオプションをオフにし、手動でマテリアルを設定することを強く推奨します。
自動的にインポートされたシェーダーとは異なるシェーダーを使用するには、モデルのコンパウンドを右クリックし、Set Importer Options...メニューを選択し、Import Materialsオプションをオフにします。
次にOKをクリックします。
この設定を推奨する理由は、自動シェーダーの機能が限定されており、手動設定の方がはるかに良い結果が得られるためです。適切なシェーダーに置き換えることで、レンダリングエンジンの機能を最大限に活用できます。
このオプションをオフにすると、Aximmetryはモデルを再インポートし、自動的にインポートされたシェーダーを削除します:
モデルにはグリッドテクスチャが適用され、任意のAximmetryシェーダーを追加できます:
シェーダーのインポート
Aximmetryには多くのシェーダーが用意されており、Projects\Common\Shadersに格納されています。
最もよく使用されるシェーダーは、Projects\Common\Shaders\StandardまたはProjects\Common\Shaders\PBRに格納されています。
使用するシェーダーの選択
Aximmetryでは、各シェーダーは提供する独自の機能に基づいて命名されています。
例:
- PBR - これらのシェーダーは物理ベースレンダリングパイプラインを使用します。
- Light - シェーダーは拡散反射用にライトマップを使用します
- AO - シェーダーはAO(アンビエントオクルージョン)マップを使用します
- Sheen - シェーダーはシェーンカラーと環境マップを使用します
- Refract - シェーダーは屈折を計算します
- Emiss - シェーダーは発光効果を適用します
- Disp - シェーダーはディスパージョンマップを使用します
- Aniso - シェーダーは異方性マテリアルに使用可能です
- Compl - シェーダーは完全なマップを使用します
- Flat- シェーダーはノーマルマップを使用しません
- Mirror - シェーダーは平面反射に対応しています
- IBL - イメージベースドライティング(IBL)、環境マップと組み合わせて使用可能です
- IBLSS - シェーダーは環境マップと使用可能で、スペキュラー環境マップは高いサンプリングレートで計算されます。
- Det - シェーダーは2つのテクスチャパックを使用し、カメラからの距離に応じてそれらをブレンドします
- Fabric - 素材の透過率はビューアングルに応じて変化します
- Fresnel - フレネルは、表面が接線方向の角度で反射する光の割合です。角度が小さいほど反射が増加します
- NOTE: PBRシェーダーはデフォルトでフレネルを計算します
- Fresnel_ - 素材の自己発光明るさと色はカメラ角度に依存します。角度が小さいほど明るくなります
- -Fresnel - 素材の自己発光明るさと色はカメラ角度に依存します。角度が小さいほど明るさが低下します
- _Fresnel - 2つの色または色とテクスチャのブレンドはカメラ角度に依存します
- _Inv - シェーダー内でフレネル効果が反転されます
モデル作成/テクスチャリングソフトウェアで使用したテクスチャとパラメーターを確認し、Aximmetryでそれらを使用できるシェーダーを探してください。
当社のシェーダーのほとんどはダイナミックライトの影響を受けますが、例外もあります:
- Basic.xshad シェーダー
- Freshnel_*.xshad シェーダー
- Cut_Basic_Fresnel.xshadシェーダー
- Norm_Refl_Light-Fresnel.xshad シェーダー
よく使用されるシェーダー
[Common]:Shaders\Standard\Basic.xshad
は最もシンプルなシェーダーで、自己発光シェーダーです。光や影の影響を受けません。反射や影を付けたくない発光オブジェクトに使用できます。
- 色、強度、不透明度を変更できます
[Common]:Shaders\Lightmap\Norm_Light.xshad
ノーマルマップとライトマップを使用できます。光や影の影響を受けます。このシェーダーは、オブジェクトを現実的に表示するためにライトマップとダイナミックライトが必要です。
[共通]:Shaders\PBR\PBR_IBL_Norm_Light.xshad
これは最もよく使用されるシェーダーです。拡散光にライトマップを使用したPBRテクスチャ、およびスペキュラーハイライトにスペキュラー環境マップを使用します。
このシェーダーは、オブジェクトを現実的に表示するためにライトマップとスペキュラー環境マップ、またはダイナミックライトが必要です。
一般的には、最も現実的な結果を得るためにPBRシェーダーの使用を推奨します。
このドキュメントでは、PBRシェーダーの使用方法を説明します。
シェーダーをモデルに適用する
使用したいシェーダーを見つけたら、フローエディターにドラッグアンドドロップします。
先ほど説明したように、各マテリアルには別々のメッシュノードがあります。マテリアルに接続するには、次のように接続します:
[Common]:Shaders\Standard\Flat.xshad を使用して、Aximmetry 内でシェーダーを設定する方法を示します。
シェーダーにテクスチャを追加する
テクスチャをインポートする方法は3つあります。
注意:ここでは Flat.xshad シェーダーを例として使用していますが、プロセスはすべてのシェーダーとその入力に対して同じです。
テクスチャをピンにドラッグアンドドロップ
対応する入力ピン上にテクスチャをドラッグアンドドロップできます:
シェーダーの入力から選択
テクスチャを追加したいシェーダーを選択し、シェーダーのプロパティエディター内の3つのドットをクリックします:
ファイルブラウザを使用して、希望のファイルを選択します。
フローエディターでテクスチャを接続
または、フローエディターにドラッグアンドドロップし、次のように接続します:
上記のいずれの方法も使用できますが、属性以外のテクスチャ変更を行う場合は、フローエディターでテクスチャを接続する方法を使用してください。
テクスチャに変更を加えたくない場合は、ピンにテクスチャをドロップする方法をおすすめします。
次のドキュメントでは、PBRシェーダーについて説明します。