Tweak: mood of lighting and gentler lightshafts
This commit is contained in:
parent
c612b38574
commit
37f0d30fee
@ -39,11 +39,11 @@ export function createSceneObjects() {
|
||||
state.scene.add(floor);
|
||||
|
||||
// 3. Lighting (Minimal and focused)
|
||||
const ambientLight = new THREE.AmbientLight(0x606060, 0.1); // Increased ambient light for a larger space
|
||||
const ambientLight = new THREE.AmbientLight(0x606060, 0.2); // Increased ambient light for a larger space
|
||||
state.scene.add(ambientLight);
|
||||
|
||||
// Add a HemisphereLight for more natural, general illumination in a large space.
|
||||
const hemisphereLight = new THREE.HemisphereLight(0xffffff, 0x444444, 0.2);
|
||||
const hemisphereLight = new THREE.HemisphereLight(0xffddcc, 0x444455, 0.5);
|
||||
|
||||
// Visual aids for the light source positions
|
||||
if (state.debugLight && THREE.HemisphereLightHelper) {
|
||||
|
||||
@ -22,7 +22,7 @@ export class RoseWindowLight extends SceneFeature {
|
||||
this.spotlight.position.set(0, naveHeight, -length / 2 + 10); // Position it at the rose window
|
||||
this.spotlight.angle = Math.PI / 9; // A reasonably focused beam
|
||||
this.spotlight.penumbra = 0.3; // Soft edges
|
||||
this.spotlight.decay = 0.9;
|
||||
this.spotlight.decay = 0.7;
|
||||
this.spotlight.distance = 30;
|
||||
|
||||
this.spotlight.castShadow = false;
|
||||
|
||||
@ -59,7 +59,7 @@ export class RoseWindowLightshafts extends SceneFeature {
|
||||
});
|
||||
|
||||
// --- Create multiple thin light shafts ---
|
||||
const numShafts = 7;
|
||||
const numShafts = 12;
|
||||
for (let i = 0; i < numShafts; i++) {
|
||||
const material = baseMaterial.clone(); // Each shaft needs its own material for individual opacity
|
||||
|
||||
@ -107,7 +107,7 @@ export class RoseWindowLightshafts extends SceneFeature {
|
||||
const { mesh, startPoint, endPoint, floorStartPoint, floorEndPoint, moveSpeed } = shaft;
|
||||
|
||||
// Animate texture for dust motes
|
||||
mesh.material.map.offset.y -= deltaTime * 0.1;
|
||||
mesh.material.map.offset.y -= deltaTime * 0.001;
|
||||
|
||||
// --- Movement Logic ---
|
||||
const pathDirection = floorEndPoint.clone().sub(floorStartPoint).normalize();
|
||||
@ -140,7 +140,7 @@ export class RoseWindowLightshafts extends SceneFeature {
|
||||
mesh.quaternion.copy(quaternion);
|
||||
|
||||
// --- Music Visualization ---
|
||||
const beatPulse = state.music ? state.music.beatIntensity * 0.25 : 0;
|
||||
const beatPulse = state.music ? state.music.beatIntensity * 0.05 : 0;
|
||||
mesh.material.opacity = fadeOpacity + beatPulse;
|
||||
});
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user