refactor: prepare main feature gameplay object and use GLB sky model

This commit is contained in:
Tom Boullay
2026-04-30 10:02:00 +02:00
parent f66609178b
commit 01c583ba96
26 changed files with 152 additions and 53 deletions
+3 -3
View File
@@ -1,9 +1,9 @@
import { Environment as DreiEnvironment } from "@react-three/drei";
import {
GAME_SCENE_SKYBOX_PATH,
GAME_SCENE_SKY_MODEL_PATH,
PHYSICS_SCENE_BACKGROUND_COLOR,
} from "@/data/world/environmentConfig";
import { useSceneMode } from "@/hooks/debug/useSceneMode";
import { SkyModel } from "@/components/three/SkyModel";
export function Environment(): React.JSX.Element {
const sceneMode = useSceneMode();
@@ -14,5 +14,5 @@ export function Environment(): React.JSX.Element {
);
}
return <DreiEnvironment background files={GAME_SCENE_SKYBOX_PATH} />;
return <SkyModel modelPath={GAME_SCENE_SKY_MODEL_PATH} />;
}
+2 -2
View File
@@ -12,7 +12,7 @@ import { Environment } from "@/world/Environment";
import { Lighting } from "@/world/Lighting";
import { GameMap } from "@/world/GameMap";
import { Player } from "@/world/player/Player";
import { TestScene } from "@/world/debug/TestScene";
import { TestMap } from "@/world/debug/TestMap";
export function World(): React.JSX.Element {
const cameraMode = useCameraMode();
@@ -33,7 +33,7 @@ export function World(): React.JSX.Element {
{sceneMode === "game" ? (
<GameMap onOctreeReady={setOctree} />
) : (
<TestScene onOctreeReady={setOctree} />
<TestMap onOctreeReady={setOctree} />
)}
{cameraMode !== "debug" ? (
@@ -24,13 +24,11 @@ import {
import { useOctreeGraphNode } from "@/hooks/useOctreeGraphNode";
import type { OctreeReadyHandler } from "@/types/three";
interface TestSceneProps {
interface TestMapProps {
onOctreeReady: OctreeReadyHandler;
}
export function TestScene({
onOctreeReady,
}: TestSceneProps): React.JSX.Element {
export function TestMap({ onOctreeReady }: TestMapProps): React.JSX.Element {
const floorRef = useRef<THREE.Group>(null);
useOctreeGraphNode(floorRef, onOctreeReady);