Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if let d = modelScene.rootNode.childNodes.first
- {
- theDude.node = d
- theDude.setupNode() //this scales it down
- }
- func setupNode()
- {
- node.scale = SCNVector3(x: modifier, y: modifier, z: modifier)
- }
- //Then add to scene on tap
- let clone = theDude.node.clone()
- theDude.node = clone
- self.sceneView.scene.rootNode.addChildNode(theDude.node)
- theDude.node.position = hitPosition
- func addAnim()
- {
- let characterScene = SCNScene(named: "art.scnassets/cubeAnimatedSkeleton.dae")!
- let characterTopLevelNode = characterScene.rootNode.childNodes[0]
- sceneView.scene.rootNode.addChildNode(characterTopLevelNode)
- let idleAnimation = CAAnimation.animationWithSceneNamed("art.scnassets/cubeAnimatedSkeleton.dae")!
- idleAnimation.usesSceneTimeBase = false
- idleAnimation.repeatCount = Float.infinity
- characterTopLevelNode.addAnimation(idleAnimation, forKey: "idle")
- }
- extension CAAnimation {
- class func animationWithSceneNamed(_ name: String) -> CAAnimation? {
- var animation: CAAnimation?
- if let scene = SCNScene(named: name) {
- scene.rootNode.enumerateChildNodes({ (child, stop) in
- if child.animationKeys.count > 0 {
- animation = child.animation(forKey: child.animationKeys.first!) //ERROR
- stop.initialize(to: true)
- }
- })
- }
- return animation
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement