SceneKit flattenedClone导致节点位置意外变更问题求助
USDZ模型使用flattenedClone后几何体位置异常问题
我有一个包含3个几何体的3D模型,正常显示效果如下:
以下是我从USDZ文件创建SCNNode的原始代码:
private func readGeo(fn: String) -> SCNNode { let bundle = Bundle.main let url = bundle.url(forResource: fn, withExtension: nil)! let asset = MDLAsset(url: url) asset.loadTextures() let object = asset.object(at: 0) let node = SCNNode(mdlObject: object) return node }
为了将多个子节点合并为单个几何体,以便更轻松地附加物理体,我将返回语句修改为:
return node.flattenedClone()
修改后几何体位置出现异常,可见盖子突出显示,效果如下:
可获取示例项目用于排查问题。
补充说明:执行flatten操作后,原本处于非零坐标的子节点位置发生了变化,仿佛被重置到了零坐标位置,不清楚原因。
内容的提问来源于stack exchange,提问作者OMGPOP
相关产品推荐
相关产品推荐

