SceneKit - SceneKit

SceneKit, иногда отображается Набор сцен, это 3D графика интерфейс прикладного программирования (API) для Apple Inc. платформы, написанные на Цель-C. Это высокоуровневый фреймворк, призванный обеспечить простой в использовании слой поверх API нижнего уровня, таких как OpenGL и Металл.[1] SceneKit поддерживает объектный граф сцены вместе с физический движок, система частиц, и ссылки на Основная анимация и другие фреймворки, чтобы легко анимировать этот дисплей. Представления SceneKit можно смешивать с другими представлениями, например, позволяя SpriteKit 2D-дисплей для отображения на поверхности объекта в SceneKit или UIBezierPath из Основная графика для определения геометрии объекта SceneKit. SceneKit также поддерживает импорт и экспорт 3D-сцен с помощью КОЛЛАДА формат. SceneKit был впервые выпущен для macOS в 2012 году и iOS в 2014.

Базовые концепты

SceneKit поддерживает граф сцены на основе корневого объекта, экземпляр класса SCNScene. Объект SCNScene примерно эквивалентен объектам представления, содержащимся в большинстве 2D-библиотек, и предназначен для встраивания в контейнер отображения, такой как окно или другой объект представления. Единственное основное содержимое SCNScene - это ссылка на rootNode, которая указывает на объект SCNNode.

SCNNodes - это основное содержимое иерархии SceneKit. Каждый узел имеет имя и указатели на дополнительные объекты Camera, Light и Geometry, а также массив дочерних узлов и указатель на его собственный родительский элемент. Типичная сцена будет содержать единственный объект Scene, указывающий на узел с удобным именем (часто «корневой»), основной целью которого является хранение коллекции дочерних узлов. Дочерние узлы могут использоваться для представления камер, источников света или различных геометрических объектов в Сцене.

Простую сцену можно создать, создав один объект SCNGeometry, обычно с одним из классов конструкторов, таких как SCNBox, один SCNCamera, один или несколько SCNLights, а затем назначив все эти объекты отдельным узлам. Затем создается один дополнительный универсальный узел, который назначается корневому узлу объекта SCNScene, а затем все объекты добавляются как дочерние элементы этого корневого узла.

SCNScenes также содержат ряд встроенных пользовательский интерфейс элементы управления и библиотеки ввода / вывода, чтобы значительно упростить реализацию простых средств просмотра и подобных задач. Например, установка для Scene параметров autoenablesDefaultLighting и allowCameraControl в значение true, а затем добавление дерева объектов, считываемого из файла COLLADA, приведет к созданию просматриваемого содержимого произвольной сложности с помощью нескольких строк кода. Интеграция с Xcode позволяет разместить саму сцену в окне в Разработчик интерфейса, вообще без кода.

Существует формат файла архива Scenekit с расширением имени файла .scn.

Рекомендации

  1. ^ «SceneKit | Документация для разработчиков Apple».