Архив рубрики: Решения

Создание шутера на Alternativa3D от Тома Крха

Мастер-класс от Тома Крха по созданию простого 3D-шутера с использованием Flash Stage 3D API и Alternativa3D 8. Подробно по шагам описывается процесс разработки игры: создание сцены, добавление персонажа, движения, стрельба, перемещение камеры, анимации и многое другое (на английском языке). tom_krcha.png

AlternativaPhysics к вашим услугам!

Сегодня, 20 декабря 2011 года, благополучно состоялся первый публичный релиз физического движка AlternativaPhysics. Технология поставляется в виде SWC-библиотеки и распространяется совершенно бесплатно. Согласно лицензионному соглашению, ее можно использовать в том числе и в коммерческих проектах при условии размещения ссылки на наш официальный сайт alternativaplatform.com.

AlternativaPhysics — это движок для моделирования физического взаимодействия тел различной формы в среде Flash, реализованный на ActionScript. Технология позволяет добавлять объекты на сцену, задавать их физические свойства, управлять ими, моделировать их поведение в соответствии с законами физики. Интегрирована с Alternativa3D для более простого и удобного использования.

Особенности AlternativaPhysicsВысокое быстродействие
Движок оптимизирован с учетом особенностей языка ActionScript 3 и технологии Flash. Это особенно важно для браузерных приложений, учитывая значительные ограничения в используемой памяти и в быстродействии для кода, запускаемого в браузере.

Разнообразие геометрических форм
AlternativaPhysics поддерживает объекты произвольной формы, при этом для каждой формы алгоритмы определения столкновений специально оптимизированы.

Базовые формы
Треугольник, прямоугольник
Сфера, Бокс
Цилиндр, конус
Произвольный выпуклый многогранник

Универсальные формы
Иерархический примитив. Задает тело, состоящее из нескольких базовых примитивов.
Треугольный меш. Задает поверхность произвольного (в том числе невыпуклого) тела.

Устойчивость сложных конструкций
В ходе физической симуляции в AlternativaPhysics сохраняется устойчивость неподвижных конструкций различной сложности, состоящих из большого числа тел (в т. ч. стек, пирамида и другие). Это позволяет избегать ситуации, когда объекты, которые в реальном мире неподвижны, при симуляции начинают трястись, вибрировать, что, в конечном итоге, может привести к разрушению конструкции.

Поддержка ограничений (joints)
Вы можете накладывать ограничения на движение/положение двух объектов относительно друг друга.

    • Максимальное расстояние. Расстояние между двумя объектами, на которых наложено ограничение, не может превышать заданной величины. Например, можно реализовать подвешенный на веревке шарик, задав ограничения на точки крепления веревки с максимальным расстоянием, равным длине веревки.
    • Фиксированное расстояние. Расстояние между двумя объектами, на которых наложено ограничение, должно быть равно заданной величине. Например, шарик, подвешенный на стержне.
    • Шаровое соединение (ball-in-socket). Расстояние между двумя объектами должно быть нулевым. С помощью такого ограничения можно реализовать суставы.
    • Вращательное, шарнирное соединение (hinge). Два объекты, связанных этим ограничением, могут только вращаться относительно друг друга вокруг заданной оси. Например, колесо на элементах подвески.

Интеграция с Alternativa3D
В дополнение к физическому движку предоставляется библиотека, которая позволяет удобно работать с физическим поведением и изображением одного и того же объекта, используя графический движок Alternativa3D. Физический объект не имеет графического представления сам по себе, поэтому для облегчения моделирования графическое и физическое представление объединяются в один объект. Также в библиотеку интеграции входит класс PhysicsSprite, который инициализирует и автоматически обновляет графическую и физическую сцену. Библиотека предоставляется с исходным кодом. Пример использования находится в базе знаний: Введение в AlternativaPhysics.

Нативная система событий
Поддерживаются следующие типы событий: начало обновления сцены, окончание обновления сцены, появление контакта. Добавление и удаления слушателя на событие — это привычные функции addEventListener и removeEventListener. Более подробно использование событий рассматривается в уроке События в AlternativaPhysics.

