ホーム > ゲーム映像CGソフト > 製品一覧 > Softimage > サポート > Softimage FAQ
Softimage FAQ / マテリアル、テクスチャ、レンダリング
Final GatheringのTips (v3.0以上)
〜 H15 1/31のXSI ユーザーカンファレンス/Rendering Optimizationパートから 〜
カンファレンスで使用したデータベースのダウンロード : User_Conference2003.ZIP
- FGを行うための設定内容
- ライトプロパティのLight Contribution
- Rendering OptionsのFinal Gatheringスイッチ
Accuracy FGのスムースさ。間接光の計算のためにサーフェス上の計算点からヘミスフィアへ発射されるrayの数 Min/Max radius FGの詳細さ。ポイントの上部に位置するサンプルされる半球の半径。Min/Maxの間では新たにFGサンプルが取られる可能性あり。 Automatic compute Min/Maxの自動計算。シーンの全オブジェクトを包含するバウンディングボックスの平均の10%がMin radius、25%がMax radiusになる。 - レフ版にはConstantマテリアルを
- 各オブジェクトのマテリアルにてIndirect Illuminationを設定
Radiance FGによるオブジェクト自体の輝度 Translucent 半透明度 Incandescence 白熱灯やネオンのような発光効果
- Image Based Lighting(IBL)
FGはImage Based Lightingをベースにした技術。
本来のIBLの設定手順はこちら
- FGの計算方法について

- 黄色
- Eye Ray
- グレイ
- 法線
- 緑
- FG Ray(FG Sample)
- Eye Rayがサーフェスに当たると、ヘミスフィア(半球)が作られます。大きさはRadius Min/Maxで定義されます。
- 環境のサンプリングのため、交点からFG Rayが発せられます。この数はAccuracyで定義され、方向はランダムです。FG Rayは無限の長さを持ちますが、何かにぶつかるとそこで止まり、FG計算のための間接光輝度を拾ってきます(FG Sample)。

- 続いて別のEye Rayの計算をします。既存のヘミスフィアのMin Radiusの中にEye Rayが入ってきた場合は、新たにFG Rayは発せられず、2.で計算されたFG Sampleを再利用します。

- Eye Rayが既存のヘミスフィアの外側と交点を持った場合、新たにヘミスフィアが生成されます。
このことから、Radiusが大きいと隣のヘミスフィアとダブる領域が大きくなり、陰影がボケてきます。Radiusが小さいとシャープになってきますが、多くのヘミスフィアが発生するので計算時間がかかってきます。

注意すべきなのはFG計算が行われるのは”見えている部分のみ”であり、結果はFGmapへストアされます。このFGmapはファイルに残すこともできます。
- FGの計算方法について
- Radiusを小さくする
- FGによる陰影がシェープになる。
ヘミスフィアのオーバーラップが少なくなるので、Accuracyを大きくすることが望ましい。
計算時間がかかるようになる。 - Radiusを大きくする
- FGによる陰影がぼけてくる。
ヘミスフィアのオーバーラップが大きくなるので、Accuracyを小さくしても構わない。
計算時間は少なくて済む。

※両者のDifferenceを取ったもの
- FG RadiusとFG Accuracyの設定 (その2)
Radius Accuracy レンダリング時間 コメント Rebuiltの設定
(推奨)Small
0.01-0.2High
1000-3000最も遅い 最も高画質、フリッカが少ない ON Large
1-100High
1000-3000遅い 繰り返しの多いテクスチャに囲まれている環境で使うと良い。 ON Small
0.01-0.2Low
100-500早い 不適切。
不自然でフリッカが多くなるクオリティが低いので論外 Large
1-100Low
100-500早い FGを使ったImage Based Lightingに適している OFF
- Diagnostics Mode
- Render Options - Diagnostics Mode - View Final Gathering

