first person controls
This commit is contained in:
20
app.js
20
app.js
@@ -1,4 +1,5 @@
|
||||
import * as THREE from 'three';
|
||||
import { FirstPersonControls } from 'three/examples/jsm/Addons.js';
|
||||
|
||||
const scene = new THREE.Scene();
|
||||
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
|
||||
@@ -13,7 +14,26 @@ scene.add(cube);
|
||||
|
||||
camera.position.z = 5;
|
||||
|
||||
// Initialize first person controls
|
||||
const controls = new FirstPersonControls(camera, renderer.domElement);
|
||||
controls.lookSpeed = 0.1;
|
||||
controls.movementSpeed = 5;
|
||||
controls.lookVertical = true;
|
||||
controls.constrainVertical = true;
|
||||
controls.verticalMin = 1.0;
|
||||
controls.verticalMax = 2.0;
|
||||
controls.lon = -150;
|
||||
controls.lat = 120;
|
||||
|
||||
// Clock for controls timing
|
||||
const clock = new THREE.Clock();
|
||||
|
||||
function animate() {
|
||||
const delta = clock.getDelta();
|
||||
|
||||
// Update controls
|
||||
controls.update(delta);
|
||||
|
||||
cube.rotation.x += 0.01;
|
||||
cube.rotation.y += 0.01;
|
||||
renderer.render(scene, camera);
|
||||
|
||||
Reference in New Issue
Block a user