SceneKit で追加している 3D 戦場でカード ゲームをプログラミングしています。
戦場には奥行きがあり、3D オブジェクトの上部が城の上部であり、最下層が z 軸上でさらに下にあり、地面を表しています。
プレイヤーが手札にカードを持っている場合、可能な限り最上層に UIView として描画したいと思います。カードの UIView をサブビューとして直接配置する GameControllerView を追加することで、これを行うことができました。 3Dシーンのトップ。
バトルグラウンドの 3D シーンの上に配置されたカード UI
3D オブジェクト内のさまざまな深さ (z 軸) でカードの UIView を描画したいと思います。地面のレイヤーに描画することもあれば、上のレイヤーに描画することもあります。
次のように、メイン シーンの rootNode に childNodes を追加することで、バトルグラウンドのさまざまな深さに 3D 要素をさらに追加することができました。
SCNScene *enemy_life = [SCNScene sceneNamed:@"battle_enemy_life.dae"];
[myView.scene.rootNode addChildNode:enemy_life.rootNode];
しかし、特に UIView を追加する必要があり、SCNScenes を追加する必要はありません。
1 つの SCNView を一番下の深さに設定し、その上に UI ビューを描画し、別の SCNView を設定してより高い z 軸の深さに成長させ、その上に UIView を描画し、同じカメラ/画面を共有するにはどうすればよいですか?