我正在将一些Objective-C代码转换为Swift代码,并遇到以下问题:
Objective-C代码如下:
SCNNode *textNode = [SCNNode nodeWithGeometry:text];
textNode.transform = CATransform3DInvert(self.chartNode.worldTransform);
这是我尝试转换的代码:
let textNode = SCNNode(geometry: text)
textNode.transform = CATransform3DInvert(self.chartNode.worldTransform)
然而,我遇到了一个错误:'SCNMatrix4不能转换为CATransform3D'
我意识到CATransform3DInvert需要一个CATransform3D类型的参数,而我包含的参数是SCNMatrix4类型的。
我尝试了以下的强制类型转换:
textNode.transform = CATransform3DInvert(CATransform3D(self.chartNode.worldTransform))
但是这种方法行不通。
我发现CATransform3D和SCNMatrix4都是结构体,我不确定如何在它们之间进行转换(甚至不确定在Swift中是否可以在结构体之间进行转换?)
也许还有另一种更简单的方法?
非常感谢任何帮助 - 谢谢。
SCNMatrix4Invert
? - rintaro