ノードで SCNAction を実行するかどうかを誰かが知っているかどうか疑問に思っていましたが、そのノードがアクションを実行している間に、シーン座標系での位置を見つける方法はありますか?
2 つの SCNNodes A と B があるとしましょう...
SCNNode *A, *B;
AのSCNActionを実行したい
A.position = SCNVector3Make(0.0,0.0,0.0);
[A runAction:[SCNAction moveTo:SCNVector3Make(10.0,0.0,0.0)]];
A がそのアクションを実行している間、B はリアルタイムでそれをフォローしますか?
[B runAction:[SCNAction repeatActionForever:[SCNAction moveTo:A.position]]];
したがって、B が繰り返されるたびに、移動先の A の新しい更新された位置が与えられます。
私が得ている問題は、AのpresentationNodeを上記のSCNActionに設定しても、設定した初期入力をまだ返していますが(これは理にかなっています)、Aの更新された位置を取得するにはどうすればよいですか?
補足: A.presentationNode.position を取得すると、デフォルトの Zero Vector が取得されます
解決済みの質問
さらに調査した結果、SCNSceneRendererDelegate の使用方法を見つけ、ノード A の位置を更新する (void) メソッドを作成し、同じメソッド内で B を A の更新位置に移動する SCNAction を作成しました。
誰かが同様の問題を抱えていたり、コードを見たい場合は、私に知らせてください。投稿します!