メインコンテンツまでスキップ

アンビエントオクルージョン(AO)

アンビエントオクルージョンは、環境によるオクルージョンに基づいて、どれくらいの光が表面に到達するかを予測する技法です。

PlayCanvasでは、アンビエントライティングは拡散とスペキュラの両方のAOマップで乗算されます。

Ambient Occlusion comparison: without/with Left: without AO; Right: with Global AO

AOマップは、異なるスケールの場合があります。例えば、モデルの異なる部分の大きなシャドーイング効果を伴う表面の裂け目またはワールドスケールのAOを示すテクスチャ詳細AO。スケールの大きいAOは、より多くのエフェクトをもたらし、通常はUV1のライトマップと一致し、より重要です。

レンダリンググローバルAO

AOのレンダリングは、一般的な3Dモデリングとarchvizツールを使用して行うことができます。 Lightmapping Sectionに記述されているLightmapのレンダリングと事実上同じです。

特別なマテリアルがすべてのジオメトリに適用され、それによってAOのように見えるように塗りつぶされるため、いくつかの小さな違いがあり、テクスチャへのレンダリング中に異なる設定が行われます。

VRayを使用した3D's Maxでは、VRayDirtタイプとAmbient Occlusionモードのマテリアルを作成することで行います。ここでradiusは望ましい結果を得るために変更できます。

3D's Max: Ambient Occlusion VRay Material

このマテリアルは、アンビエントオクルージョンマップ内にあるすべての静的ジオメトリに適用する必要があります。3D's Maxでは個々のオブジェクトに手動で適用するか、Override mtlプロパティを使用してVRay Render Settingsを使用して行うことができます。このようにして、個々のマテリアルは保存され便利です。

3D's Max VRay Render Settings: Override mtl

次に、このデータをテクスチャに取り込む必要があります。3D's Maxでは、Render To Textureを使用して行います。ライトマッピングレンダリング時と同じですが、出力オプションはVRayCompleteMapを使用する必要があります。

AO Textureは非常に詳細な情報を格納する必要はなく、視覚的にはテクスチャ圧縮アーティファクトの悪影響はあまりありません。そのため、JPEGは経済的で適切な形式です。

エディタにアップロード

Editorでテクスチャをアップロードし、マテリアルのAmbient Occlusionスロットに適用するだけです。

Editor Ambient Occlusion Map

上で説明したグローバルアンビエントオクルージョンを使用するやそのprojectをご確認ください。

PlayCanvas Lightmapping The lighting in this scene is implemented using Lightmap and AO textures and Box Projected IBL (reflections)