微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift 快速奔跑的兔几 本节的内容是:SceneKit 第二说 实现动画&创建文本几何体

1、SCNScene的内容可以表现为动画。动画可以合并,如果想一个节点应用了一个动画,则所有的子节点将一起变化。

下面添加一个上下移动的动画

// 为场景中的内容实现动画
        let moveUpAndDownAnimation = CABasicAnimation(keyPath: "position")
        moveUpAndDownAnimation.byValue = NSValue(SCNVector3:SCNVector3(0,5,0))
        // 在最后加速和减速,而不是机械弹跳
        moveUpAndDownAnimation.timingFunction = camediatimingFunction(name: kcamediatimingFunctionEaseInEaSEOut)
        // 在末端自动返回
        moveUpAndDownAnimation.autoreverses = true
        // 动画无限次循环
        moveUpAndDownAnimation.repeatCount = Float.infinity
        moveUpAndDownAnimation.duration = 2
        // 添加一个节点
        capsuleNodeOne.addAnimation(moveUpAndDownAnimation,forKey: "upAndDown")

2、创建文本几何体

// 创建文本几何体
        let text3D = SCNText(string: "BlaBlaBla",extrusionDepth: 0.3)
        text3D.font = UIFont.systemFontOfSize(2)
        let textNode = SCNNode(geometry: text3D)
        textNode.position = SCNVector3(-5,6,0)
        capsuleNodeOne.addChildNode(textNode)

文字添加成为胶囊节点的子节点,字体会跟着胶囊移动。 当一个节点是另一个节点的子节点时,它会继承父节点的所有动画。我们也可以向子节点添加动画,但是这些动画不会影响父节点。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