在此视频中,一个对象被赋予一个动画,在放置时将其悬停在房间周围,然后在点击时,它会被另一个动画放下。 如何在我的项目中添加这种动画? 添加已经动画的对象是唯一的方法吗?
谢谢
答案 0 :(得分:7)
我认为上下盘旋很可能是一个动画序列。悬停效果的以下动画序列将在第一个下拉选择功能中起作用。
let moveDown = SCNAction.move(by: SCNVector3(0, -0.1, 0), duration: 1)
let moveUp = SCNAction.move(by: SCNVector3(0,0.1,0), duration: 1)
let waitAction = SCNAction.wait(duration: 0.25)
let hoverSequence = SCNAction.sequence([moveUp,waitAction,moveDown])
let loopSequence = SCNAction.repeatForever(hoverSequence)
node2Animate.runAction(loopSequence)
self.sceneView.scene.rootNode.addChildNode(node2Animate)
点击节点时停止动画的第二部分,将其置于点击手势功能中。
node2animate.removeAllActions()
最后一部分掉到地上,node2animate可能是一个physicsBody,在点击重力属性之前
node2animate.physicsBody?.isAffectedByGravity = false
点按后将其设置为true
node2animate.physicsBody?.isAffectedByGravity = true
还有其他事情正在发生,与地板的碰撞也已设定等。