2016-08-25 1 views
0

3D 전장으로 카드 게임을 프로그래밍하고 있는데 SceneKit을 추가하고 있습니다.동일한 카메라로 여러 깊이에 여러 SCNView 추가하기

전장은 3D 오브젝트의 상단이 성의 상단이고 전방의 바닥이 땅을 나타내는 z 축의 아래쪽에있는 깊이가 있습니다.

플레이어가 손에 카드를 가지고있을 때, 가능한 가장 위에있는 레이어에 UIViews로 그려 넣고 싶습니다. 카드의 UIViews가있는 내 GameControllerView를 하위보기로 추가하여이 작업을 수행 할 수있었습니다. 3D 장면 위에 직접 배치합니다.

card UI placed over top of battleground 3d scene

나는 3D 개체 내에서 다른 깊이 (z 축)에 카드를 내 UIViews을 그릴 싶습니다 - 때때로에 레이어를 그리기, 때로는 지상에 레이어를 그리기 상단.

나는이 같은 내 주요 장면의 rootNode를에 childNodes에 추가하여 전쟁터에 다른 깊이에서 더 3D 요소를 추가 할 수 있었다

:

SCNScene *enemy_life = [SCNScene  sceneNamed:@"battle_enemy_life.dae"]; 
[myView.scene.rootNode addChildNode:enemy_life.rootNode]; 

하지만 내가 특별히 UIViews를 추가 할 필요가 아니라 더 SCNScenes.

아래쪽 깊이에 하나의 SCNView를 설정하고 그 위에 UI 뷰를 그리고 더 높은 z 축 깊이로 자라는 다른 SCNView를 설정하고 그 위에 UIView를 그리고 동일한 카메라를 공유하도록하는 방법은 무엇입니까? /화면?

답변

0

나는 UIKit과 반대로 SpriteKit으로 카드를 그릴 것입니다.

SceneKit 장면은 SpriteKit 장면을 오버레이로 표시 할 수 있으며 카드에 필요한만큼의 스프라이트를 사용할 수 있습니다.

SceneKit에서 SpriteKit을 사용하는 것이 효율적입니다. SceneKit에서 UIKit을 사용하면 프레임 속도가 떨어집니다.

SCNSceneRenderer : overlaySKScene을 확인하십시오.

관련 문제