diff --git a/src/App.tsx b/src/App.tsx index 9a44633..70e5cab 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -3,7 +3,7 @@ import "./App.css"; import { Canvas } from "@react-three/fiber"; import { KeyboardControls } from "@react-three/drei"; import { useEffect, useRef, useState } from "react"; -import { Vector3 } from "three"; +import { PCFSoftShadowMap, Vector3 } from "three"; import { Player } from "./components/Player"; import { Bloom, EffectComposer, Vignette } from "@react-three/postprocessing"; import { Cubes } from "./components/Cubes"; @@ -34,8 +34,8 @@ function App() { @@ -45,7 +45,10 @@ function App() { receiveShadow castShadow > - + (null); const camera = useThree((state) => state.camera); + const dirLightRef: MutableRefObject = useRef(null); const pivot = new Vector2(); const moveVector = new Vector3(); @@ -174,6 +174,14 @@ export function Player(): JSX.Element { }); } + function setDirLightPosition(): void { + dirLightRef.current?.position.set( + model.scene.position.x + 100, + 100, + model.scene.position.z + 100 + ); + } + useFrame((_, delta) => { setMoveVector(delta); setAnimationsState(); @@ -181,6 +189,7 @@ export function Player(): JSX.Element { if (someKeyPressed()) setPlayerPosition(); setCameraPosition(); setPlayerAnimations(); + setDirLightPosition(); }); useEffect(() => { @@ -201,14 +210,9 @@ export function Player(): JSX.Element { position={model.scene.position} >