描述:在blender中合并的模型导出为glb,在threejs中导入仍显示多个mesh,并不是统一的整体,导致需要整体高亮或者使用DragControls等不能统一控制。
原因:模型有多个材质,在blender中合并的时候,虽然合并成一个mesh,但导入threejs时,仍会处理成多个mesh
解决方案:在blender中将模型的多个材质烘培到一个材质上。
步骤:
1、合并模型,此时一个mesh有多个材质
2、处理uv,在侧边栏选择数据-uv贴图,选中使用的uv,进入编辑模式,全选,键盘u,选择智能uv投射
3、处理材质,在侧边栏选择材质,进入着色,在着色器编辑器新建一个图像纹理,新建图像
4、选中这个材质,此时节点有个白色边框即为选中。将这个材质复制到其他所有需要合并的材质中
5、优化项(省略此步骤,直接进行步骤6),进入到视图着色方式(此时没有灯光,整体偏暗,如果不调整灯光,烘培出来的材质也偏暗,因此此步骤为优化项,通畅建议调整)。在右边栏进入世界环境,调整颜色。若想效果更好,可添加光源等。
6、保持uv选中、物体选中、材质节点选中,右边栏选择渲染,渲染引擎改为cycles,调整参数,点击烘焙
7、烘焙成功之后,新建一个材质,将第三步创建的纹理图像作为材质的纹理,连接到基础色,并把模型的材质改为此材质,其他的材质全部删除
至此,再导入到threejs,就是一个mesh,可整体控制。
8、建议,进入uv编辑,点击图像,把烘培成功的图片保存到本地。