Пробуйте, делитесь впечатлениями!

Запустите демонстрацию
Скачайте AlternativaPhysics
Прочитайте документацию
Посмотрите уроки
Обсудите AlternativaPhysics на форуме

editor.alternativaplatform.com превратился в AlternativaPlayer

Коллеги, с сегодняшнего дня наш онлайн-просмотровик, ранее известный под рабочим названием editor.alternativaplatform.com, официально именуется AlternativaPlayer. Он размещен по адресу a3dplayer.com и позволяет, напомним, не только просматривать 3D-модели, но также публиковать их в блогах и на сайтах.

Подробнее о просмотровике в предыдущих новостях и на официальном форуме.

Обновление AlternativaGUI 5.17.0

Библиотека для создания интерфейсов AlternativaGUI обновлена до версии 5.17.0.
В новой версии реализованы классы RadioButton и CheckBox, исправлены ошибки в классах List и Tree, а также внесены другие изменения и исправления.

Добавлено в AlternativaGUI 5.17.0

  • Реализован класс Logo.
  • Реализован класс RadioButton.
  • Реализован класс CheckBox.
  • List: появилось свойство scrollBarSpace — зазор между контентом и скроллбар.

Исправлено в AlternativaGUI 5.17.0

  • List: поправлен поиск по буквам.
  • List: поправлена работа стрелок.
  • Tree: при клике на папку элемент теперь выделяется.
  • CheckBox: исправлена проблема с размером при создании.
  • ScrollPane: исправлен баг появляющийся из-за отсутствия ScrollBar.
  • TabPanel: появился геттер и сеттер на selectTab — индекс выбранной вкладки.
  • AlternativaGUIDefaultTheme 1.3.0: исправлена ошибка, когда курсор мыши не выделяет объекты под выпадающим меню (класс DropDownMenu).

Скачать AlternativaGUI 5.17.0.

AlternativaGUI — простой способ создать комплексный интерфейс

Библиотека для создания пользовательских интерфейсов AlternativaGUI вышла в свет. Загрузить ее можно с официального сайта компании AlternativaPlatform в разделе GUI. Библиотека распространяется бесплатно и может беспрепятственно использоваться в том числе в коммерческих проектах. Согласно лицензионному соглашению нужно лишь указать в описании проекта ссылку на сайт alternativaplatform.com.

AlternativaGUI обеспечивает большую гибкость в плане создания новых компонентов интерфейса или доработки существующих, что достигается за счет использования только базовых классов. В библиотеке представлен широкий набор элементов пользовательского интерфейса: кнопки, контейнеры, линейные контейнеры, скроллбар, утилиты для работы с растровой графикой и другие.

Особенности AlternativaGUI

  • Высокое быстродействие
    Быстродействие достигается слаженной работой всех компонентов интерфейса в одной системе. В базовых классах реализован только самый необходимый функционал, отсюда низкий расход ресурсов.
  • Гибкость
    Библиотека позволяет создавать различные графические элементы и может контролировать их свойства. Простота и понятность API библиотеки позволяет расширять все классы очень легко и дополнять именно тем функционалом, который нужен вам.
  • Лодируемость элементов
    AlternativaGUI позволяет разрабатывать интерфейс под различные разрешения экрана. Для этого применяется лодирование элементов (от LOD — Level Of Details) и их корректное масштабирование (для компонентов с растровой графикой). Каждый лодируемый элемент имеет несколько графических состояний (лодов). При переключении лода может меняться размер шрифта, размер иконки, могут быть скрыты неважные элементы или, наоборот, открывается дополнительная информация. Эту логику описывает разработчик. Переключение лода происходит автоматически. Особенно полезным лодирование может быть при разработке интерфейсов для мобильных устройств с различными разрешениями экранов.
  • Быстрота создания уникальных компонент
    Благодаря использованию базовых классов, создание и управление компонентой проходит на более глубоком уровне. Базовые классы не содержат никакой графики и определяют только логику работы компонентов.
  • Интуитивно понятный API
    Работа с компонентами AlternativaGUI похожа на работу со стандартными классами типа Sprite.

