update : add map model + octree algo
This commit is contained in:
@@ -1,19 +1,28 @@
|
||||
import { useEffect } from "react";
|
||||
import { useThree } from "@react-three/fiber";
|
||||
import { PlayerCamera, PLAYER_EYE_HEIGHT } from "@/world/player/PlayerCamera";
|
||||
import type { Octree } from "three/addons/math/Octree.js";
|
||||
import { PlayerCamera } from "@/world/player/PlayerCamera";
|
||||
import { PlayerController } from "@/world/player/PlayerController";
|
||||
|
||||
export function PlayerComponent(): React.JSX.Element {
|
||||
interface PlayerComponentProps {
|
||||
octree?: Octree | null;
|
||||
spawnY?: number;
|
||||
}
|
||||
|
||||
export function PlayerComponent({
|
||||
octree = null,
|
||||
spawnY = 100,
|
||||
}: PlayerComponentProps): React.JSX.Element {
|
||||
const camera = useThree((state) => state.camera);
|
||||
|
||||
useEffect(() => {
|
||||
camera.position.set(0, PLAYER_EYE_HEIGHT, 0);
|
||||
}, [camera]);
|
||||
camera.position.set(0, spawnY, 0);
|
||||
}, [camera, spawnY]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<PlayerCamera />
|
||||
<PlayerController />
|
||||
<PlayerController octree={octree} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user