从 LightWave 转换而来的 WaveFront OBJ 需要很长时间才能在 iPhone 上渲染
我正在开展一个项目,需要在 iOS 设备上渲染 3D 人体。该 3D 对象是在 Adobe LightWave 中构建的,大小为 7.4MB。我在 Blender 中打开它并将其导出为 OBJ/MTL 对,分别为 5.5MB 和 4KB。使用 Jeff LaMarche 的 Wavefront Loader(下面链接)作为了解 OpenGL ES 并检查性能等的起点,我将对象插入其中(代替他一直使用的 OBJ/MTL 对)并运行它在模拟器中。当然,启动时会崩溃,所以我决定执行SelectorInBackground吧。半小时过去了,还在加载中。
我只是猜测该文件过于详细,无法在具有 600MHz 处理器的设备上绘制任何类型的性能预期。有没有办法轻松降低这些文件的质量?或者,如果这个特定的加载程序出现性能问题,有人可以启发我吗?
谢谢, 将
http://iphonedevelopment.blogspot.com/ 2009/03/wavefront-obj-loader-open-sourced-to.html
I'm working on a project where I need to render a 3D human body on an iOS device. The 3D object was built in Adobe LightWave and is 7.4MB. I opened it in Blender and exported it as OBJ/MTL pair which are 5.5MB and 4KB, respectively. Using Jeff LaMarche's Wavefront Loader (linked below) as a starting point to figure out OpenGL ES and get check out performance and whatnot, I stuck the object in there (in place of an OBJ/MTL pair he'd been using) and ran it in the simulator. Of course, crash on startup, so I decided to performSelectorInBackground it. A half hour later, it's still loading.
I'm just guessing that the file is way too detailed to draw with any kind of performance expectation on a device with a 600MHz processor. Is there a way to lower the quality these files somewhat easily? Or, if performance issues have arisen with this particular loader, could somebody enlighten me?
Thanks,
Will
http://iphonedevelopment.blogspot.com/2009/03/wavefront-obj-loader-open-sourced-to.html
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
威尔,
我不知道是否能解决你的问题,但我也许能为你指明正确的方向。我为客户做了一个项目,使用 SIO2 3D 引擎加载从 Blender 导出的 3D 模型。
无论如何,当时我遇到了 3D 引擎加载模型需要很长时间的问题。我发现减少多边形的数量非常重要 - 如果它是高质量模型,您肯定需要这样做。
Blender 有一个这样的功能 - 多边形减少或类似的东西。 Blender 还应该向您报告正在使用的多边形和曲面的数量,因此,如果超过 20,000 个,您可能会遇到性能问题。
Will,
I don't know if I can solve your problem, but I may be able to point you in the right direction. I did a project for a client loading a 3D model exported from Blender using the SIO2 3D engine.
Anyway, at that time, I had trouble with the 3D engine taking a long time to load the model. I found that reducing the number of polygons was very important - if it is a high quality model, you most certainly will need to do so.
Blender has a function for this - polygon reduce or something like that. Blender should also report to you how many polygons and surfaces are in use, so if it's more than, say, 20,000, you're likely in for performance issues.