Урок первый (интерфейс). На пожелание многих людей, я решил написать собственные уроки по двигателю "Open Space 3D". Немножко теории, а дальше - практика.
Динамические тени, импорт мешив. Система дня и ночи (Альфа-шаблон проекта "Wastelands - The New World" от меня)
Двигатель построен на основе графического движка OGRE, а это значит, что в вашем распоряжении целая палитра непревзойденных эффектов и наворотов: звуковое ядро от того же OGRE и физический движок "Newton Physics". Open Space 3D поддерживает почти все известные форматы трехмерных объектов, графических форматов, звуковых и др. Сетевая система построена на Java.Но это только цветочки! Встроенные функции позволяют облегчить и привлечь большинство разработчиков! К примеру, вы сможете создать в игре собственное радио или телеканал, который будет в онлайне транслировать видео с YouTube. И это все без единой строчки кода!
<a class="link" href="/go?http://i.piccy.info/i5/71/99/1379971/main.jpg" title="http://i.piccy.info/i5/71/99/1379971/main.jpg" rel="nofollow" target="_blank">
</a>
Главное окно редактора
Сам редактор состоит из четырех частей:
Первая - левая (список). Это окно сцены, где можно осмотреть все ресурсы, объекты, файлы, которые входят в сцену.
Вторая - Верхняя панель под меню (меню за часть не считаем).Первая кнопка "Play" определяет воспроизведения сцены прямо в редакторе. Вторая (Select) позволяет выбирать объекты. Третья (Move) дает возможность перемещать объекты. Четвертая (Rotate) - переворачивает их. Пятая (Scale) - изменяет размер.
Шестая (Grid) включает и выключает режим сетки (для лучшего ориентирования). Седьмая (Show / Hide Helpers) - включает и выключает информацию об объектах. Восьмая (Wire / Polygon) - кнопка переключения вида. Вы можете выбрать, как в окне будет показываться сцена - в режиме сетки или в режиме мира (рендеринга). Девятая (3D info) - включает и выключает информацию о FPS, скорость и т.д.
Третья часть - собственно само окно сцены, где мы видим игровой мир, рендер и т.д.
Четвертая часть - окно скриптов. Она расположена снизу. Там мы видим и создаем цепи скриптов. Это легче программирования, поскольку все делается методом алгоритмов. Например Таймер (3000 миллисекунд)> Закончился> Двигать объект "Куб" от "Сфера" до "Сфера 2", скорость "3".
Вот видеть, как все просто на самом деле? Позже мы разберем, как все правильно делать.Благодарю за внимание.
Источник (Автор: FenMix)
Добавлено (19.04.2011, 20:09)
---------------------------------------------
Урок второй (ресурсы).
Опять добрый день всем юзерам. Сегодня по матчасти движка Open Space 3D я расскажу о ресурсах.
В OpenSpace ресурсы представлены движком Ogre Engine. То есть, если вы ознакомлены с этим движком, то с созданием и импортом собственных ресурсов у вас проблем не будет. Уверенно можно сказать, что Open Space является "Графической оболочкой" для Ogre Engine.
Типы ресурсов:
Меши (Meshes) - основные 3D объекты, которые имеют собственные пропорции (физика, тени, свойства)
Материалы (Materials) - основные "шкурки".От текстурами отличаются тем, что обладают свойствами преломления (рефракция), Бамп-Маппинг, Карты нормалей и т.д. Также отличаются одной особенностью - это набор кода, который вызывает уже сами файлы текстур (png, jpg, bmp) и задает им свойства. Пример простейшего материала:
material Template / texture_map / / Название материала
{
technique
{
pass
{
texture_unit
{
texture projects / wastelands / sky.jpg / / Файл текстуры
scale 0.1 0.1 / / Увеличение текстуры (размер)
/ / This means that the texture will be tiled 10 times (1 / 10 = 0.1)
}
}
}
}
Рэгдоллы (Dummy) - Черт его знает, я еще не пробовал.
Камера (Camera) - Камера. Их может быть несколько. Только одна может быть активной.
Небо "Коробка" (Sky box) - Небо типа "коробки". Файл материала имеет четыре текстуры (верх, низ, левая часть, правая - к примеру).
Коробка "Полусфера" (Sky dome) - "Правильный" тип неба. Применяется например в Unreal Engine (знающие знают ^_^).
Небо "Земля" (Sky plane) - Нижняя часть бэкграунда. Больше подходит к авиа-симуляторам, так как создается иллюзия земли.
Похожая идея Sky Plane (Call of duty: United Offensive)
Спецэффект (Compositor) - Спецэффект, который использует шейдеры. Например Bloom, HDR, Radial Bloor. Активируется свойством "Enable".
Источник света (Light) - Свет. Имеет такие свойства, как цвет, тип (Постоянный, линейное ...)
Карта мира (Cube map) - Добавляется на карту.На материалах и поверхностях, на которых имеется изображение внешнего мира активируется этот эффект. То есть на дверной ручке мы можем видеть небо, землю, стенки и т.д.
Карта отражения (Reflective map) - Прилагается на карту. Почти то же самое, что и первое. Мы можем видеть на воде изображение мира, искажения воды и т.д.
Частицы (Particle system)- Это импортируемые системы частиц (также наборов кода, как и материалы). В файлах описывается тип, скорость, цвет частиц. С помощью этого ресурса создаются дым, облака, частичный туман (постоянный задается настройкой сцены).
Импорт мешов (Важная часть).
Для того, чтобы создавать и добавлять в сцену собственные объекты, вы должны создать модель (3ds, obj, mdl и т.д.), а позже импортировать с помощью редакторов. Полный список плагинов для редакторов смотрите на официальном сайте двигателя Ogre (Ссылка)
Или с помощью выборочных конвертеров мы конвертируем саму 3D модель - образуется *. mesh и *. material файлы. Иногда текстуры могут быть потеряны, поэтому файл материалов нужно будет редактировать самому.
Заходим в сцену, правой кнопкой мыши щелкаем по сцене (по сцене, а не по объекту:это очень важно, ведь могут быть ошибки с совместимостью объектов). Выбираем "Add mesh" и дальше вы все сами поймете.
Хочу отдельно сказать, что когда вы импортируете меш, всегда отключайте тени (а о тени мы говорим в следующем уроке). Объект может быть очень большим (в пропорциях) и буфер не выдерживает такого размера теней.Отсюда и ошибки в работе программы и дальнейшие выкрики на форумах "Open Space 3D" - полная лажа.
С вами был Игорь Крыжановский, до встречи в третьем уроке. Далее я расскажу о создании цепей кода (скрипта).