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
반응형
'개발 · 컴퓨터공학' 카테고리의 다른 글
three.js CameraControl - DragControls (0) | 2022.09.13 |
---|---|
three.js CameraControl - PointerLockControls (0) | 2022.09.12 |
three.js CameraControl - FlyControls (0) | 2022.09.09 |
three.js CameraControl - TrackballControls (0) | 2022.09.08 |
three.js Camera Control - OrbitControls (0) | 2022.09.07 |