検索
Start typing to search...

高度なグラフィックスタスク

Author:

このドキュメントはベータ版です。記載されている情報は正確ですが、詳細の改善作業中です。

導入

このドキュメントでは、よく使用される問題解決方法と、より高度な解決方法の一部を、例プロジェクトを用いて説明します。

自動環境マップ生成

先ほど説明したように、Aximmetry内でキューブマップを生成できます。デフォルトでは、これはロード時に一度だけ実行されますが、シーンの変更を許可しないため、この動作を回避したい場合があります。そのために、必要に応じて生成するロジックを設定できます。

例として、Auto EnvMap Gen.xcompというシーンを使用します。このシーンを使用して、この機能の設定方法を説明します。

例プロジェクトを開きます。

読み込みが完了すると、色付きの部屋にウサギが表示されます:

ウサギには金属マテリアルが適用されており、壁の色を反射しています。

ダッシュボードには2つの色プロパティと生成トリガーがあります:

色を変更するか、生成トリガーを押すと、環境マップが再生成されます。

ウサギ用に新しいEnv map generatorを追加し、その信号を専用のトンネルに接続しました:

次に、そのIndexを2に変更しました:

このステップが重要な理由については後で説明します。

ジェネレーターをウサギの内部に移動しました:

このトンネルはウサギのシェーダーに接続されています:

Changed と Changer

これらの2つのコンパウンドは、新しいEnv Mapを生成するタイミングを決定します。

Changed

これはオプションです。入力のどれかが変更された場合にブール信号を送信します。

他のパラメーターを変更したい場合は、このモジュールを適切に拡張する必要があります。

Changer

Changed入力がtrueの場合、Env Mapsが再生成されます。

Changedコンパウンドがある場合は、そのChanged出力をここに接続する必要があります。

Changed モジュールがない場合、Env Maps を再生成するには Generate トリガーを押す必要があります。

Changer を正常に動作させるために、いくつかの設定が必要です。

  • Iteration Number - この数値は Env Map を生成する回数を設定します。デフォルトでは 3 に設定されており、この値は変更しないことを推奨します。
  • Generator Number - この数値は生成するEnv Mapsの数を設定します。この値はシーン内の最後のEnvmap generatorのIndexに一致する必要があります。チュートリアルでは2に設定されています。

Running Generatorの出力は、Env Map generatorのRunning入力に接続されます:

先ほど述べたように、Bunny用に追加した新しいEnvmap generatorのIndexを変更する必要があります。

これは、Changerが1つのEnvmapを次々と生成するためです。

追加のEnvmap generatorを追加する際には、以下の設定が必要です:

  • Indexを変更する
  • ChangerコンパウンドのGenerator Numberプロパティを増やす。一般的には、Generator Number = 最後のEnvmap generatorのIndexです。
  • そのビデオを新しいトンネルに接続します。

ベイクされたライトの色付け

先ほど述べたように、ベイクされたライトは静的で、ベイクされると変更できません。ただし、特定のライトの色と照らす領域の色を変更するワークアラウンドがあります。

このためのチュートリアルプロジェクトも用意しています: Colorizing Baked Light.xcomp これを使用して手順を説明します。

開くと、立方体の中に発光する球体が見えます:

ダッシュボードにはColorプロパティがあり、これを変更すると、球体とそれによって照らされる領域の色が変更されます:

チュートリアルプロジェクトには、このシーンの設定手順を説明するメモがありますが、ここでも説明します。

ライトマップの作成

これを行うには、ボックス用に2つの異なるライトマップが必要です:

  • 1. すべての光源をオンにしたライトマップ(球体を除く)
  • 2. 球体のみをオンにし、その他のすべての光源をオフにしたライトマップ。
  • - 球体は白色光を放射し、そのパワーは1に設定されていることが非常に重要です。

ライトマップの着色

球体のみをオンにしたライトマップはフィルターノードを通過します:

フィルターノードはテクスチャを着色します。

