ios - SceneKit 和 COLLADA 对象

标签 ios macos scenekit

有没有一种方法可以从 COLLADA 对象创建一个 SCNNode,然后将该节点添加为 rootNode 的子节点?

我看到了 ScenKit 我可以使用 .dae 文件创建一个 SCNScene

[SCNScene sceneWithURL:url options:nil error:&error];

但是我找不到一种方法来从一个 dae 开始创建一个节点。

最佳答案

如果您想从文件中读取对象并将它们插入到另一个场景中,那么您可以创建一个场景源并从那里获取条目。

创建场景源与创建完整场景非常相似

SCNSceneSource *source = [SCNSceneSource sceneSourceWithURL:url options:nil]; 

如果你知道你正在寻找的节点的id那么你可以直接使用

SCNNode *someNode = [source entryWithIdentifier:@"yourIdentifier" withClass:[SCNNode class]];

否则,您可以询问所有节点的标识符,然后从那里找出您正在寻找的标识符。

NSArray *nodeIdentifiers = [source identifiersOfEntriesWithClass:[SCNNode class]];

关于ios - SceneKit 和 COLLADA 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19229371/

相关文章:

clock_gettime 每秒都会出现故障

ios - 在 ARKit 中为 SCNText 设置动画

swift - 在 Scenekit 中计算到达角度

ios - 在 ARKit 中获取相机的向上矢量

iOS App store 提交 - 我可以向苹果提交一个facebook测试用户帐户信息吗

ios - 如何使用 Linkedin 应用程序获取 iOS 应用程序的应用程序 ID?

java - 如何在 Macos 中将 java 6 替换为 java 8?

macos - Qt5和MacPorts : missing links

ios - 两种 iOS WebView 类型在 iPhone 6 和 6+ 上错误地设置了 320px 视口(viewport)大小(Xamarin 应用程序)

ios - Swift 字符串比较失败