SSAOEffectDesc
SSAOEffectDescクラスは、スクリーンスペースアンビエントオクルージョン(SSAO)エフェクトを適用するDescriptorです。ジオメトリの隙間や凹部に暗い影を追加し、より立体的な見た目を実現します。
Properties
Section titled “Properties”visible
Section titled “visible”Type: boolean | undefined
Description: エフェクトの表示/非表示を制御します。
Default: true
samples
Section titled “samples”Type: number | null | undefined
Description: AOサンプル数を指定します。
Default: null
Example:
{ ssao: { samples: 16, }}radius
Section titled “radius”Type: number | null | undefined
Description: AOの影響半径を指定します。
Default: null
Example:
{ ssao: { radius: 5, }}intensity
Section titled “intensity”Type: number | undefined
Description: AOエフェクトの強度を指定します。
Default: 1
Example:
{ ssao: { intensity: 1.5, }}Type: Color | undefined
Description: AOの色を指定します。
Default: new Color().setHex(0x000000) (黒)
Example:
import { Color } from "@navaramap/three";
{ ssao: { color: new Color().setHex(0x000000), }}halfRes
Section titled “halfRes”Type: boolean | null | undefined
Description: 半分の解像度でレンダリングするかどうかを指定します。パフォーマンス向上に役立ちます。
Default: false
Example:
{ ssao: { halfRes: true, }}quality
Section titled “quality”Type: "Low" | "Medium" | "High" | "Ultra" | undefined
Description: SSAO品質モードを指定します。
Default: "Low"
Example:
{ ssao: { quality: "High", }}Usage Examples
Section titled “Usage Examples”基本的なSSAOエフェクトの追加
Section titled “基本的なSSAOエフェクトの追加”import ThreeView from "@navaramap/three";import { SSAOEffectDesc } from "@navaramap/three-default-descs";
const view = new ThreeView();await view.init();
// SSAOエフェクトを追加const ssaoDesc = view.addEffect<SSAOEffectDesc>({ visible: true, ssao: {},});高品質SSAOの設定
Section titled “高品質SSAOの設定”import ThreeView, { Color } from "@navaramap/three";import { SSAOEffectDesc } from "@navaramap/three-default-descs";
const view = new ThreeView();await view.init();
// 高品質SSAOを追加const ssaoDesc = view.addEffect<SSAOEffectDesc>({ visible: true, ssao: { quality: "High", samples: 16, radius: 5, intensity: 1.5, color: new Color().setHex(0x000000), },});パフォーマンス重視のSSAO設定
Section titled “パフォーマンス重視のSSAO設定”import ThreeView from "@navaramap/three";import { SSAOEffectDesc } from "@navaramap/three-default-descs";
const view = new ThreeView();await view.init();
// 半解像度でパフォーマンスを向上const ssaoDesc = view.addEffect<SSAOEffectDesc>({ visible: true, ssao: { quality: "Low", halfRes: true, },});デフォルトエフェクトと組み合わせた使用
Section titled “デフォルトエフェクトと組み合わせた使用”import ThreeView, { Color } from "@navaramap/three";import { SSAOEffectDesc } from "@navaramap/three-default-descs";import { DefaultPlugin } from "@navaramap/three-default-plugin";
const view = new ThreeView();const plugin = new DefaultPlugin();view.addPlugin(plugin);await view.init();
// デフォルトのフォトリアルオブジェクトを追加plugin.addDefaultPhotorealScene();
// SSAOを追加const ssaoDesc = view.addEffect<SSAOEffectDesc>({ visible: true, ssao: { quality: "High", halfRes: true, samples: 16, radius: 5, intensity: 1, color: new Color().setHex(0x000000), },});
// 3Dタイルと組み合わせて使用const buildingsSource = view.addSource({ type: "3d-tiles", url: "https://example.com/tileset.json",});
view.addLayer({ type: "3d-tiles", source: buildingsSource, model: { show: true, color: new Color().setHex(0xffffff), },});- Color クラス - 色の設定方法