Skip navigation

Köd

Beállítások

Különösen kültéri modellezés esetén jelentősen növelhetjük a valósághűséget a légkör páratartalmának szimulálásával. Minél nagyobb a kamera és a tárgy közötti távolság, a tárgy vetületi képe annál homályosabban jelenik meg. Sűrű köd esetén egy megadott távolságon túl már nem is látszanak a tárgyak, csak a köd színét látjuk. A Three.js kétféle ködképzést tesz elérhetővé. Mindkét esetben a színtér objektumhoz kell egy új köd objektumot hozzáadnunk.

A valósághűbb modellezéshez célszerű  a renderelő törlőszínét a köd színének beállítani (renderer.setClearColor() az init() függvényben).

Lineáris köd esetén megadjuk a köd színét, valamint egy közeli és távoli távolságot. A közelinél közelebbi objektumokra nincs hatással a köd. A maximális távolságon túliak esetén már csak a köd színét látjuk, a tárgy színe elveszti szerepét. A kettő között a színátmenet súlya lineárisan változik.

scene.fog = new THREE.Fog( 0x808080, 0.1, 25 );

Valósághűbb eredményt érhetünk el az exponenciális ködképzéstől. Itt a köd színének súlya nemlineárisan függ a távolságtól. A köd színe mellett egy sűrűségi értéket adhatunk meg, távolságok beállítására nincs mód.

scene.fog = new THREE.FogExp2( 0x808080, 0.08 );

Az alábbi diagram az objektum saját színének súly változását mutatja a nézőponttól való távolság függvényében. Lineáris köd esetén a 0 érték a közeli (near), az 1 pedig  a távoli (far) távolságot jelenti.

Példaprogram

A 11_06_ThreeJsObjectTesterLightShadowFog példaprogram a korábbi megvilágítási/árnyékolási példánkat egészíti köddel.

  • Próbáljuk ki mindkét ködképzési módszert!
  • Változtassunk a köd paraméterein és figyeljük meg a hatását!