之前的一家公司接了个某国企做设备动画,导出glb格式文件并导入cesium控制设备开机的项目,配合国企开发人所遇到的问题和解决方式(个人水平有限,仅仅是抛砖引玉,还希望大佬能分享一些这类的,突然碰到问题还是很头疼的)。
因为动画是临时学习的,导致好多问题可能很简单,但是我也是处理的很费劲(个人能力和远程交接)。
使用工具:
3dsmax2016+babylon插件。导出设置为
其中如果多个设备在一个场景中需要单个和开发交接可以勾选Export only selected(仅导出选择的),设置按需选gltf或glb,设置一下路径model path,路径文件夹位置变了/移动到别的文件夹或者盘里了,导出时要重新设置一下,不然会出错。
可以在导出时点击export&run导出的同时会在默认浏览器打开,查看导出动画文件中模型的状态:动画播放是否正常、材质是否正常;也可以在gltf viewer网站上观看glb动画效果,将glb模型拖进去就行;
问题及处理:
1.坐标问题,最好是用甲方的模型,选中要单独交付的设备模型,使用另存为-保存选定对象或者导出-导出选定对象,防止坐标发生移动。
1.2.单位,如果导出动画开发那边显示导进去设备却不显示,不是坐标挪了,就是单位不对。检查单位是否一致,包括系统单位;
2.注意模型法线方向,单面的可以加个壳修改器,防止在cesium中出现面消失,透过去。
3.材质,导出glb或者gltf一定要使用扫描线渲染器的默认材质,可以在导入模型前在渲染设置中修改成默认的【这里针对高版本如20版内置了arnold渲染器,默认材质是物理材质】,当然用其他渲染器的材质也不是不行,我这边出过问题,默认材质好点。
3.1使用半透明材质,将材质的不透明度降低的同时要将Babylon Attributes的Transparency Mode改为Blend(混合);
3.2因max文件贴图丢失导致的报错;
当对场景进行导入后,先Shift+T查看一下场景贴图是否有丢失,不然导出的gltf是携带系统搜索不到的贴图,就会报错。【提一嘴,相互传播文件最好使用fbx格式】
4.动画,导出修改器构建的动画,问了一个人说是要烘焙动画帧才行,但是我没有弄出来,网上找了半天也是模棱两可,自己的水平不高,当前使用塌陷,然后导出fbx,勾选烘焙动画【暂时未解决】。然而确定以后就躺平了;
用babylon导出,没动画;
目前已经完结了,同时因为换工作搞场景去了,也没有时间去研究这个了,不知道能否有大佬也来交流指点一下,不胜感激,这篇文章要是能有点用也不妄费力。
最后:如果还是有问题,时间紧迫,不要死磕,可以检查单位、贴图、位置后导fbx重新做。希望只有我犯这些粗心的错误。