Site
- starting pong game 3d
This commit is contained in:
59
site/light.js
Normal file
59
site/light.js
Normal file
@ -0,0 +1,59 @@
|
||||
import * as THREE from 'three';
|
||||
|
||||
// ------------------- Spot Light ------------------- //
|
||||
function createSpotLight(color, target, scene) {
|
||||
let spotLight = new THREE.SpotLight(color);
|
||||
spotLight.position.set(0, 1, 0);
|
||||
spotLight.angle = Math.PI / 4;
|
||||
spotLight.castShadow = true;
|
||||
spotLight.angle = 0.1;
|
||||
spotLight.penumbra = 0.05;
|
||||
spotLight.decay = 2;
|
||||
spotLight.distance = 50;
|
||||
spotLight.intensity = 10;
|
||||
spotLight.target = target;
|
||||
scene.add(spotLight);
|
||||
return spotLight;
|
||||
}
|
||||
|
||||
function refreshSpotLight(scene, spotLight, target) {
|
||||
scene.remove(spotLight);
|
||||
spotLight.dispose();
|
||||
spotLight = createSpotLight(0xffffff, target, scene);
|
||||
scene.add(spotLight);
|
||||
return spotLight;
|
||||
}
|
||||
|
||||
// ------------------- Light Ambient ------------------- //
|
||||
function createLightAmbient(scene) {
|
||||
let lightAmbient = new THREE.AmbientLight(0x404040);
|
||||
lightAmbient.intensity = 5;
|
||||
scene.add(lightAmbient);
|
||||
return lightAmbient;
|
||||
}
|
||||
|
||||
|
||||
// ------------------- Light Point ------------------- //
|
||||
function createLightPoint(scene) {
|
||||
let lightPoint = new THREE.PointLight(0xffffff, 750, 10000);
|
||||
lightPoint.position.set(0, 15, -1);
|
||||
lightPoint.castShadow = true;
|
||||
scene.add(lightPoint);
|
||||
return lightPoint;
|
||||
}
|
||||
|
||||
function refreshLightPoint(scene, lightPoint) {
|
||||
scene.remove(lightPoint);
|
||||
lightPoint.dispose();
|
||||
lightPoint = createLightPoint(scene);
|
||||
scene.add(lightPoint);
|
||||
return lightPoint;
|
||||
}
|
||||
|
||||
|
||||
|
||||
export {
|
||||
createSpotLight, refreshSpotLight,
|
||||
createLightAmbient,
|
||||
createLightPoint, refreshLightPoint
|
||||
};
|
Reference in New Issue
Block a user