如何更改 collada 文件中的节点
How to change nodes in collada files
我创建了一个要在我的应用程序中使用的 collada 文件 (.dae)。我正在使用场景套件。我已经在 Xcode 中预览了该文件,但我无法理解如何通过代码更改节点的属性。
我如何为 collada 文件中的节点设置类似 IBOutlet 的东西。我是否必须从代码创建节点以便我可以参考碰撞文件中的视觉元素,或者是否还有其他我必须考虑的事情。
如有任何帮助,我们将不胜感激。
如果您在 Xcode 中预览 Collada 文件时查看 "scene graph" 部分,您可以看到每个节点都有一个 "name"(也可以是无标题的)。您还可以通过选择一个节点并在节点检查器中查看来看到这一点(⌥⌘3)在 Xcode.
中预览文件时
在代码中,您可以通过向场景的根节点(或任何其他 parent 节点)询问具有特定名称的 child 节点来获取对这些节点中任何一个的引用,使用-childNodeWithName:recursively:
:
SCNNode *fooNode = [myScene.rootNode childNodeWithName:@"Foo" recursively:YES];
或者,您可以通过 childNodes
和 parentNode
属性以及 -enumerateChildNodesUsingBlock:
方法(全部在 SCNNode 上)遍历节点层次结构。
我创建了一个要在我的应用程序中使用的 collada 文件 (.dae)。我正在使用场景套件。我已经在 Xcode 中预览了该文件,但我无法理解如何通过代码更改节点的属性。
我如何为 collada 文件中的节点设置类似 IBOutlet 的东西。我是否必须从代码创建节点以便我可以参考碰撞文件中的视觉元素,或者是否还有其他我必须考虑的事情。
如有任何帮助,我们将不胜感激。
如果您在 Xcode 中预览 Collada 文件时查看 "scene graph" 部分,您可以看到每个节点都有一个 "name"(也可以是无标题的)。您还可以通过选择一个节点并在节点检查器中查看来看到这一点(⌥⌘3)在 Xcode.
中预览文件时在代码中,您可以通过向场景的根节点(或任何其他 parent 节点)询问具有特定名称的 child 节点来获取对这些节点中任何一个的引用,使用-childNodeWithName:recursively:
:
SCNNode *fooNode = [myScene.rootNode childNodeWithName:@"Foo" recursively:YES];
或者,您可以通过 childNodes
和 parentNode
属性以及 -enumerateChildNodesUsingBlock:
方法(全部在 SCNNode 上)遍历节点层次结构。