通过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. 项目源码地址:

点击跳转源码

相关推荐
重生之后端学习10 分钟前
02-前端Web开发(JS+Vue+Ajax)
java·开发语言·前端·javascript·vue.js
布鲁斯的快乐小屋13 分钟前
axios的基本使用
javascript·ajax
繁依Fanyi1 小时前
用 CodeBuddy 实现「IdeaSpark 每日灵感卡」:一场 UI 与灵感的极简之旅
开发语言·前端·游戏·ui·编辑器·codebuddy首席试玩官
来自星星的坤3 小时前
【Vue 3 + Vue Router 4】如何正确重置路由实例(resetRouter)——避免“VueRouter is not defined”错误
前端·javascript·vue.js
香蕉可乐荷包蛋7 小时前
浅入ES5、ES6(ES2015)、ES2023(ES14)版本对比,及使用建议---ES6就够用(个人觉得)
前端·javascript·es6
未来之窗软件服务8 小时前
资源管理器必要性———仙盟创梦IDE
前端·javascript·ide·仙盟创梦ide
JAVA坚守者9 小时前
Java 开源报表系统全解析:免费工具、企业案例与集成实践
数据可视化·开源工具·ureport2·java报表·jasperreports·birt·企业级案例
liuyang___9 小时前
第一次经历项目上线
前端·typescript
西哥写代码9 小时前
基于cornerstone3D的dicom影像浏览器 第十八章 自定义序列自动播放条
前端·javascript·vue
清风细雨_林木木9 小时前
Vue 中生成源码映射文件,配置 map
前端·javascript·vue.js