Виртуальная реальность. Технологии трехмерной интерактивной графики Adobe Flash API.
Прикладной программный интерфейс (API) Adobe Flash позволяет в режиме реального времени отображать не только двумерные объекты, но также и трёхмерные. Здесь необходимая нам трёхмерная графика создаётся программно во Flash, без подключения каких-либо сторонних графических пакетов. В результате получается файл размером несколько десятков килобайт(текстовый программный код), способный в формате SWF не только оображать трёхмерную графику, но и полностью управлять её содержимым.
Существует также альтернативный вариант - Swift 3D. Swift 3D является специальным 3D-графическим пакетом, одно из основных применений которого заключается в создании сайтов с трёхмерным контентом в формате SWF, то есть Adobe Flash. Технология создания такого рода трёхмерной графики достаточно проста, здесь мы создаём всю необходимую трёхмерную графику в Swift 3D, а затем импортируем во Flash.
таким образом мы имеем два основных способа создания трёхмерной графики в формате SWF(Adobe Flash). Например, если задаться целью построить трёхмерный куб, вращающийся вокруг своей оси в зависимости от нажатия клавиш управления направлением вращения с клавиатуры, можно воспользоваться программой Swift 3D. Здесь мы отдельно создаём трёхмерный ролик вращающегося куба, затем импортируем его в Adobe Flash, затем пишем сценарий на языке Action Script для управления воспроизведением такого ролика. Однако если нужно, чтобы при этом куб изменял свои размеры, цвет, характер вращения, - описанный выше метод реализации не подходит. Так как прийдется создавать отдельный ролик для каждого варианта анимации, что в большинстве случаев не возможно расчитать. Однако если использовать технологию Flash API - это всё становится вполне возможным. Основная сложность создания таких приложений заключается в том, что здесь необходимо создавать трёхмерную графику "с нуля", то есть на основе программирования целого математического аппарата, а не просто описания геометрических фигур, как в языке VRML/X3D и тем более без визуального контроля всей сцены, как в Swift 3D, 3DMax или Maya. Но здесь цель оправдывает затраченные силы и средства, так как мы в итоге можем создать полноценный трёхмерный интерфейс с максимальной степенью интерактивности.
Сноски:
|