SceneKit , иногда называемый Scene Kit , представляет собой программный интерфейс приложения трехмерной графики (API) для платформ Apple Inc., написанный на Objective-C . Это высокоуровневый фреймворк, предназначенный для обеспечения простого в использовании уровня поверх API нижнего уровня, таких как OpenGL и Metal . [1] SceneKit поддерживает граф сцены на основе объектов , а также физический движок , систему частиц и ссылки на Core Animation и другие фреймворки, чтобы легко анимировать это отображение. Представления SceneKit можно смешивать с другими представлениями, например, позволяя Двухмерный дисплей SpriteKit, отображаемый на поверхность объекта в SceneKit, или UIBezierPath из Core Graphics для определения геометрии объекта SceneKit. SceneKit также поддерживает импорт и экспорт 3D-сцен с использованием формата COLLADA . SceneKit был впервые выпущен для macOS в 2012 году и для iOS в 2014 году.
Основные понятия
SceneKit поддерживает граф сцены на основе корневого объекта, экземпляра класса SCNScene. Объект SCNScene примерно эквивалентен объектам представления, содержащимся в большинстве 2D-библиотек, и предназначен для встраивания в контейнер отображения, такой как окно или другой объект представления. Единственное основное содержимое SCNScene - это ссылка на rootNode, которая указывает на объект SCNNode.
SCNNodes - это основное содержимое иерархии SceneKit. У каждого узла есть имя и указатели на дополнительные объекты Camera, Light и Geometry, а также массив дочерних узлов и указатель на его собственный родительский элемент. Типичная сцена будет содержать единственный объект Scene, указывающий на узел с удобным именем (часто «корневой»), основной целью которого является хранение коллекции дочерних узлов. Дочерние узлы могут использоваться для представления камер, источников света или различных геометрических объектов в Сцене.
Простую сцену можно создать, создав один объект SCNGeometry, обычно с одним из классов конструкторов, например SCNBox, одной камерой SCNCamera, одним или несколькими светами SCNLights, а затем назначив все эти объекты отдельным узлам. Затем создается один дополнительный общий узел, который назначается корневому узлу объекта SCNScene, а затем все объекты добавляются как дочерние к этому корневому узлу.
SCNScenes также содержат ряд встроенных элементов управления пользовательского интерфейса и библиотек ввода / вывода, которые значительно упрощают реализацию простых средств просмотра и подобных задач. Например, установка autoenablesDefaultLighting и allowCameraControl для сцены в значение true, а затем добавление дерева объектов, считанного из файла COLLADA, приведет к созданию просматриваемого содержимого произвольной сложности с несколькими строками кода. Интеграция с Xcode позволяет помещать саму сцену в окно в Interface Builder вообще без какого-либо кода.
Существует формат файла архива Scenekit с расширением имени файла .scn.
Рекомендации
- «Введение в набор сцен» . Apple , Inc . 2012 г.
- Сепеда, Рикардо Рендон (8 октября 2014 г.). «Учебное пособие по набору сцен: начало работы» . Рэй Вендерлих .