フォグ

ここでは、サンプルデータを使用してフォグの基本設定を説明します。

フォグの設定は、CreativeStudio のシーン環境パネルで設定します。

シーン環境では、シーンに複数あるマテリアル個々に対して、ライト、フォグ、カメラを設定できます。

補足:
フォグとは、カメラからの距離に応じてフォグカラーをフラグメントカラーにブレンドする機能です。
遠くの風景が霧 ( フォグ ) によってかすむ表現などが行えます。
奥行き情報であるデプス値をもとに、カメラからの距離に応じてフォグカラーを変化させます。

フォグの作成には、以下の 2 つの方法があります。

サンプルデータの読み込み

CreativeStudio で以下の場所に用意されているサンプルデータ ToyBook を読み込みます。

" %NW4C_ROOT%/SampleData/Graphics/Intermediate/ManualResource/TutorialToyBook/ToyBook.cres "

ToyBook はデプスバッファを使用したフォグを使用しています。

また、作成したフォグは、シーン環境パネルのフォグ設定を使用してマテリアルに反映させています。

読み込んだ ToyBook には、以下のノードにフォグが設定されています。

フォグ画像01

マテリアル設定の確認

ToyBook の Tree は、マテリアルパネルでフォグの使用を許可しています。

コンテンツパネルの Tree を選択してマテリアルパネルを開きます。

フォグ画像02

マテリアルパネルの全般にあるフォグ設定を確認します。

フォグ画像03

フォグを有効にするチェックボックスが ON になっていて、フォグ番号が 0 になっています。

フォグ番号とは、シーン環境パネルでフォグが設定されている番号になります。

フォグを有効にするチェックボックスが OFF になっていると、フォグの設定が反映されませんのでご注意ください。

フォグの設定

ここでは、実際にデプスバッファを使用するフォグを新規作成して、シーン環境パネルで Toy_Book に設定する方法を説明します。

デプスバッファを使用するフォグの作成

CreativeStudio のメニュー [作成]→[フォグ] を選択して新規にフォグを作成します。

コンテンツパネルに FogCtr2 が作成されます。

フォグのパラメータを設定

コンテンツパネルに表示されている FogCtr2 を選択して、フォグパネルを開きます。

ここでは、サンプルデータのフォグからの変更をわかりやすくするために、フォグカラーの変更をします。

補足:
カラーサムネイルを左クリックすると、カラーピッカーがポップアップ表示され色の設定ができます。

フォグ画像04

フォグカラー以外の設定は、サンプルデータのものとすべて同じにしてあります。

フォグパネルの設定項目の詳細は、こちらを参照してください。

作成したフォグをシーン環境パネルに設定

フォグパネルで作成したフォグをシーン環境パネルに設定して、マテリアルに反映させる方法を説明します。

コンテンツパネルに表示されている SceneEnvironment1 を選択してシーン環境パネルを開きます。

フォグ画像05

シーン環境パネルには、もともと設定されていた FogCtr1 が表示されます。

ここに新規で作成した FogCtr2 を追加します。

フォグの設定項目の「追加」ボタンを押すと、フォグの追加ダイアログが表示されます。

フォグ画像06

番号は自動的に連番が表示されますが、任意に設定変更できます。

ここでは、番号は 1 のままにしておきます。

フォグのプルダウンメニューを開いて、FogCtr2 を選択します。

フォグ画像07

FogCtr2 を選択して「OK」ボタンを押すとシーン環境パネルに新規に作成したフォグが追加されます。

フォグ画像08

この状態になると、シーン環境パネルを使用したフォグの設定をマテリアルに反映できます。

作成したフォグをマテリアルで使用する

シーン環境パネルに設定したフォグ ( FogCtr2 ) をマテリアルに反映させます。

ToyBook の Tree にフォグを設定しますので、コンテンツパネルでマテリアル Tree を選択します。

フォグ画像02

Tree を選択するとマテリアルパネルが表示されますので、全般のフォグ番号を 1 に変更します。

フォグ画像09

フォグ番号を 1 にすると設定されているフォグが FogCtr2 に変更されて、プレビュー画面でフォグの色が変化するのを確認できます。

フォグ画像10

このことを応用して、さまざまなフォグを作成しておくと簡単に各マテリアルのフォグ設定を変更できます。

また、色々なフォグ設定をプロジェクトで共有することで、プロジェクト内でのフォグの共有化も簡単に行えるようになります。