Skip navigation

Pontfény

Használata

A szín (color) és színintenzitás (intensity) mellett további paramétereket is meg kell adnunk.

  • A legfontosabb a fényforrás helye a térben (position).
  • A fény hatása gyengül a maximális távolsághoz közeledve, a távolabbi objektumokat egyre kevésbé képes megvilágítani. A csökkenés mértékét a decay attribútummal szabályozhatjuk. Alapértéke 1. A dokumentáció szerint a fizikailag korrektebb érték a 2.
  • A distance attribútummal megadhatjuk, maximálisan milyen távolságra ér el a fény. Ha a távoli objektumokra már kicsi lenne a hatása, ne számoltassuk feleslegesen a GPU-t. Az alapértelmezett érték 0, ami azt jelenti, hogy nincs távolságkorlát.
  • A fényforrást ki/be kapcsolhatjuk a visible logikai attribútummal.
  • Az r73 verzió óta képes árnyékot is vetni. Ennek részleteit külön tárgyaljuk.
var pLight = new THREE.PointLight( 0x00ffff, 1 );
pLight.position.set( 0, 0, 15 );
scene.add( pLight );

Ne felejtsük el, hogy itt sem jó a MeshBasicMaterial!

    Feladat

    Módosítsuk az előző példaprogramot!

    • Ambiens helyett pontfényt használjunk!
      • Figyeljük meg, hogy az eredmény szebb lesz, a forgó kocka oldalai más színárnyalatot kapnak annak függvényében, milyen szögben érkezik rájuk a fény!
    • Következő lépésként adjunk hozzá ambiens fényt is és vizsgáljuk meg a kettő együttes hatását!
    • A programhoz vezérlőpanelt is adhatunk, amellyel a fenti paramétereket interaktívan módosíthatjuk.