플레이어를 지속적으로 추적하는 오브젝트 만들기
다음과 같이 코드를 작성하여 해당 기능을 구현할 수 있습니다.
const vehicle = WORLD.getObject("vehicle"); //플레이어를 추적할 오브젝트를 가져옵니다.
function Update(dt) {
// 플레이어와 오브젝트의 현재 위치를 가져옵니다.
const playerPosition = PLAYER.position;
const objPosition = vehicle.position;
// 오브젝트가 플레이어를 향해 이동할 방향을 계산합니다.
const direction = new THREE.Vector3(
playerPosition.x - objPosition.x,
playerPosition.y - objPosition.y,
playerPosition.z - objPosition.z
).normalize();
// 오브젝트의 속도를 설정합니다.
const speed = 8; // 원하는 속도로 설정하세요.
// 오브젝트의 위치를 업데이트합니다.
vehicle.position.set(
objPosition.x + direction.x * speed * dt,
objPosition.y + direction.y * speed * dt,
objPosition.z + direction.z * speed * dt
);
//오브젝트의 Physics Body 속성이 활성화 되어있다면, 아래 코드를 실행해야합니다.
// obj.body.needUpdate = true;
//오브젝트가 플레이어를 바라보게 합니다
vehicle.lookAt(PLAYER.position)
}