diff --git a/src/data/world/lightingConfig.ts b/src/data/world/lightingConfig.ts index 2b67660..ab7ff4f 100644 --- a/src/data/world/lightingConfig.ts +++ b/src/data/world/lightingConfig.ts @@ -2,7 +2,9 @@ export const AMBIENT_LIGHT_COLOR = "#dbeafe"; export const SUN_LIGHT_COLOR = "#fff7ed"; export const LIGHTING_DEFAULTS = { + ambientColor: AMBIENT_LIGHT_COLOR, ambientIntensity: 1.8, + sunColor: SUN_LIGHT_COLOR, sunIntensity: 2.8, sunX: 60, sunY: 80, diff --git a/src/world/Lighting.tsx b/src/world/Lighting.tsx index 1e066c6..0f0b6c0 100644 --- a/src/world/Lighting.tsx +++ b/src/world/Lighting.tsx @@ -5,12 +5,10 @@ import { AMBIENT_INTENSITY_MAX, AMBIENT_INTENSITY_MIN, AMBIENT_INTENSITY_STEP, - AMBIENT_LIGHT_COLOR, LIGHTING_DEFAULTS, SUN_INTENSITY_MAX, SUN_INTENSITY_MIN, SUN_INTENSITY_STEP, - SUN_LIGHT_COLOR, SUN_X_MAX, SUN_X_MIN, SUN_X_STEP, @@ -29,7 +27,9 @@ const SHADOW_CAMERA_NEAR = 0.5; const SHADOW_CAMERA_FAR = 200; type LightingState = { + ambientColor: string; ambientIntensity: number; + sunColor: string; sunIntensity: number; sunX: number; sunY: number; @@ -57,6 +57,7 @@ export function Lighting(): React.JSX.Element { }, []); useDebugFolder("Lighting", (folder) => { + folder.addColor(LIGHTING_STATE, "ambientColor").name("Ambient Color"); folder .add( LIGHTING_STATE, @@ -75,6 +76,7 @@ export function Lighting(): React.JSX.Element { SUN_INTENSITY_STEP, ) .name("Sun Intensity"); + folder.addColor(LIGHTING_STATE, "sunColor").name("Sun Color"); folder .add(LIGHTING_STATE, "sunX", SUN_X_MIN, SUN_X_MAX, SUN_X_STEP) .name("Sun X"); @@ -88,6 +90,7 @@ export function Lighting(): React.JSX.Element { useFrame(() => { if (ambient.current) { + ambient.current.color.set(LIGHTING_STATE.ambientColor); ambient.current.intensity = LIGHTING_STATE.ambientIntensity; } @@ -97,6 +100,7 @@ export function Lighting(): React.JSX.Element { LIGHTING_STATE.sunY, LIGHTING_STATE.sunZ, ); + sun.current.color.set(LIGHTING_STATE.sunColor); sun.current.intensity = LIGHTING_STATE.sunIntensity; } }); @@ -106,7 +110,7 @@ export function Lighting(): React.JSX.Element {