通过three.js玩转车展项目

1.项目搭建

1.1 创建文件夹

javascript 复制代码
mkdir 文件名

1.2 初始化package.json

javascript 复制代码
npm init -y

1.3 安装打包工具并配置相关依赖

javascript 复制代码
npm i parcel -d

在package.json中打包路径和指令

1.4 安装three.js

复制代码
npm i three -d

2.项目搭建

2.1 新建index.html,并再index.html引入car.js,在car.js开始初始化

2.2 在car.js中初始化场景、相机、渲染器器、以及轨道控制器,此时在运行效果如下:

具体实现:

2.3 初始化载入汽车模型和初始化灯光,在init里面调用即可

运行效果如下:

2.4 建立多个光带来回移动,并照亮汽车

运行效果如下:

2.5 监听视口变化,视口变化时,及时更新相机的宽高比和渲染器的尺寸

2.6 初始化地板

运行效果如下:

2.7 初始化四周墙壁,来使得场景更加真实

运行效果如下:

2.9 初始化车身、玻璃的基础材质,通过遍历车的模型节点,区分出什么是车身、玻璃和车门,通过GUI图形用户界面可分别实现车身颜色、玻璃颜色的替换、以及车门开关和车内外视角的转变。



运行效果如下:

2.10 聚光灯初始化,使场景更加真实

运行效果如下:

2.11 监听点击事件,判断光线穿过了什么物体,从而实现开关车门的交互

运行效果如下:

3. 项目源码地址:

点击跳转源码

相关推荐
郭老二2 小时前
【前端】vue3:编译步骤
前端
不在逃避q3 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm
夏殇之殁3 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
The Chosen One9853 小时前
高进度算法模板速记(待完善)
java·前端·算法
陈随易3 小时前
MoonBit抓包模块pcap,查看电脑的每一次联网通信
前端·后端·程序员
新中地GIS开发老师4 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
用户059540174465 小时前
大模型对话记忆持久化踩坑实录:用 Playwright 自动化测了 300 次,终于揪出会话丢失的真凶
前端·css
丙氨酸長鏈5 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
kyriewen6 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
IT_陈寒6 小时前
Vite热更新失效?你可能漏了这个配置
前端·人工智能·后端