Advertisement
Guest User

Untitled

a guest
Sep 24th, 2017
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. if let d = modelScene.rootNode.childNodes.first
  2. {
  3. theDude.node = d
  4. theDude.setupNode() //this scales it down
  5. }
  6. func setupNode()
  7. {
  8. node.scale = SCNVector3(x: modifier, y: modifier, z: modifier)
  9. }
  10.  
  11. //Then add to scene on tap
  12.  
  13. let clone = theDude.node.clone()
  14. theDude.node = clone
  15. self.sceneView.scene.rootNode.addChildNode(theDude.node)
  16. theDude.node.position = hitPosition
  17.  
  18. func addAnim()
  19. {
  20. let characterScene = SCNScene(named: "art.scnassets/cubeAnimatedSkeleton.dae")!
  21. let characterTopLevelNode = characterScene.rootNode.childNodes[0]
  22. sceneView.scene.rootNode.addChildNode(characterTopLevelNode)
  23. let idleAnimation = CAAnimation.animationWithSceneNamed("art.scnassets/cubeAnimatedSkeleton.dae")!
  24.  
  25. idleAnimation.usesSceneTimeBase = false
  26. idleAnimation.repeatCount = Float.infinity
  27. characterTopLevelNode.addAnimation(idleAnimation, forKey: "idle")
  28. }
  29.  
  30. extension CAAnimation {
  31. class func animationWithSceneNamed(_ name: String) -> CAAnimation? {
  32. var animation: CAAnimation?
  33. if let scene = SCNScene(named: name) {
  34. scene.rootNode.enumerateChildNodes({ (child, stop) in
  35. if child.animationKeys.count > 0 {
  36. animation = child.animation(forKey: child.animationKeys.first!) //ERROR
  37.  
  38. stop.initialize(to: true)
  39. }
  40. })
  41. }
  42. return animation
  43. }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement