我正在开发一个应用程序,我需要将3D对象加载到增强的世界中。我设法得到了一个我想使用的3D模型。该文件最初是solidworks文件格式。我使用我下载3D文件的网站将我需要的部分转换为.stl文件。然后我使用草图将其转换为dae文件。现在问题是生成的文件大到917mb。当我将它移动到我的Xcode项目中时,它会挂起很长时间,有时甚至会告诉我我的系统耗尽了应用程序内存。为了解决这个问题,我使用Xcode将.dae文件转换为.scn文件。这已经将文件大小减小到317mb,但现在的问题是,一旦我将它加载到我的场景中,一旦相机看到模型,整个应用程序冻结就会在增强的世界中显示。我打开统计数据并将最大帧速率设置为120(我有一个iPad Pro),一旦看到对象,帧速率就会下降到19fps。有没有人知道我能做些什么来让我的对象顺利增加并阻止应用程序冻结。我不知道我应该提供哪些应用程序代码部分,所以如果你需要任何帮助来回答我的问题,请告诉我,我将发布所需的代码。
感谢。
答案 0 :(得分:0)
这是基于CAD和NURBS的3D设计应用程序中精确度和细节的不幸副作用。 Solidworks和Rhino可能是他们在努力输出准确的“模型”时产生的极为数量的三角形中最着名的两个。
是的,你是对的,结果几何的大小就是问题所在。但是,没有多少修剪和优化输出几何将获得良好的结果。
基于游戏的模型是从头开始制作的,以游戏为中心的几何体,采用不同的创作技术,从一开始就优化了几何体的存在方式。
努力平滑并向基础几何体添加细节,然后提供这些原始几何体之上的复杂性和细微差别。
无论您需要呈现什么,您都需要找到以这种方式建模的COLLADA文件,或者由熟悉游戏引擎和实时渲染环境所需优化的人制作的3ds文件。
来自SolidWorks的这些文件以及对其进行操作的所有优化都针对离线渲染解决方案和工程要求/注意事项,而不是游戏需求。
很抱歉成为坏消息的使者。我希望您可以获得该模型的退款,或者将其作为某人帮助您制作游戏模型的指南。