【问题标题】:CATransform3DScale expecting CATransform3D struct not SCNMatrix4CATransform3DScale 期望 CATransform3D 结构不是 SCNMatrix4
【发布时间】:2014-10-09 03:34:24
【问题描述】:

我正在尝试在我的应用中添加一些 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 或类似的东西。 如果我不转换,文本会占据大部分屏幕。 有任何想法吗? 谢谢

【问题讨论】:

    标签: scenekit


    【解决方案1】:

    在 OS X 上 SCNMatrix4CATransform3D 的 typedef(因此您可以使用 CoreAnimation 实用程序),但在 iOS 上并非如此。看看SceenKitTypes.h,它公开了与CA 匹配的函数,例如SCNMatrix4Scale

    此外,屏幕上的文字显得太大也很奇怪。默认字体大小相当小,您几乎必须始终更改几何图形的字体大小以使其适合您的场景(更改字体大小比缩放更好,因为字形的离散化会发生变化并导致曲线更平滑)。那个文本是你场景中唯一的东西吗?

    【讨论】:

    • 谢谢。是的,我正在移植一个 Mac OSX 应用程序,需要进行不同的翻译。现在工作。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多