专栏名称: 猿大侠
猿大侠,既然选择了,就一定成为大侠! 小程序、小游戏、Google、苹果、职场、前沿技术分享,一起成长。
目录
相关文章推荐
人民网舆情数据中心  ·  从农村聚餐不得使用四季豆事件分析基层移风易俗 ... ·  昨天  
KnowYourself  ·  48岁怀二胎,她撕碎所有「好妈妈」剧本 ·  3 天前  
51好读  ›  专栏  ›  猿大侠

特效炸裂:小米 SU7 在线特效网站技术不完全揭秘!!!

猿大侠  · 公众号  ·  · 2024-04-03 12:08

正文

转自:前端开发爱好者

哈喽,大家好 我是 xy 👨🏻‍💻。用 Three.js 实现 小米 SU7 在线体验,特效相当炸裂!!!

前言

最近一位叫 @GameMCU 的大佬用 Webgl Three.js 等技术实现了一个 小米 SU7 在线体验网站: https://gamemcu.com/su7/ 被广大网友疯传,效果相当炸裂!

网站首发当天由于访问量过大导致奔溃, 后来可能获得了某里云官方支持!!! 这一波真的要给某里云点赞!

更有网友评论: 这效果和交互完全可以吊打官方和各种卖车的网站了啊

并且 @小米汽车官方: 求求了,收编了吧,这能极大提升小米su7的逼格,再用到公司其他产品,能提升整体公司的逼格

废话不多说,直接上效果!!!

效果展示

  • 模拟在汽车在道路行驶特效,宛如身临其境
  • 流线型车身设计,彰显速度与激情的完美融合。每一处细节都经过精心打磨,只为给你带来最纯粹的驾驶体验。
  • 在高速行驶的过程中,风阻是影响车速的重要因素。我们的特效模拟器通过先进的算法,真实还原了风阻对车辆的影响。当你长按鼠标,感受那股扑面而来的气流,仿佛置身于真实的驾驶环境中。
  • 雷达实时探测功能可以帮你轻松掌握周围车辆的情况,让你在驾驶过程中更加安心
  • Threejs 实现的换肤特效,模拟多种造型车身展示

是怎么实现的

在线体验完 @GameMCU 大佬的网站之后, 我很好奇大佬是使用什么技术去实现的, 身为前端开发的我, 第一步当然是 F12 打开控制台查看

发现使用的是 Three.js r150 版本开发, 并且还用了一个叫 xviewer.js 的插件,

于是乎我找到了 @GameMCU 大佬的 github 主页, 在主页中介绍了 xviewer.js :

xviewer.js 是一个基于 three.js 的插件式渲染框架,它对 three.js 做了一层简洁优雅的封装,包含了大量实用的组件和插件,目标是让前端开发者能更简单地应用 webgl 技术。

比较遗憾的是 xviewer.js 目前还没有开源, 不过按照作者的意思是可能会在近期开源。

虽然目前 小米 SU7 在线体验网站没有开源, 但是作者主页开源了另外一个项目: three.js复刻原神启动 , 也是一个基于 xviewer.js 开发的在线网站。

通过源码发现作者在项目中写了大量的 Shader , Shader 对于实现复杂的视觉效果和图形渲染技术至关重要,它们使得开发者能够创建出令人印象深刻的 3D场景 动画

Shader 是一种在计算机图形学中使用的程序,它运行在图形处理单元(GPU)上,用于处理渲染过程中的光照、颜色、纹理等视觉效果。

Shader 通常被用于 3D 图形渲染中,以增强视觉效果,使得图像更加逼真和吸引人。

在 Three.js 中, Shader 通常分为两类: 顶点着色器 (Vertex Shader)和 片元着色器 (Fragment Shader)。

顶点着色器负责处理顶点数据,如 位置 颜色 纹理坐标 等,而片元着色器则负责处理像素 颜色 ,包括 光照 材质属性

总之,Shader 在 Three.js 中扮演着至关重要的角色,它们为开发者提供了强大的工具来创建丰富、动态和引人入胜的 3D 图形内容。通过学习和掌握 Shader 编程,开发者可以极大地扩展 Three.js 的应用范围和创作能力。

那么作为一名前端开发人员, 应该怎么快速入门 Shader, 并且用 Shader 创造令人惊叹的交互体验呢???

三个学习 Shader 网站推荐







请到「今天看啥」查看全文