24 апреля 2011 г.

Первый уровень Doom2 на Alternativa3D 7

Подключил к своему контроллеру FirstPersonController определение столкновений. Теперь персонаж может ходить по уровням не опасаясь болезни прохождения сквозь стены. Добавил прыжок клавишей Space.

Для тестирования функционала решил построить подобие первого уровня игры Doom 2. Пришлось вспомнить давно забытые навыки 3d-моделирования. Уровень смоделил достаточно быстро, а вот текстурировать пришлось почти 8 часов. Сначала хотел сделать более качественные копии оригинальных текстур уровня, но потом понял, что времени это занятие отнимет массу и сделал "примерно".

19 апреля 2011 г.

Определение столкновений в Alternativa3D 7

Определение столкновений трехмерных объектов при разработке большинства трехмерных анимированных, а тем более интерактивных сцен, является одним из важнейших аспектов. API Alternativa3D 7 предоставляет один из вариантов решения этой проблемы посредством класса EllipsoidCollider. В этом моем уроке вы можете познакомиться с технологией ближе.

Ну, а на мувике можно видеть процесс вычисления столкновений нагляднее.

15 апреля 2011 г.

Стрельба по бутылкам в Alternativa3D 7

Немного подправил FirstPersonController и реализовал стрельбу, что вылилось в простенький шутер. Перемещаться можно с помощью клавиш WSAD или стрелочками. Обзор мышью включается/отключается клавишей L. Если вдруг :) закончатся бутылки — жмем R.

14 апреля 2011 г.

Контролер FirstPersonController для Alternativa3D 7

Реализовал контроллер вида от первого лица на API Alternativa3D 7. По небольшому миру с маркерами можно перемещаться с помощью клавиш WSAD или стрелочками. Обзор мышью включается/отключается клавишей L.

Назначение пользовательских клавиш, реализация прыжка, приседания, регулировка чувствительности мыши — это уже "дело техники".

12 апреля 2011 г.

Камера HoverCamera3D для Alternativa3D 7

Часто поведение нативного контроллера Альтернативы SimpleObjectController не удовлетворяет потребностям и я решил немного расширить возможности движка. Прочитать урок, посвященный созданию камеры HoverCamera3D, подобной камере в Away3D можно здесь. Код урока можно загрузить отсюда. Смотрим.

С днем космонавтики, друзья!

11 апреля 2011 г.

Расширение класса при создании свойствами метакласса в Python 2.6

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

1 апреля 2011 г.

Flash3D, Molehill. Добавляем трехмерный объект

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

Так как мы будем использовать мощности графической карты, посредством API Molehill, то мы можем загрузить гораздо больше полигонов без ущерба для производительности, чем при использовании софтверного рендеринга. Геометрия в графическую карту загружается с использованием вертексного буфера. В один вертексный буфер API Molehill позволяет добавить максимум 65535 вершин с максимальным числом атрибутов на вершину — 8 (256 байт). Для наших целей этого будет вполне достаточно.