CATransform3DScale期望CATransform3D结构不是SCNMatrix4

时间:2014-10-08 18:11:16

标签: scenekit

我正在尝试在我的应用中添加一些3D文字,但我需要扩展它,这是我正在尝试使用的代码:

SCNText *text = [SCNText textWithString:@"Some Text" extrusionDepth:4.f];
 SCNNode *textNode = [SCNNode nodeWithGeometry:text];
 textNode.position = SCNVector3Make(-1, 5, 0);
 textNode.transform = CATransform3DScale(textNode.transform, .1f, .1f, .1f);
 [root addChildNode:textNode];

我得到了

  

CATransform3DScale期望CATransform3D结构不是SCNMatrix4   或类似的东西。   如果我不进行转换,则文本占据屏幕的大部分。   有任何想法吗?   感谢

1 个答案:

答案 0 :(得分:2)

OS X上的

SCNMatrix4CATransform3D的typedef(因此你可以使用CoreAnimation utils),但在iOS上却不是这样。查看SceenKitTypes.h,它会显示与SCNMatrix4Scale等CA匹配的函数。

同样奇怪的是,文字在屏幕上看起来太大了。默认字体大小相当小,您必须几乎总是更改几何体的字体大小以使其适合您的场景(更改字体大小比缩放更好,因为字形的离散化会更改并导致更平滑的曲线)。那个文字是你场景中唯一的东西吗?