【问题标题】:Load a touch-responsive 3D model加载触控响应式 3D 模型
【发布时间】:2012-10-28 05:55:13
【问题描述】:

我正在编写一个博物馆应用程序,我想显示一个响应用户触摸的 3D 模型,例如捏合以缩放或围绕模型移动。我搜索了很多,但我发现的只是游戏引擎,对于这个东西来说似乎非常复杂。有什么方法可以导入模型(它们具有的格式无关紧要),显示它并使其触摸响应?如果代码(或引擎)是开源的会更好,我更喜欢免费应用而不是付费应用。非常感谢!

更新:现在我可以使用 cocos3D 加载 3D 模型,但正如我在回答中所说,我可以加载的模型是非常低级的。这是一个博物馆的应用程序,我必须是一个更详细的模型。我正在使用显示动画“hello world”的 cocos3D 标准模板项目,只是更改了 .pod 文件以加载我想要的文件并开始添加一些修改以支持用户触摸交互。我减少了大约 80% 的原始多边形数量来加载它(this is how looks a small part of the model )。如果我尝试加载将原始模型减少约 50% 的模型(看起来很棒,like these ),应用程序崩溃并给我这个日志崩溃:

** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“OpenGL ES 1.1 仅支持顶点索引的 GL_UNSIGNED_SHORT 或 GL_UNSIGNED_BYTE 类型” * 首先抛出调用栈: (0x22cc012 0x1ca9e7e 0x22cbe78 0x173ff35 0x1b550f 0x186751 0x180a81 0x17b750 0x11de32 0x1270d4 0x1263ac 0x14f1a2 0x13ca01 0x14ee02 0x14d45e 0x14d3c2 0x14bb22 0x14a452 0x14efcc 0x14d493 0x14d3c2 0x1643e3 0x162a41 0x10c197 0x10c11d 0x10c098 0x3d79c 0x3d76f 0x85282 0x16e9884 0x16e9737 0x8b56f 0xc4192d 0x1cbd6b0 0x505fc0 0x4fa33c 0x4fa150 0x4780bc 0x479227 0x51bb50 0xbef9ff 0xbf04e1 0xc01315 0xc0224b 0xbf3cf8 0x2fd4df9 0x2fd4ad0 0x2241bf5 0x2241962 0x2272bb6 0x2271f44 0x2271e1b 0xbef7da 0xbf165c 0x1ca506 0x2a55) libc++abi.dylib:终止调用抛出异常 (lldb)

它无法加载所有多边形并崩溃。有什么解决办法吗?或者我必须寻找另一种加载模型的方法?如果您想了解更多信息,请询问。谢谢。

【问题讨论】:

  • 嗨,你能做这个应用程序吗?我正在寻找完全相同的例子。如果你不介意可以帮我一把。

标签: objective-c ios 3d xcode4.5


【解决方案1】:

我使用Cocos3D 导入地球模型并根据用户的手势旋转它。你可以看看,这不是一件复杂的事情。

查看this post 以获取有关加载模型的一些示例代码。对于处理旋转,我发现this post 非常有用。

【讨论】:

  • 我设法将我想要的模型加载到cocos3D的模板项目中,但是我仍然无法通过用户交互来旋转它。我正在努力了解 cocos3D 演示项目“CC3Demo3DTiles”中的旋转是如何工作的。但除此之外,我还有另一个问题。我拥有的 3d 模型非常“多模”,我必须大大降低模型的质量才能将其加载到 cocos3D 或应用程序崩溃。有没有办法加载更高质量的 3D 模型? Gràcies per l'ajuda(感谢您的帮助)!
  • 您的模型有可能拥有超过 64K 的顶点吗?这是 Cocos3D:cocos2d-iphone.org/forum/topic/22794 的一个限制,它只支持 unsigned short 类型的索引。所以,也许前进的唯一途径是转向另一个 3D 框架;据我所知,开源替代品是 iSGL3D,或者您可以使用专有的替代品,例如 Unity 3D,但我无法告诉您有关它们的任何确切信息,因为我从未使用过它们。对不起(ho sento)。
  • 好的,我知道顶点有限制,但我不知道是哪一个。我会尝试找到在不损失大量质量的情况下减少顶点的方法。再次感谢!
猜你喜欢
  • 2022-07-24
  • 2016-11-18
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
  • 2018-03-13
  • 2012-03-30
  • 2013-11-19
  • 2020-06-21
相关资源
最近更新 更多