写入 dae 时,Scenekit 会自动为节点名称中的空格插入下划线
Posted
技术标签:
【中文标题】写入 dae 时,Scenekit 会自动为节点名称中的空格插入下划线【英文标题】:Scenekit automatically inserts underscores for blank spaces in node names when writing to dae 【发布时间】:2019-02-15 12:24:07 【问题描述】:我正在尝试编辑 dae 文件以更改节点的名称。我得到了我想要编辑的子节点,我编辑了现在包含空格的名称 - 比如说“节点名称”。一旦我将此场景写入 dae 文件,使用 SceneKit 的 write(to:options:delegate:progressHandler:), 新 dae 文件中的节点名称会自动更改为“Node_Name”。 dae中的节点名称不允许空格吗?
有没有办法覆盖这种行为?
【问题讨论】:
【参考方案1】:这是Collada 1.4.1 specification 的一部分。 node
的 name
是 xs:NCName
,不允许包含空格。
这在 Collada 1.5.0 中得到了放松,其中 name
变成了 xs:token
。
无法覆盖 SceneKit 使用的 Collada 规范,目前是 Collada 1.4。
【讨论】:
以上是关于写入 dae 时,Scenekit 会自动为节点名称中的空格插入下划线的主要内容,如果未能解决你的问题,请参考以下文章
在 SceneKit 中支持 Collada/DAE 模型都有哪些要求?
iOS SceneKit:XCode“中断”导入的 DAE 材质颜色