PrincessGod / objTo3d-tiles

Convert obj model file to 3d tiles
https://princessgod.github.io/objTo3d-tiles
Apache License 2.0
792 stars 235 forks source link

error: array buffer allocation failed #36

Open Sky-Data opened 5 years ago

Sky-Data commented 5 years ago

使用3dmax将max模型文件转为obj格式,附带图片纹理,使用转换工具时暴出“array buffer allocation failed”,查找了相关说明,同类的转换工具也有出现该提示是因此图片太多,导致缓冲区不够使用,而工具可获得的缓冲区有限制。

Sky-Data commented 5 years ago

进一步测试发现是模型图片问题,人工建模是部分图片是截取的图片,比如从影像图上截取的图片。结果转为3dtile格式后,加载提示某个图片加载失败。导致3dtiles渲染失败。

simonasdmd commented 5 years ago

@Sky-Data 你好,请问下你直接转换3dmax导出得模型 应该最终结果是一个整体,那如果模型比较大,网页加载得时候就会慢啊,本地的还好,要是发布服务 单个一个大模型 延迟和效果都不好,你有木有考虑过这个问题?

davidweining2333 commented 5 years ago

@Sky-Data 你好,请问下你直接转换3dmax导出得模型 应该最终结果是一个整体,那如果模型比较大,网页加载得时候就会慢啊,本地的还好,要是发布服务 单个一个大模型 延迟和效果都不好,你有木有考虑过这个问题?

@simonasdmd 目前也遇到了类似的需求,需要将20平方公里的无人机倾斜影像在网页上展示,原始模型数据有40G,一次加载是不可能的,因此就要考虑3D tiles的方案去实现,我目前查到的方案有threejs,gltf+lod,以及cesium,可以做到按层级加载,就像传统地图那些金字塔切片,在不同的层级和视图加载合适的瓦片。现在就是在如何生成3d tiles上,这个库就能做到gltf->bd3m就是cesium支持的文件,只是看起来好像没在维护了,不保证兼容最新版本的cesium,目前正在尝试。主要还是想先找一些开源方案,有很多收费产品的。

simonasdmd commented 5 years ago

@davidweining2333 你这个问题其实就是设计切片,如果利用这个工具 它本身是不支持把一个整体拆分得,换个思路 自己把一个obj拆成多个,然后用这个工具单独生成晓得3dtiles,然后再组合json就可以了。 这个工具是能找到免费唯一比较好用的了

simonasdmd commented 5 years ago

@davidweining2333 而且这个切片我自己写了demo 然后用这个工具 流程是通得 也能加载出来