这是根据亚马逊的商品KA-BAR-1213照片制作的匕首模型。 这个场景涉及的技术:
- 硬表面物体建模
- 纹理绘制
- 使用镂版(Stencil)将商品图片上的纹理拓印到材质图片上
- 布料建模
- 使用Blender的布料系统进行桌布的建模
- 重拓扑
- 将模型的面数降低以便导出后在Web页面上渲染
- 纹理烘培
- 将颜色、金属度、粗糙度、法向量烘培为图片纹理以便导出
- 模型导出
- 使用Blender的GLTF2导入导出插件导出为GLTF格式
- 在网页中显示导出的3D模型
- 借助three.js进行模型加载和渲染
KA-BAR-1213商品原图
渲染图片:桌面上的匕首
导出的GLTF模型
为了可以在Web页面上渲染模型,需要降低模型的大小并将Blender中的材质全部烘培为图片纹理。
- 重拓扑:将匕首的面数从原有的30731降低为低模的2363
- 烘培:将纹理从原来的高模烘培到准备导出的低模上,包括颜色、金属度、粗糙度、法向量
经过上述处理之后,导出为GLTF模型,然后借助three.js渲染。桌布面数较多,导出后模型文件比较大(对桌布降低多边形数量并使用1K材质后模型大小也超过了5MB),这里只导出了匕首模型(650KB,使用webp图片格式)。
如下图,可以用鼠标左键或者单指拖动调整观察角度,鼠标滚轮上下滚动或者双指捏合来进行缩放。(场景中为了照亮匕首的背面细节,增加了一个面光源,缩小后可以看到)
Blender项目截图: