Skip navigation

Segéd geometriák fényekhez

Dokumentáció

A beépített geometriák ismertetésekor láttunk néhány olyan objektumot, amely segíti a fejlesztői munkát. A fényekhez kapcsolódóan is van pár segéd objektum, amely a fényforrás paramétereit szemlélteti a színtérben. Ezek az alábbiak (a hivatalos dokumentáció a nevükre kattintva érhető el):

PointLightHelper

A pontfény helyét egy általunk megadott sugarú gömb jelképezi.

let pLight = new THREE.PointLight( 0xffffff, 1 );
pLight.position.set( 6, 6, 5 );
scene.add( pLight );

let sphereSize = 0.2;
let pointLightHelper = new THREE.PointLightHelper( pLight, sphereSize );
scene.add( pointLightHelper );

SpotLightHelper

A megvilágítási kúpot fogja modellezni. Csak a fény objektumot várja paraméterként. A reflektor a cubeMesh objektumra fog irányulni.

geometry = new THREE.BoxGeometry( 4, 4, 4 );
material = new THREE.MeshPhongMaterial( { color: 0xffffff, wireframe: false } );
cubeMesh = new THREE.Mesh( geometry, material );
scene.add( cubeMesh );
let sLight = new THREE.SpotLight( 0xffffff, 1 );
sLight.position.set( 6, 6, 5 );
sLight.angle = Math.PI / 3;
sLight.target = cubeMesh;
sLight.penumbra = 0.8;
sLight.distance = 50.0;

scene.add( sLight );

let spotLightHelper = new THREE.SpotLightHelper( sLight );
scene.add( spotLightHelper );

DirectionLightHelper

A pozíció és a célpont között egyenest rajzol. Egy négyzettel reprezentálja azt a síkot, amelyről a párhuzamos fénysugarak indulnak. Ennek a méretét adhatjuk meg második paraméterként. A célpont itt is az előző példában szereplő cubeMesh.

let dLight = new THREE.DirectionalLight( 0xffffff, 1 );
dLight.position.set( 6, 6, 5 );
dLight.target = cubeMesh;
scene.add( dLight );

let planeSize = 1.0;
var directionLightHelper = new THREE.DirectionalLightHelper( dLight, planeSize );
scene.add( directionLightHelper );

HemisphereLightHelper

A fényforrás helyét egy gömb reprezentálja, ugyanúgy, mint a PointLightHelper-nél.

let hLight = new THREE.HemisphereLight( 0x00ffff, 0x00ff00, 0.8 );
hLight.position.set( 0, 6, 0 );
hLight.target = cubeMesh;
scene.add( hLight );

let sphereSize = 1.0;
let hemisphereLightHelper = new THREE.HemisphereLightHelper( hLight, sphereSize );
scene.add( hemisphereLightHelper );

Feladat

A fényforrásos példáinkat egészítsük ki a segéd objektumokkal!