FLYP Markup Language

Рассмотрим язык FLYP в сопоставлении с HTML5 (SVG-графикой), что позволит провести знакомство с языком быстро, эффективно и очень наглядно. Аналоги из SVG будут представлены на желтом фоне, FLYP будет представлен на голубом фоне. Это демонстрационная страница. Полная интерактивная документация по языку FLYP будет поставляться вместе с Flypoint 3D Browser. При этом, она написана на самом языке FLYP, и предоставляет возможность проверить работу каждого элемента и параметра. На видео Flypoint 3D Browser. Shapes можно увидеть интерактивную справку по FLYP в работе

Если вы не видите рисунки слева на желтом фоне, то ваш HTML браузер не поддерживает SVG

Line

Точки во FLYP могут быть как двумерные, так и трехмерные. Если нужна линия в пространстве, то ее точки могут быть определены так: a="20,40,10" b="180,160,30". Таким образом, координата z опциональна. Кроме этого, FLYP позволяет сослаться на точку: a="#pnt", где pnt - id точки, объявленной как <point id="pnt" x="20" y="40" z="10"/>. Это дает широчайшие возможности для управления сценой

Circle

В примерах SVG опущены параметры настройки области просмотра. Во FLYP готовить область просмотра нет необходимости, т.к. параметры камеры выставляются автоматически и управляются пользователем. FLYP также не содержит инструментов управления единицами измерения для связи пикселей с миллиметрами, например. 3D сцена может быть описана любыми единицами и показываться при этом единообразно

Spline

В SVG очень тяжело работать со сплайнами, т.к. path содержит не только точки самого сплайна, но и символы, указывающие на такие математические термины, как, например, кубические и квадратные кривые Безье. Кроме этого, path содержит координаты направляющих кривых, которые не лежат на самой кривой. Во FLYP - это просто слово spline и его точки! Мы постарались спрятать от пользователя математику как можно глубже

Composite

Сложность элемента path в SVG обусловлена его универсальностью - он может содержать как отрезки линий, так и гладкие кривые. Мы пошли дальше, и наш composite может, кроме того, содержать кривые любых типов - дугу, например. При этом composite намного проще - в нем есть возможность максимально наглядно задать точки непосредственно в элементе. FLYP composite также трехмерный и полностью анимированный! Больше не нужно задавать касательные для гладкого примыкания - FLYP это сделает автоматически, нужно только задать символ примыкания

Area

Замкнутые кривые в SVG могут иметь заливку. Во FLYP нет необходимости вводить такую заливку, т.к. в нем есть поверхности. Таким образом, кривые и поверхности разделены и имеют свои особенные свойства. Можно, например, двигаться по кривой или поверхности, рисовать кривые на поверхности, задавать границы поверхностей особым стилем, использовать кривые для создания поверхностей выдавливания, например, и т.д. В данном случае аналогом залитого прямоугольника SVG со скругленными углами, является специальная поверхность rect-area

Transformation

Позиционирование элементов во FLYP выполняется очень легко через параметры pos и ang. Вложенность элементов друг в друга означает также вложенность систем координат. Выше приведен FLYP-код 3D сцены, изображенной на рисунке - это очень компактный и нагляный код! Вместо элементов, SVG предлагает универсальный тег g. Чтобы с его помощью просто сдвинуть и отмасштабировать рисунок, нужно написать следующее:

Это же самое во FLYP выполняется простым указанием pos="20,40" scale="1.3" в параметрах элемента. Пытаться повторить позиционирование пяти элементов в SVG, как в исходном FLYP примере, даже не будем - это очень сложно, несмотря на то, что это всего лишь 2D

Elements

Во FLYP есть структурные элементы - site, building, storey. Их можно сравнить с такими элементами HTML5 как body, article, section, aside и т.д. Тег svg можно сравнить с element во FLYP, но это достаточно условные сравнения, т.к. site, building, storey и element идентичны друг другу. Есть лишь условие, по которому element не может содержать в себе building, например и т.п.

Каждый элемент во FLYP может содержать внутри себя несколько вариантов геометрии, разнесенной по представлениям (body, plan, annotation) и описательную секцию var, которая не отображается на экране. В этой секции находится не только скрытая геометрия, на которую можно сослаться из представлений, но еще и описательная часть, состоящая из параметров. Структура данных такова, что с ее помощью можно, например, построить цифровую модель здания, удовлетворяющую требованиям стандарта Industrial Foundation Classes. Каждый элемент может также содержать внутри себя другие элементы и быть при этом таким же сложным и содержательным, как целый HTML-сайт!


Мы начинаем серию видео уроков по созданию моделей во Flypoint 3D Browser

Идея в том, чтобы показать процесс создания шаг за шагом, начиная с пустого шаблона и заканчивая анимированным интерактивным миром!

В этом кратком обзоре остались за скобками такие потрясающие возможности FLYP, как:

Анимация всех параметров элементов и геометрии

Механизм реакции на события, позволяющий запускать волны возмущений по всей модели

Создание разнообразных 2D и 3D элементов управления, которые принимают события от пользователя

Списки представлений, в которых могут находиться персонажи компьютерной игры, созданные во внешних редакторах сеток

Возможности геометрического ядра, не уступающие таковым в CAD системах

Виды и камеры, позволяющие превратить ваш 3D сайт в аналог любой игры - action, стратегия, авто симуляторы и симуляторы полета

Возможности построения больших сцен с использованием параметрических миров, созданных кем-то ранее

И наконец, эти и многие другие возможности FLYP позволяют создать глобальную виртуальную реальность с игровым, деловым, либо научным поведением!

Глобальная виртуальная реальность. Примите участие в создании нового 3D интернета