我正在使用Android OpenGLES2开发游戏。使用.obj文件绘制3D模型时,由于.obj文件的大小(即3MB),加载时间太长。请建议一种方法来最小化.obj文件的大小。
我正在使用Android OpenGLES2开发游戏。使用.obj文件绘制3D模型时,由于.obj文件的大小(即3MB),加载时间太长。请建议一种方法来最小化.obj文件的大小。
很遗憾,这些是唯一可用的选项。
在移动设备上,应该使用预先准备好的二进制数据,而不是解析.OBJ
文件 - 这样太慢了。
建议 #1
我知道这是一篇较旧的帖子,但如果有人需要的话...
使用AccuTrans 3D可以大幅减小OBJ文件的文件大小。 https://www.softpedia.com/get/Multimedia/Graphic/Graphic-Others/AccuTrans-3D.shtml
它可以将3D文件转换为许多不同的文件格式。如果您导出为OBJ并选择设置自己的选项,则可以减少顶点的小数位数,设置比例因子,并包括或排除诸如顶点法线、纹理UV和组名称之类的内容。根据您所需的详细程度、精度或平滑度,调整这些选项可以将某些文件大小减半。
只需小心并稍微尝试一下,直到您了解这些选项。消除顶点法线会删除对象平滑处理,这可能或可能不适用于您的应用程序。减少顶点坐标精度可能会根据您使用的设置创建一些像素化。
免责声明:我与AccuTrans或其所有者没有任何关联。这是我使用的在线3D打印服务之一推荐的。
建议 #2
在您的服务器上,如果您将OBJ文件作为文本/纯文本mime类型进行服务,那么您可以使用gzip压缩。