前端可视化提效法宝-全链路360度展示平台
如果无法正常显示,请先停止浏览器的去广告插件。
1. 2021 vivo开发者大会
互联网技术专场
vivo用户运营前端专家
2. 2021.12.16 vivo开发者大会-互联网技术专场
3. 项目特点
效果直观
360度产品展示
互动性强
说明清晰
2021.12.16 vivo开发者大会-互联网技术专场
4. 项目特点
效果直观
360度产品展示
互动性强
说明清晰
2021.12.16 vivo开发者大会-互联网技术专场
5. 基于threejs的360度产品展示平台
工业设计模型
现有方案
设计师处理
3D展示模型
与场景
不通过
前端处理
3D展示页面
验收
效果
通过
打包上线
2021.12.16 vivo开发者大会-互联网技术专场
6. 基于threejs的360度产品展示平台
工业设计模型
现有方案
设计师处理
3D展示模型
与场景
不通过
前端处理
3D展示页面
验收
效果
通过
打包上线
2021.12.16 vivo开发者大会-互联网技术专场
7. 问题&难点
存在问题 改进难点 联调太繁琐 使用unity 打包体积太大,不适合展示类应用
重复工作多 使用laya 强调多实体的性能,单个实体的细节表现不尽如人意
材质不达标
性能拖后腿
2021.12.16 vivo开发者大会-互联网技术专场
8. 问题&难点
存在问题 改进难点 联调太繁琐 使用unity 打包体积太大,不适合展示类应用
重复工作多 使用laya 强调多实体的性能,单个实体的细节表现不尽如人意
材质不达标
性能拖后腿
2021.12.16 vivo开发者大会-互联网技术专场
9. 问题&难点
存在问题 改进难点 联调太繁琐 使用unity 打包体积太大,不适合展示类应用
重复工作多 使用laya 强调多实体的性能,单个实体的细节表现不尽如人意
材质不达标
性能拖后腿
2021.12.16 vivo开发者大会-互联网技术专场
10. 问题&难点
存在问题 改进难点 联调太繁琐 使用unity 打包体积太大,不适合展示类应用
重复工作多 使用laya 强调多实体的性能,单个实体的细节表现不尽如人意
材质不达标
性能拖后腿
2021.12.16 vivo开发者大会-互联网技术专场
11. 优化方向
减少联调成本 设计师编辑材质所见即所得
优化页面性能 更少的内存占用,更快的加载速度
增强材质表现 更丰富的材质/光影表现
简化发布流程 一键打包上线,无需前端介入
2021.12.16 vivo开发者大会-互联网技术专场
12. 优化方向
减少联调成本 设计师编辑材质所见即所得
优化页面性能 更少的内存占用,更快的加载速度
增强材质表现 更丰富的材质/光影表现
简化发布流程 一键打包上线,无需前端介入
2021.12.16 vivo开发者大会-互联网技术专场
13. 360度展示平台
提供360度商品展示页全链路解决方案
工业设计模型
设计师处理
导入3D编辑器
调整展示效果
打包上线
2021.12.16 vivo开发者大会-互联网技术专场
14. 优势
解放前端 简化流程 表现丰富 性能给力
全程无需开发参与 在线编辑模型 特定材质定制shader 相较于threejs方案内存占用
一键发布 光影表现更加自然生动 节省50%
简化联调和沟通的流程
2021.12.16 vivo开发者大会-互联网技术专场
15. 架构
模型管理 材质管理 格式转换
场景管理 权限管理 上线管理
模型编辑 场景编辑 材质库
环境编辑 用户管理 上线管理
手势库 标签展示 动画展示
模型展示 材质解析 AR
2021.12.16 vivo开发者大会-互联网技术专场
16. 架构
模型管理 材质管理 格式转换
场景管理 权限管理 上线管理
模型编辑 场景编辑 材质库
环境编辑 用户管理 上线管理
手势库 标签展示 动画展示
模型展示 材质解析 AR
2021.12.16 vivo开发者大会-互联网技术专场
17. 架构
模型管理 材质管理 格式转换
场景管理 权限管理 上线管理
模型编辑 场景编辑 材质库
环境编辑 用户管理 上线管理
手势库 标签展示 动画展示
模型展示 材质解析 AR
2021.12.16 vivo开发者大会-互联网技术专场
18. FBX转glTF 模型修改配置,
专题数据
格式转换 数据存储
资源存储 权限管理
服务侧
模型,环境贴图,
打包页面等静态资源
编辑/查看权限,
上线权限管理
2021.12.16 vivo开发者大会-互联网技术专场
19. 服务侧–格式转换
blender c4d
支持原生导出glTF 需要使用第三方插件
2021.12.16 vivo开发者大会-互联网技术专场
20. 序列化FBX
转换JSON
打包glTF或自定义格式
Node
服务侧—格式转换
Geometry
Material
Mesh
Texture
Skin
Animation
2021.12.16 vivo开发者大会-互联网技术专场
21. WebGLRenderer
Scene
展示侧—选型—three.js
Light
SpotLight
PerspectiveCamera
Mesh
MeshPhongMaterial
Geometry
+Vertices[]
+colors[]
+faces[]
+faceVereexUvs[]
Camera
BoxBufferGeometry
+map
Material
Texture
+image
2021.12.16 vivo开发者大会-互联网技术专场
22. WebGLRenderer
Scene
展示侧—选型—three.js
Light
SpotLight
PerspectiveCamera
Mesh
MeshPhongMaterial
Geometry
+Vertices[]
+colors[]
+faces[]
+faceVereexUvs[]
Camera
BoxBufferGeometry
+map
Material
Texture
+image
2021.12.16 vivo开发者大会-互联网技术专场
23. SystemA
System
SystemB
1:n
展示侧—选型—playcanvas
SystemC
World
ComponetA
1:n
Entity
Componet
1:n
ComponetB
ComponetC
2021.12.16 vivo开发者大会-互联网技术专场
24. 展示侧—选型—基础对比
three.js playcanvas
生态相对丰富 相关参考文档内容较少
高解析力材质下的内存占用高 内存占用低
支持自定义shader 支持自定义shader
偏真实生硬 明亮表现力强
2021.12.16 vivo开发者大会-互联网技术专场
25. 加载速度
模型体积
展示侧—优化
环境贴图体积
darco压缩
HDR解析dds+png
2021.12.16 vivo开发者大会-互联网技术专场
26. 加载速度
模型体积
展示侧—优化
环境贴图体积
darco压缩
HDR解析dds+png
2021.12.16 vivo开发者大会-互联网技术专场
27. 可编程管线
展示侧—自定义shader
可编程管线
提供数据 顶点着色器 图元装配 光栅化 片元着色器
顶点数据 绘制顶点位置 将顶点装配成
三角形 用像素填充
图元 用颜色填充
像素
2021.12.16 vivo开发者大会-互联网技术专场
28. 展示侧—自定义shader
优化前
优化后
2021.12.16 vivo开发者大会-互联网技术专场
29. 模型操作
创建/编辑页面
编辑侧
参数设置
材质管理
页面管理
公共素材管理
环境管理
贴图管理
用户角色
用户管理
角色权限
2021.12.16 vivo开发者大会-互联网技术专场
30. 拖拽查看
查看
编辑侧—编辑页
模型操作
缩放查看
选中实体 raycast命中第一个实体
移动/缩放 按下空格
2021.12.16 vivo开发者大会-互联网技术专场
31. 参数设置
天空盒
编辑侧—编辑页
贴图
高光
漫反射
自发光
shader
2021.12.16 vivo开发者大会-互联网技术专场
32. 展示端
屏幕内容可交互
AR
能力支持
更丰富
的界面控件
2021.12.16 vivo开发者大会-互联网技术专场
33. 总结
3D技术承载着让用户足不出户就可以直观的感受到产品的能力,随着虚拟
现实技术的不断成熟,这一优势无疑会进一步放大。
想要呈现更好的展示效果,不仅需要设计师持续的创意输出,平台也需要不
断丰富自身的能力,助力功能落地。
2021.12.16 vivo开发者大会-互联网技术专场
34. 2021 vivo开发者大会
互联网技术专场
苏宁 | vivo 用户运营前端专家
相关技术文章后续
将在公众号发布
敬请关注