我正在使用 SceneKit 添加带有 3D 战场的纸牌游戏。
战场有一个深度,其中 3D 对象的顶部是城堡的顶部,而底层在 z 轴上更下方,代表地面。
当玩家手中有卡片时,我想在可能的顶层将它们绘制为 UIViews,我已经能够通过添加我的 GameControllerView 来做到这一点,它具有卡片的 UIViews 作为子视图,将其直接放置在3D场景的顶部。
我想在 3D 对象内绘制不同深度(z 轴)的卡片 UIView——有时将它们绘制在地面上的图层上,有时将它们绘制在顶部的图层上。
通过将 childNodes 添加到主场景的 rootNode 中,我已经能够在战场的不同深度添加更多 3D 元素,如下所示:
SCNScene *enemy_life = [SCNScene sceneNamed:@"battle_enemy_life.dae"];
[myView.scene.rootNode addChildNode:enemy_life.rootNode];
但我特别需要添加 UIViews 而不是更多的 SCNScenes。
如何在底部深度设置一个 SCNView,在其上绘制 UI 视图,设置另一个增长到更高 z 轴深度的 SCNView,在其上绘制 UIView,并让它们共享相同的相机/屏幕?