씬 키트

SceneKit

때때로 렌더링되는 SceneKit목표-C로 작성된 Apple Inc. 플랫폼용 3D 그래픽 애플리케이션 프로그래밍 인터페이스(API)이다.OpenGL, Metal과 같은 하위 레벨 API를 통해 사용하기 쉬운 레이어를 제공하도록 설계된 고급 프레임워크다.[1]SceneKit은 물리 엔진, 입자 시스템과 함께 객체 기반 장면 그래프를 유지하며 코어 애니메이션 및 기타 프레임워크에 대한 링크를 통해 디스플레이에 쉽게 애니메이션을 생성한다.SceneKit 뷰는 다른 뷰와 혼합될 수 있으며, 예를 들어 SpriteKit 2D 디스플레이를 SceneKit 객체의 표면에 매핑하거나 Core Graphics의 UIBezierPath를 사용하여 SceneKit 객체의 지오메트리를 정의할 수 있다.SceneKit은 COLLADA 형식을 이용한 3D 씬(scene)의 가져오기 및 내보내기도 지원한다.SceneKit은 2012년 macOS용, 2014년 iOS용으로 처음 출시되었다.

기본개념

SceneKit은 SCNScene 클래스의 인스턴스인 루트 객체를 기반으로 씬(scene) 그래프를 유지 관리한다.SCNScene 객체는 대부분의 2D 라이브러리에서 발견되는 뷰 객체와 대략 동등하며, 창이나 다른 뷰 객체와 같은 디스플레이 컨테이너에 내장되도록 되어 있다.SCNScene의 유일한 주요 콘텐츠는 SCNnode 객체를 가리키는 rootNode에 대한 링크뿐이다.

SCNNodes는 SceneKit 계층의 주요 콘텐츠다.각 노드에는 옵션인 카메라, 조명 및 지오메트리 객체에 대한 이름 및 포인터와 함께 하위 노드의 배열과 부모에 대한 포인터가 있다.일반적인 씬(scene)에는 편리한 이름의 노드(종종 "루트")를 가리키는 단일 씬(scene) 객체가 포함되며, 주요 목적은 하위 노드 모음을 보유하는 것이다.어린이 노드는 장면에서 카메라, 조명 또는 다양한 지오메트리 객체를 나타내기 위해 사용할 수 있다.

단순한 장면(Simple Scene)은 일반적으로 SCNBox, 단일 SCNCamera, 하나 이상의 SCNLights와 같은 생성자 클래스 중 하나를 사용하여 단일 SCNGeometry 객체를 만든 다음 이 모든 객체를 별도의 노드에 할당함으로써 생성될 수 있다.그런 다음 하나의 추가 일반 노드를 생성하여 SCNScene 개체의 rootNode에 할당하고 모든 개체가 해당 루트Node의 하위 노드로 추가된다.

SCNScenes에는 또한 간단한 시청자와 유사한 작업 구현을 크게 용이하게 하기 위해 다수의 내장된 사용자 인터페이스 제어와 입출력 라이브러리가 포함되어 있다.예를 들어 씬(scene)의 autoenablesDefaultLighting을 설정하고 CameraControl을 true로 허용한 다음 COLADA 파일에서 읽은 객체 트리를 추가하면 몇 줄의 코드로 임의의 복잡성의 가시적 내용을 생성할 수 있다.Xcode와의 통합으로 Scene 자체는 어떠한 코드도 없이 Interface Builder의 창에 배치될 수 있다.

파일 이름 확장명 .scn을 사용하는 Wiseskit 아카이브 파일 형식이 있다.

참조

  1. ^ "SceneKit Apple Developer Documentation".