Здесь рассказывается о принципах построения трёхмерных моделей в Alternativa3D.
Сцена
Базовый элемент трёхмерной модели в Alternativa3D является 3D-сцена (Scene3D). Сцена выполняет функции хранения объектов, координации расчётов и построения BSP-дерева.
Для начала работы в сцене должен быть назначен корневой объект (root), который задаёт глобальное пространство, в котором будут существовать все остальные объекты.
3D-объект
Все элементы трёхмерного пространства являются 3D-объектами (Object3D). Объекты организуются в иерархию, начинающуюся с корневого объекта сцены. Объект может быть указан в качестве корневого или добавлен к другому как дочерний.
Каждый 3D-объект обладает трансформацией (позицией, масштабом, поворотом) относительно своего родительского объекта. Трансформация наследуется в соответствии с иерархией (при изменении трансформации объекта верхнего уровня, автоматически происходят изменения ниже).
Создание объектов и их взаимосвязей может происходить независимо от сцены. В любой момент объекты можно встроить в иерархию сцены или удалить их оттуда.
Полигональный объект
Полигональные объекты (Mesh) являются трёхмерными объектами, состоящими из полигонов. Для построения геометрии используются вершины (Vertex), на базе которых строятся грани (Face). Для корректной работы грани должны быть выпуклыми многоугольниками. Грань также имеет нормаль (перпендикуляр к её плоскости), которая направлена в то полупространство, откуда грань будет видна из камеры.
Для облегчения работы с гранями существует понятие поверхности (Surface) как совокупности нескольких граней. Назначение материалов осуществляется именно поверхностям, а не граням.
Материал
Под материалами (Material) в Alternativa3D понимаются классы, осуществляющие визуализацию 3D-объектов. Материалы могут быть назначены полигональным поверхностям и обладают специфическими параметрами в зависимости от типа.
Камера
Камеры (Camera3D) являются 3D-объектами и добавляются в сцену по общему принципу. Камеры в качестве параметров имеют тип проекции (ортографическая или перспективная), угол обзора (fov), увеличение (zoom).
Для визуализации вида из камеры существует специальный класс View, который может быть добавлен в Flash-приложение как обычный графический объект.