Copy Colorノードをフィルターに接続し、Sphereによって照らされる部分のカラーを変更できるようにします。

カラー化された「Only Sphere」ライトマップと「No Sphere」ライトマップを、Blenderノードを使用して合成します。

BlenderノードのBlending ModeをAdd(5)に設定します。

結果は、ボックスのシェーダーのLightmap入力に接続できます。

この方法は数学的に正しい結果を得られます。

Sphereの色付け

ライトマップを色付けした後、Sphereの色も変更する必要があります。

Solid Colorノードを追加します。

Copy ColorノードをSolid Colorノードに接続します。

Solid ColorノードをSphereのシェーダーのEmissive Map入力に接続します:


変更時のみ保持

先ほど述べたように、これらのテクスチャ変更は計算コストが高いため、各フレームで計算したくありません。各フレームで生成されないようにするには、Pass on Change Holderコンパウンドを使用します。

次のように設定します:

私たちの場合、エミッシブ スフィアの色のみを変更したいので、そのパラメーターを使用してPass on Change Holderに計算を実行するタイミングを指示します。

これを、Pass on Change HolderのParam X入力のいずれかに接続します。

この設定は例です。このコンパウンドは、任意のテクスチャ計算後に使用できます。

テクスチャ属性の変更

テクスチャファイルをロードする際、それらに関連する多くの属性を変更できます。

テクスチャがシーンにロードされた際に属性が適用される点に注意が必要です。

ロードされたテクスチャの属性を変更するには:

依存関係マネージャーで:

選択したテクスチャを右クリックし、「属性表示/変更」をクリックします:

またはテクスチャのプロパティで:

2つの方法には重要な違いがあります:

- 依存関係マネージャーで属性を変更すると、そのテクスチャのすべての使用先が同じ属性を継承します。

- テクスチャ自体で属性を変更すると、そのテクスチャのインスタンスのみに属性が適用されます。

「属性表示/変更」または「三角形」ボタンをクリックすると、新しいウィンドウが表示されます:

ここで以下の属性を調整できます:

  • No premul - デフォルトではAximmetryはPremultiplied alphaを使用します。No Premulをオンにすると、この機能をオフにします。
  • Color Space - Keep - Aximmetryはテクスチャを変換しません。
  • - sRGB to Linear - AximmetryはsRGB画像をLinearに変換します。注:この変換は、AximmetryがLinearモードの場合に自動的に行われます。
  • - Linear to sRGB - AximmetryはLinear画像をsRGBに変換します。注:この変換は、AximmetryがsRGBモードの場合に自動的に行われます。
  • Crop - このプロパティを使用して、画像の端をトリミングできます。
  • リサイズ - 画像のサイズを変更できます。
  • キューブ - 2Dレイアウトにキューブテクスチャがある場合、ここで設定できます。
  • ボリューム - 2Dレイアウトにボリュームテクスチャがある場合、列と行を指定してここで設定できます。
  • アレイ - 2Dレイアウトにアレイテクスチャがある場合、列と行を指定してここで設定できます。
  • Normal - 高さマップをノーマルマップに変換するために使用できます。
  • Irradiance env - ノーマルキューブマップをイラディエーションキューブマップに変換できます。
  • Specular env - ノーマルキューブマップをスペキュラキューブマップに変換できます。
  • Mipmaps - 2Dテクスチャにミップマップを生成するために使用できます。最高の結果を得るにはBicubicを使用してください。ミップマップを追加すると、テクスチャのメモリ使用量が倍になりますが、処理速度が向上します。
  • 変換 - 指定された形式に画像を変換できます。
  • レイヤー - 画像ファイルからレイヤーを選択できます。

DDS にベイク

先ほど説明したように、属性は読み込み時に適用されます。

DDS にベイク機能を使用すると、これらの設定を新しい .dds ファイルに保存できます。

記事内容

Loading
Close
Loading spinner icon
1/10