困っていること
SceneKitで移動を伴うアニメーションを実装しようと思っているのですが、sceneに追加したchildNodeを取り出す段階で取り出すことができずにハマってしまっています。
現状
SceneKitにおけるアニメーションの実施方法と使い分けについてという記事を参考にプログラムを作りました。
記事では3Dオブジェクトを使っていたので名前があったと思うのですが、私はSCNGeometoryを動かしたいと思っていたので名前は自分でつけました。
swift
1class GameViewController: UIViewController { 2 3 override func viewDidLoad() { 4 super.viewDidLoad() 5 6 let scene = SCNScene() 7 let box = SCNBox(width: 1, height: 1, length: 1, chamferRadius: 0.1) 8 box.name = "box" 9 scene.rootNode.addChildNode(SCNNode(geometry: box)) 10 11 //ライトを作成 12 let lightNode = SCNNode() 13 lightNode.light = SCNLight() 14 lightNode.light!.type = .omni 15 lightNode.position = SCNVector3(x: 0, y: 10, z: 10) 16 scene.rootNode.addChildNode(lightNode) 17 18 //カメラの作成 19 let cameraNode = SCNNode() 20 cameraNode.camera = SCNCamera() 21 scene.rootNode.addChildNode(cameraNode) 22 cameraNode.position = SCNVector3(x: 0, y: 0, z: 15) 23 24 let scnView = self.view as! SCNView 25 scnView.scene = scene 26 27 if let boxNode = scnView.scene?.rootNode.childNode(withName: "box", recursively: true) { 28 let move = SCNAction.moveBy(x: 0, y: 0, z: -30, duration: 3) 29 30 boxNode.runAction(move) 31 } 32 33 } 34}
こちらboxNodeが取得できない原因がわかりましたら教えていただきたいです????♂️
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/17 04:02