개발 · 컴퓨터공학 / / 2022. 9. 10. 16:49

three.js CametaControl - FirstPersonControls

728x90
반응형
import { FirstPersonControls } from 'three/examples/jsm/controls/FirstPersonControls'

...

// Controls
const controls = new FirstPersonControls(camera, renderer.domElement);
controls.movementSpeed = 3;
controls.activeLook = false;
controls.lookSpeed = 1.1;

...

function draw() {
    const delta = clock.getDelta();

    controls.update(delta); 

    renderer.render(scene, camera);
    renderer.setAnimationLoop(draw);
}

FirstPersonControls는 FlyControls를 변형하여 제작한 것이다. 기본적인 조작은 유사하며,

움직이는 속도, 카메라 시점이동 유무, 시점이동 속도 등을 설정할 수 있다.

FlyControls와 유사하게 renderer 애니메이션에서 controls 객체의 update 매개변수로 delta를 넣어주어야한다.

728x90
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유