教程正片https://www.bilibili.com/video/B ... id_from=333.999.0.0
本期效果
本期新增依赖OrbitControls.js
本期源代码
轨道控制器(OrbitControls)Orbit controls(轨道控制器)可以使得相机围绕目标进行轨道运动。
要使用这一功能,就像在/examples(示例)目录中的所有文件一样, 您必须在HTML中包含这个文件。
控制器部分得核心源码 import { OrbitControls } from './OrbitControls.js';
const controls = new OrbitControls( camera, renderer.domElement );
整体项目得源码:<html lang="en">
<head>
<meta charset="utf-8">
<title>我的第一个three项目</title>
<style>
body {
margin: 0;
}
</style>
</head>
<body>
<script type="module">
import { OrbitControls } from './OrbitControls.js';
import * as THREE from './three.module.js';
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
const controls = new OrbitControls( camera, renderer.domElement );
const geometry = new THREE.BoxGeometry(1, 1, 1);
const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
const cube = new THREE.Mesh(geometry, material);
scene.add(cube);
camera.position.z = 5;
function animate() {
requestAnimationFrame(animate);
controls.update();
cube.rotation.x += 0.01;
cube.rotation.y += 0.01;
renderer.render(scene, camera);
}
animate();
</script>
</body>
</html>
|