4. threejs相机权限解锁OrbitControls轨道控制器讲解 threejs零基...

[复制链接]
查看: 899   回复: 0     threejs基础教程

307

主题

307

帖子

1714

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1714
2024-6-20 14:02:18   显示全部楼层   阅读模式  
封面 2_02528.jpg

教程正片https://www.bilibili.com/video/B ... id_from=333.999.0.0

本期效果




本期新增依赖OrbitControls.js




OrbitControls.zip免费

2024-6-20 13:59上传, 6.79 KB, 下载次数: 47

下载





本期源代码

4. 源码threejs相机权限解锁 threejs零基础教程.zip免费

2024-6-20 14:00上传, 250.92 KB, 下载次数: 79

下载





轨道控制器(OrbitControls)
Orbit controls(轨道控制器)可以使得相机围绕目标进行轨道运动。
要使用这一功能,就像在/examples(示例)目录中的所有文件一样, 您必须在HTML中包含这个文件。

控制器部分得核心源码
import { OrbitControls } from './OrbitControls.js';
 const controls = new OrbitControls( camera, renderer.domElement );
controls.update();
整体项目得源码:
<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>



threejs美术大师课程
回复

使用道具 举报

您需要登录后才可以回帖   登录 立即注册

高级模式

南通谢凡软件科技有限公司