我正在尝试在我的应用中添加一些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 或类似的东西。 如果我不进行转换,则文本占据屏幕的大部分。 有任何想法吗? 感谢
答案 0 :(得分:2)
SCNMatrix4
是CATransform3D
的typedef(因此你可以使用CoreAnimation utils),但在iOS上却不是这样。查看SceenKitTypes.h
,它会显示与SCNMatrix4Scale
等CA匹配的函数。
同样奇怪的是,文字在屏幕上看起来太大了。默认字体大小相当小,您必须几乎总是更改几何体的字体大小以使其适合您的场景(更改字体大小比缩放更好,因为字形的离散化会更改并导致更平滑的曲线)。那个文字是你场景中唯一的东西吗?