緑のドットはプリプロセス段階(Raytracing)で取られた初期のFG sampleを意味し、赤のドットはFGmapのサンプル点不足のため新たに追加で取られたFG Sample。
赤いドットの部分はフリッカが出やすい傾向があるが、前後のフレームを考慮した結果ではないので、必ずしもフリッカの原因とは限らないことに注意。むしろ赤いドット部分を少なくすることによってレンダリング時間が短縮できると考えていただいた方が良い。
- Render Options - Diagnostics Mode - View Final Gathering
- FGのファインチューニング
- Accuracyは20〜30くらいから始める。エフェクトは粗いが早い。だんだんupしてゆき、200〜300くらいまでup。最終的には1000以上でもよい。
- RadiusはAutomatic Computeで得た値から始め、ノイズや不自然さがなくなるよう調整
- タイルのようなノイズが出る場合にはAccuracyを上げ、Max radiusを下げる。
- 斑点のようなノイズ、アニメーション時のフリッカが出る場合には、Max radiusを下げる。下げすぎると時間がかかるようになるので注意(1以下)
- 不自然さが解消されない場合はAccuracyを上げ、再度Radiusを調整
- フリッカを防ぐには (その1)
- フリッカの原因
-
- 周囲にオブジェクトが多数存在する。
- 周囲にコントラストの大きい、高周波数(繰り返しの多い)のテクスチャが存在する
(例 : チェッカーボード) - サンプル点不足
- 解決法
-
- シーンに大きな影響を与えないオブジェクトはHideする。(極端に小さい。極端に遠いなど)
- 繰り返しの多いテクスチャマップが周囲の環境にある場合、FG Accuracyを高くする。
- 反射オブジェクトとしてconstant shaded オブジェクトを使う
- ray_type shader を使う(Node > Switch > Ray Type)
ぼけたテクスチャを使用 Constantマテリアルを使用 Surface Treeのレンダリングイメージ(実際にレンダリングされるテクスチャ) FG Treeのレンダリングイメージ(FGの計算に使われるテクスチャ)
- フリッカを防ぐには (その2)
- フリッカの原因
-
- フレーム毎に異なるFG mapを使ってしまう。
(FG rayの方向はランダムなため、rebuildすると毎回異なってしまう) - サンプル点の不足
フリッカの発生例
FG map Rebuild : ON
Accuracy : 100
Radius Min/Max : 3.5, 1.3
- フレーム毎に異なるFG mapを使ってしまう。
- 解決方法1 : (全フレームを同じマシンでレンダリングする場合)
- FG rebuildをOFFにする。FGmapの追記が可能になる。
- スタート時にFGmapファイルが無いことを確認。最初のフレームで自動的に作られる。
- FG Accuracyはあまり高くする必要は無い。(300〜500程度)
FG map Rebuild :OFF
Accuracy : 100
Radius Min/Max : 3.5, 1.3視点が変わると新たに見えた部分のみFGmapが追加され、既に見えている部分はそのままのFGmapが使われるのでフリッカが起こらない。
- 解決方法2 : 方法1に続き、さらに以下の手順を追加
- RebuildをOFF、シーン内のFGを見渡すようにカメラをOrbitし、まんべんなくRender Regionをかける
- レンダリングをかける前にFGmapファイルをLock (Readonly)
- FG mapを共有したレンダリングファームの構築が可能
- 解決方法3 : (フレームベースのレンダファームに適用。フレーム毎に異なるマシンでレンダリング)
- FG RebuildをON
- フレーム毎にFGmapを作り直すので、最も高画質なパラメータ設定にする。
- Accuracyを1000〜3000、Radiusを0.001〜0.02
- それぞれのレンダーファームマシンでFGmapを設定
例 : C:\temp\$COMPUTERNAME
FG map Rebuild : ON
Accuracy : 1500
Radius Min/Max : 0.001, 0.02毎フレームで高サンプルでFG mapを作り直すので、フリッカは少なく出来るが、非常に時間がかかる。
- RenderMap, RenderVertexへの応用
- RenderMapまたはRenderVertexを適用するシーンを用意します。
- View Render OptionsのFinal Gathering Mapにて、FG Mapのファイル名を指定、RebuildをOFFにします。FG Mapのファイルは存在しないファイルを記述して下さい。
- Region Renderを行います。カメラをorbitし、表裏ともまんべんなくRegion renderして下さい。
(FG mapが作成され、Region Render毎にマップが追加されていきます) - Render Optionsの方も、Final Gathering Mapにて、FG Mapのファイル名(2で設定したファイル名)を指定、RebuildをOFFにします。(RenderMapではRender Optionsの設定内容が参照されます)
- RenderMapまたはRenderVertexを適用したいモデルを選択し、Property > RenderMapにてRenderMap, RenderVertexを行って下さい。
