Для быстрого прототипирования интерфейсов была разработана заскинованная библиотека AlternativaGUI Default Theme, которая содержит основные компоненты. Данная библиотека предоставляется с исходным кодом.

Загрузить AlternativaGUI
Читать документацию
Открыть демонстрацию в новом окне

Онлайн-просмотровик моделей обновлен

Встречайте свежее обновление онлайн-просмотровика моделей editor.alternativaplatform.com.

В новой версии:

  • добавлена поддержка формата 3ds;
  • добавлена возможность просматривать анимацию модели;
  • добавлена возможность экспортировать сцену в A3D;
  • проведен редизайн интерфейса приложения.
  • Также в новой версии просмотровика проводится более подробная диагностика нарушений лимитов движка и флеш-плеера загруженной моделью. Например, в случае превышения максимально допустимого количества вершин в каком-либо объекте пользователь получает соответствующее уведомление.



    Плагин для 3DS Max 2012 к вашим услугам

    В разделе «3D-движок» на официальном сайте AlternativaPlatform появился плагин для 3DS Max 2012. Он добавляет возможность импорта/экспорта 3D-моделей в формате A3D. Плагин реализован как для 32-, так и для 64-битных версий 3DS Max 2012.

    Новый проект на Alternativa3D 8

    На движке Alternativa3D 8 появляются новые интересные проекты.
    Недавно на форуме разместили ссылку на проект Ticket3D — приложение для выбора места в кинотеатре.

    ticket3d

    В текущей версии есть возможностью посмотреть на экран с понравившегося кресла, осмотреть зал с разных точек.
    Проект создан группой независимых разработчиков из Испании.

    Обновление Alternativa3D и спецификация формата A3D

    В новой версии мы добавили парсер формата 3DS, добавили метод поиска пересечения луча с геометрией, реализовали экспорт в бинарный формат.
    Скачать Alternativa3D 8.17.0.

    Бинарный формат A3D теперь поддерживает скины и источники света.
    Скачать спецификацию формата A3D.
    Скачать плагин для экспорта в A3D формат из 3DSMax 2010.
    Скачать плагин для экспорта в A3D формат из 3DSMax 2011.

    Также ряд изменений претерпел просмотровик моделей editor.alternativaplatform.com.

    Добавлено в Alternativa3D 8.17.0:

    •  ParserA3D: Поддержан импорт объектов типа Skin и источников света;
    •  Реализован класс Parser3DS для импорта моделей из формата 3DS;
    •  Реализован intersectRay() — метод поиска пересечения луча с объектом типа Mesh;
    •  Реализован класс AxisAlignedSprite для отображения плоскости направленной по одной оси к камере;
    •  Реализован экспорт в бинарный формат A3D;
    •  Добавлен режим отладочного отображения границ объектов;
    •  Добавлен примитив Plane;
    •  Теперь примитив GeoSphere имеет после создания нормали и тангенты вершин;
    •  Поддержаны карты нормалей с левосторонней системой координат в StandardMaterial.

    Изменено в Alternativa3D 8.17.0:

    •  Decal: изменена логика работы и убрано свойство offset;
    •  StandardMaterial: исправлена ошибка с освещением от некоторых источников света;
    •  FillMaterial: цвет по-умолчанию в конструкторе изменен на серый;
    •  Box: оптимизирован конструктор;
    •  Box: исправлена ошибка в клонировании примитива, в связи с которой сурфейсы дублировались;
    •  WireFrame.getResources() теперь учитывает параметр resourceType.

    Изменения в просмотровике моделей:

    •  Сохранение настроек экспорта и публикации в SharedObjects;
    •  Автоматическое деление скина с большим количеством костей;
    •  Различные улучшения в интерфейсе, фикс багов.