mapboxgl导入模型时遇到的问题总结

前言:使用mapboxgl导入模型时,经常导不进去场景里面 会出很多差错,这里给大家分享一些心得。此文来源我同事小阮!

模型整合

我们知道一个稍微一点复杂的模型,都是由很多很多的几何体组成的,不过你不把所有模型整合到一起可能导致在mapbox中无法加载的哟!
具体做法,如图一:

随便选则一个小小的建筑合集(或者任何一个小的几何体)右键该模型将他转化为 可编辑多边形(或者可编辑网格)
选中该可编辑多边形 找到右边的属性栏 找到附加 功能,如图二:

点击附加,附加页面里面按 ctrl+a 全选,如图三:

这样他就变成了一个整体模型哟,如图四:

ps:如果下载的文件已经一个整体就不用这个操作了!!!

材质整合

不只是模型要整合哦,材质也要整合哦,不过这个过程实在是太复杂。总而言之就是 要把所有材质集合成一个多维子材质!具体教程可以百度经验里面有https://jingyan.baidu.com/arti….cle/afd8f4dedbd51234
如果你的材质不是多维子材质 可能会导致 无法导致场景里面哟
ps:如果下载模型的材质已经是多维材质的话也不用这个操作啦!!

模型导出

般的话导出 obj 和 mtl 文件都会有一个选项建议参数这样选择哟,如图五。

导出完了之后 会有一个map文件夹,里面有你有的一些材质,这里注意一下所有的材质文件的名称必须要用中文!!!!!但是有的时候3dsmax会给你自己自动取名为中文,当你把中文去掉之后 你还要打开mtl文件(用vscode打开就可以)修改一下mtl里面的材质路径。说到这里 ,通过查看mtl文件还可以查看你的材质放在哪个目录这个也很关键哦!通常网上的一些作者材质都是乱放的,你可以通过修改mtl文件里面的路径 来找到你的材质文件。

坐标系偏移问题

这个问题是今天碰到一个新问题,就是博阳在mapbox里面根本找不到文件在哪里,在cesium加载的模型实际坐标相差十万八千里。如图七:

当时我没有反应过来,知道博阳提到了我自己模型的坐标的问题,我才想起来,这个问题处理起来很简单很简单,只要几秒钟。选中模型按下W键 让模型变成可移动状态,然后按f11 把绝对:世界 下面的 xyz轴的参数全部调成0,这样模型就乖乖回到原点啦。
除此之外我想提到一个轴的概念,任何一个模型/物体 都有自己的轴,我们进行平移,旋转,缩放功能都是基于这个轴来进行的,默认情况下 这个轴是在 物体的中心的 但是今天下载的这个模型的轴呢偏离的特别夸张,如果你之后还想对这个模型进行缩放,旋转,平移操作的话建议把这个轴移到这个物体的中心,具体做法也非常简单百度一下就造了
ps 怎么判断这个物体是有偏移呢?不可能每一次都先导出了 然技术端试了偏了十万八千里再来改把,这样会给技术研发同事带来很多困扰
就像今天一样搞了一个小时才找到问题
这里有一个很简单的办法,就是每次我们打开3dsmax 主界面都会一个网格线 ,如图八:

图八

如果你的模型在这个网格线上的话 就是标准的没有偏移很多哟

渲染器问题

当你确认了mtl文件没有问题,有模型框架缺没有材质,这个时候可能是的渲染器没有选对哦!现在市面上百分之八十3dsmax作者使用的都是vray渲染器,但是我们的mapbox场景不支持vray渲染器提供的材质和渲染效果,如果你购买的max模型使是用vray渲染器的话你要按f10调处渲染器窗口,将vray渲染器改成扫描线渲染器(默认渲染器),之后的材质颜色还是要靠你自己调整哟

备注:还有一个很简单的办法 可以看这个场景是否可以导入到mapbox场景里面哟! 就是用3d查看器 直接打开glb/gltf格式的文件,如果材质和形状没有问题,说明 材质 和模型都可以正常显示(但是不能确定他的坐标问题!!今天我就是这样以为材质啥的没问题,结果偏到西班牙去了)
以后可能多多少少还有很多问题,希望大家可以互相学习,一起努力,总结经验 少走弯路!!


mapboxgl导入模型时遇到的问题总结
https://www.gishai.top/blog/posts/cb3db6e0.html
作者
Hai
发布于
2020年5月16日
更新于
2022年6月10日
许可协议