<Three.js>(第一节)环境搭建

本文介绍如何使用Three.js创建一个基本的3D场景。包括搭建本地服务器、下载Three.js库及项目目录结构设置等内容,并提供了初始化代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Three.js顾名思义3D的js库。是运行在浏览器的基于webgl的3D引擎。该引擎是github上的一个开源项目,下载地址:https://github.com/mrdoob/three.js/

1、搭建一个本地服务器。(本人用的是另外一台mac电脑的自带本地服务器)

2、下载three.js库。https://github.com/mrdoob/three.js/

准备好前面的操作后,接下来是创建一个项目的过程。

第一步:新建一个项目文件夹“Threejs”

第二步:在Threejs文件夹内新建一个html文件(index.html)。该文件是通过浏览器进入游戏的入口。

第三步:在Threejs文件夹内新建一个libs文件夹,用来存放three.js库和需要用到的其他库。

第四步:在Threejs文件夹内新建一个images文件夹,用来存放需要素材。

第五步:在Threejs文件夹内新建一个js文件夹,用来存放我们开发项目写的脚本。

这里写图片描述

html文件:

<!DOCTYPE html>
<html>
<head>
    <title>three.js</title>
    <script src="libs/three.js"></script>
    <script src="js/main.js"></script>
    <style>
        body {
            margin: 0;
            overflow: hidden;
        }
    </style>
</head>
<script>

</script>
<body>
</body>
</html>

下面开始写脚本。在js文件夹内新建一个main.js文件:


var renderer;
var scene;
var camera;
function init() {
    scene = new THREE.Scene();//场景
            camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 1000);//相机
    renderer = new THREE.WebGLRenderer();//渲染
    renderer.setClearColor(0x000000, 1.0);
    renderer.setSize(window.innerWidth, window.innerHeight);

    document.body.appendChild(renderer.domElement);
    render();
}
function render() {
    requestAnimationFrame(render);
    renderer.render(scene, camera);
}
window.onload = init;

代码分析:
init()函数是我们整个项目的入口,类似我们平时编程时的main函数。

上面的脚本中还包含scene; camera; renderer;分别是场景,相机,渲染器。每个项目必须得有这三样才能把显示模型显示在屏幕上。
scene:像电影上的场景,类似容器包含各种我们能看到的精灵、地图等。后面还会讲到灯光等。

camera:通过camera,我们才能看到场景上的画面,类似我们的眼睛,有视角等。

renderer:渲染器,把3D空间上的事物渲染到一个2D的平面。在屏幕上显示场景上的事物。

运行结果:
这里写图片描述

一片黑呜呜的。因为我们还没向场景添加任何东西。

我们可以向场景中添加一些元素。例如添加一个正方体,效果如下:
这里写图片描述
具体实现方法下一节讲。

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
### Three.js 开发环境搭建教程 #### 1. 安装 Node.js 和 npm 为了能够运行 JavaScript 模块化工具和构建工具,需要先安装 Node.js 及其包管理器 npm。可以通过访问官网下载并安装最新版本的 Node.js[^2]。 #### 2. 初始化项目 在一个新的文件夹中打开命令行终端,执行以下命令来初始化一个新的 Node.js 项目: ```bash npm init -y ``` 这会自动生成 `package.json` 文件,默认设置会被写入其中[^3]。 #### 3. 安装 Three.js 库 通过 npm 来安装 Three.js 库作为依赖项: ```bash npm install three --save ``` 此操作会在 `package.json` 的 `dependencies` 字段中记录 Three.js 版本号。 #### 4. 配置开发工具 推荐使用 Visual Studio Code (VSCode) 进行开发,并安装 Live Server 插件以便快速预览 HTML 页面效果[^1]。如果希望进一步优化工作流,还可以考虑使用 Parcel 或 Webpack 等模块打包工具[^3]。 对于 VSCode 用户来说,可以直接利用内置终端完成大部分操作;而对于实时刷新功能,则可通过安装扩展实现自动加载更新后的网页内容显示给开发者查看[^1]。 #### 5. 创建基本目录结构 按照惯例建立合理的文件夹布局有助于保持代码整洁有序。例如,在根目录下新建名为 src 的子文件夹用于存放源码及相关资源文件(如纹理贴图等),再于该子文件夹内部继续细分出其他必要的组件部分[^4]: ``` project-root/ ├── node_modules/ # 自动生成的第三方库存储位置 ├── package-lock.json # 锁定具体版本信息描述文档 ├── package.json # 记录项目元数据与脚本指令集定义的地方 └── src/ # 存放实际编写的应用逻辑代码区域 └── main/ # 主入口点所在路径下的单独空间 └── main.js # 初始渲染场景的核心JavaScript片段 ``` #### 6. 编写简单的测试页面 在项目根目录创建一个 `index.html` 文件,并在其 `<body>` 标签内加入如下代码以验证是否成功引入了 Three.js 并正常运作[^2]: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Three.js Test</title> <!-- 引入three.js --> <script type="module"> import * as THREE from './node_modules/three/build/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); function animate() { requestAnimationFrame(animate); renderer.render(scene, camera); } animate(); </script> </head> <body></body> </html> ``` 以上步骤完成后即可启动 live server 查看初步成果展示情况[^1]^[]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值