如何在本地搭建一个three.js的开发环境

1. 安装Node.js和npm

安装 Node 和 npm,并创建一个ThreeJs的项目文件。

2. 初始化项目

在项目文件夹中打开命令行界面,并运行以下命令来初始化项目

// 初始化一个项目
npm init vite@latest

// 安装项目依赖包
npm install

 3. 安装three.js

通过npm安装three.js库

npm install three

4. 启动服务

通过npm run dev启动服务

5. 项目设置

创建src文件夹,并且创建一个main.js文件来编写three.js代码,可以创建场景、相机、渲染器以及添加3D模型和动画等。

// 导入three.js
import * as THREE from 'three';
// 导入用于旋转控制的模块
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';

// 创建场景
let scene = new THREE.Scene();
// 创建相机
let camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 10000);
camera.position.z = 5;
// 设置相机位置
camera.position.set(1, 2, 1);
scene.add(camera);
// 创建几何体
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)
// 初始化渲染器
const renderer = new THREE.WebGLRenderer();
// 设置渲染的尺寸大小
renderer.setSize(window.innerWidth, window.innerHeight);
// console.log(renderer);
// 将webgl渲染的canvas内容添加到body
document.body.appendChild(renderer.domElement);
// 创建轨道控制器
const controls = new OrbitControls(camera, renderer.domElement);
// 添加坐标轴辅助器
const axesHelper = new THREE.AxesHelper(5);
scene.add(axesHelper);
// 渲染循环
function render() {
  renderer.render(scene, camera);
  //   渲染下一帧的时候就会调用render函数
  requestAnimationFrame(render);
}

render();

6. 链接HTML和JS文件

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <link rel="stylesheet" href="./assets/css/style.css" />
  </head>
  <body>
    <script src="./src/main.js" type="module"></script>
  </body>
</html>

7. 运行和测试

通过在浏览器中打开index.html文件,可以看到three.js应用运行的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值