私は SceneKit に慣れていないので、次のことについてあなたの助けを借りることができます: 私は 2 つの SCNViews を持っています - 標準の allowCameraControl オプションを有効にしてユーザーが操作できるユーザーのシーンを示す大きなもの (skView) - 別の小さなもの (これは、ユーザーが大きな SCNView で実行するカメラ ナビゲーションをミラーリングしたい座標クロスを示しています。
両方の SCNViews を保持する ViewController を SCNRendererDelegate にし、レンダラーでクロスの向きを更新することで実装しました: updateAtTime: メソッドは次のようになります。
- (void)renderer:(id<SCNSceneRenderer>)renderer updateAtTime:(NSTimeInterval)time {
[self.coordinateCrossView.scene.rootNode childNodeWithName:@"cross" recursively:YES].orientation = self.skView.pointOfView.orientation;
[self.coordinateCrossView setNeedsDisplay];
}
ここまでは順調ですね。ただし、これは、ユーザーが画面上で大きな SCNView を指で操作している場合にのみ機能します。指が画面から離れたときのスワイプ ジェスチャの後、大きな SCNView 内のオブジェクトは少し回転し続けますが、座標クロスは更新されません。この動作が pointOfView.orientation の変更によってキャプチャされない理由はありますか?