MakeHuman

Октябрь 24th, 2015, SEvg



Думаю, надо осветить ещё один оpen source проект, который может потребоваться в разработке игр. И так, встречайте MakeHuman (распространяется под лицензией CC0). Программа предназначена для создания реалистичных 3D моделей людей.


В MakeHuman насчитывается свыше 1000 различных параметров для создания персонажа: возраст, пол, высота, вес, пропорции тела и лица, глаза, нос, рот, подбородок, уши, шея и многое другое. Доступны версии, для разных ОС: Linux, Windows, OSX. Проект написан на питоне (python). По заявлению разработчиков, сетка оптимизирована, для анимации и дальнейшего использования в таких программах, как Mudbox и Zbrush. Есть возможность экспортировать модели для Blender. Да и в самом Блендере есть плагин для импорта моделей сделанных в MakeHuman.
Текущая версия 1.0.2.

Скачать можно на официальном сайте.

XEffects

Октябрь 14th, 2015, SEvg


Из-за того что разработчики пытались годами сохранить совместимость с софтовыми рендерами, Irrlicht очень слабо использует шейдеры. Но не всех это устраивало – в результате была создана библиотека XEffects (текущая версия 1.4). В этой библиотеке реализована пост обработка, динамические тени и ещё приятные мелочи )) В библиотеке всё реализовано на шейдерах (glsl и hlsl), так что результат будет работать и под директом и под openGL. Исходники открыты, так что можно модифицировать под свои нужды.

Ссылки по теме:
исходники
обсудить на английском
обсудить на русском

Blender 2.76-rc2

Сентябрь 30th, 2015, SEvg
Blender 2.76

Новая версия Blender 2.76

Неделю назад вышла очередная версия самого продвинутого 3D редактора, из мира open source проектов. По заявлению разработчиков было исправлено багов и добавлено улучшений в количестве сотни штук, насколько это правда – судить не берусь )
Из самых значимых:

  • Добавлена поддержка технологии Open SubDiv от компании Pixar. Она представляет из себя – технологию визуализации поверхностей на основе уменьшенных(речь о количестве вершин и полигонов) моделей, с аппаратным ускорением.
  • Добавлено ещё два новых инструмента Flatten Faces и Edge Offset
  • Так же добавили поддержку пользовательских нормалей, для модификатора Displace (что из себя представляет – не знаю, даже не представляю)
  • Новый текстовый эффект (если правельно понял, то для вывода поверх отрисованой сцены)
  • Дополнен Freestyle NPR Rendering(это, как бы сказать, надо смотреть)

  • Импорт и экспорт формата FBX дополнен новыми опциями
  • В импорт и экспорт формата OBJ добавлена поддержка emmission(цвет самосвечения объектов)
  • И ещё множество дополнений, всё переводить просто надоедает. Смотрите сами

    Irrlicht 1.8.2 released

    Август 31st, 2015, SEvg

    Вышел очередной релиз движка, вернее слегка исправленный (профиксеный) вариант версии 1.8.1 (которая появилась 2 года назад).
    Что изменилось:
    1. Был обновлён файл glext.h (Давно уже пора было это сделать, в SVNверсии 1.9 изначально лежит самый последний)
    2. Добавлен файл проекта VS2013
    3. Исправлена ​​компиляции с IRR_LINUX_XCURSOR_ (у меня вроде всё нормально компилировалось)
    4. Исправлена ​​компиляции с NO_IRR_COMPILE_WITH_LIBJPEG_
    5. Исправлена ​​компиляции на GCC5 на MinGW
    6. Исправлена ​​загрузка моделей .X и .B3D с ненормированным Кватернионный вращений (помнится у кого-то были проблемы с .х)
    7. Исправлена ​​компиляции на BSD (интересно, сколько человек пользуют иррл, под BSD?)
    8. Исправлена ​​ошибка с несколькими вызовами SetPixelFormat
    9. Исправлена ​​ошибка, связанная с утечкой памяти в при в загрузчике PNG изображений.
    10. Исправлена ​​крах программы связаный с CGUIListBox
    11. Исправлена ​​userClipPlane (не понял, что там исправлено, но видимо что-то было не так)
    Ещё несколько исправлений в том же духе и предупреждение, что динамические библиотеки движка надо обновить, а то могут возникнуть проблемы не совместимости.

    Вот ссылка на оригинал.
    Скачать Irrlicht 1.8.2 (23MB)

    OpenGL Mathematics (GLM)

    Август 26th, 2015, SEvg


    Всем доброго времени суток.
    Решил тут посмотреть библиотеку glm, ну и заодно осветить это дело на сайте. Библиотека очень похожа на GLSL (после пользования пдь вам будет проще изучить GLSL, ну и наоборот, если glsl знаете, то и библиотека покажется простой) Это математическая библиотека нацеленая на 3d, причём приближена к OpenGL.

    Все классы и функции расположены в пространстве имён glm.

    В библиотеке реализованы вектора и матрицы (int, float, double, bool), типы могут иметь разную точность. Множество функций (по сути они частично повторяют glsl функции).

    Также есть несколько дополнительных модулей, список тут. Модули добавляют фенкции, аналогов которы нет в glsl, но они могут быть очень полезны при программировании на с++. Для задействования дополнительных функций придётся подключать дополнительные заголовочные файлы.

    На мой взгляд библиотека привосходит по своим возможностям любую математическую часть, всех графических движков, что я видел.
    Лицензия MIT license.

    GUI, Редактор эффектов и набор прекрасных туториалов по физике!

    Февраль 20th, 2015, Bear

    1. По ходу написания Редактора эффектов (пока скорее частиц) Иррлихта был допилен irrLua HTML GUI. Теперь он имеет версию аж [v 1.0].
    2. Сам редактор частиц Иррлихта – идёт в комплекте. Редактор помимо того, что позволяет создавать простые эффекты и сохранять ноды эффектов в файл, позволяет понять структуру и основные возможности системы частиц Иррлихта, принципы работы с нодами и элементами нод “через аттрибуты”.
    (minGW, code::blocks, winXP)
    Тема.
    Анонс.

    3. На форуме внезапно был найден великолепный набор переводов посвящённых физике Irrlicht + Bullet. Спасибо переводчикам за огромный труд.
    Оставалось лишь оформить их в HTML (сделано).

    Пока ситуация следующая:
    Весь список физ.-движков поддерживаемых Irrlicht можно найти здесь: http://www.irrlicht3d.org/wiki/index.php?n=Main.PhysicsLibraries

    На данный момент думается, что
    - Лучшее (по тех. реализации) – это физ.-движок Bullet (минус – мало документации). Что частично исправлено представителями сообщества irrlicht.ru . Плюс: есть хороший враппер под Иррлихт, связь с физ движком “напрямую” минуя враппер.
    Единственно вопросы вызвают модели танков с фашистскими крестами. Будем надеяться, что техническая реализация к крестам не привязана. И можно будет задавать физику собственным танкам со звёздами… красными советскими звёздами…
    - На втором месте PhysX. Минус – не компилируется под minGW, завязан на VC++. Плюс: внятность, чёткость кода, привязка к железу nVidia (последнее же и минус).
    - На третьем ODE. В чём плюсы-минусы не знаю, но слышал множество негативных отзывов. Может быть и не справедливых. Но и по нему есть прекрасные туториалы.

    Итого:
    1. HelloWorld по irr + bullet (прекрасные туториалы!)
    2. Irrlicht 1.7.1 + PhysX v2.8.3 (под minGW+code:blocks тяжело откомпилировать)
    3. ODE: Настройка Irrlicht + ODE + Code::Blocks

    Еще раз огромное спасибо переводчикам за статьи и за труд! (всё же советовал бы указывать, что это перевод сразу)

    И успешного гамедева всем!

    Заготовка игровой сцены. Стартовая версия

    Январь 31st, 2015, Bear

    Здесь всё основано на минимальном проекте и пред-загрузчике “разговаривающем” с файловой системой по поводу составления списка элементов сцены.

    - К карте и скайбоксу добавлен новый ресурс – статика (статичные меши, модели). Преимущественно растения. И соответственно “загрузчик статики”.
    - Добавлен загрузчик шрифтов и комплект шрифтов.
    - В папку каждой модели добавлена лицензия и ссылка на то место, где модель была взята (включая скайбоксы и террэйны). О типах лицензий блее подробно в основном тексте статьи.
    - Создан “случайный распределитель”, который разбрасывает объекты по карте – каждый раз случайным образом (а отсюда пол шага до генерации случайных локаций).
    - А вот архитектура проекта значительно изменилась. На деле она стала более упорядоченной, но кому-то может показаться, что сложнее. Хотя добавление на карту новых ресурсов стало проще.

    Читать полностью.

    Конвертирование по форматам и азы Блендера

    Январь 25th, 2015, Bear

    Когда-то давно создал пару видеороликов (изначально как техдневник) по конвертироваиию из Блендера в *.x.

    И как показали недавние мытарства с конвертированием моделей вся эта информация отнюдь не потеряла актуальности. И по прежнему может быть крррайне актуальной и полезной.

    Часть 1. Туториал по конвертированию из *.blender в *.x формат: “Тонкости процесса”.

    СМОТРЕТЬ ПОЛНОСТЬЮ.

    Статья: Минимальный проект и пред-загрузка

    Январь 19th, 2015, Bear

    Система простая и эффективная: что-то вроде минимального приложения Иррлихта (показано как составить список всех устройств) + трудосберегающий файловый презагрузчик ресурсов + солидный, но при этом не большой по объёму набор начальных элементов сцены.

    В первую очередь система удобна для всяческих редакторов и для разработки (большое трудосбережение).
    Кроме того, в комплекте с исходным кодом идёт около 40 скайбоксов собранных на просторах интернета. И около 30 карт (терраинов) сгенерированных мною в L3DT с теми или иными настройками.

    Коротко говоря “в комплекте”:
    1) минимальный проект Иррлихта,
    2) большой набор скайбоксов и террайнов (подготовленных к загрузке в Иррлихт),
    3) интересный трудосберегающий приём “файлового презагрузчика” автоматически составляющего список всех ресурсов проекта согласно тому, что лежит в папке ресурсов (что в дальнейшем позволяет загружать ресурсы по имени файла ресурса, добавлять новые ресурсы-элементы сцены без изменения кода приложения).

    Файл примера прилагается.

    Читать полностью.

    С новым годом!

    И ещё статейка! “Передача в функцию аргументов как массива переменной длины”

    Октябрь 20th, 2014, Bear

    Метод позволяет:
    1) устанавливать переменное число аргументов любой ф-ции (как в Lua, но только в C++ )
    2) устанавливать аргументы “по умолчанию” для ф-ции вокруг которой “обёртка”
    3) проверять на валидность полученные аргументы.
    4) Всё это делать даже проще, чем в Си ф-циях с переменным числом аргументов.
    5) Всё это можно сделать очень быстрым, сначала установив подробные проверки на ошибки в период исполнения (что замедлит) с помощью директив прерпроцессора, а затем, отлавдив програму, сняв избыточные ловушки ошибок и проверки.

    Подобная структура способна очень значительно снизить трудозатраты (а заодно вероятность ошибок) при низкоуровневом программировании (win API или OGL или что-то подобное), когда постоянно приходится работать с функциями у которых дикое число аргументов.

    Это метод передачи в функцию C++ аргументов как массива переменной длины. То есть по факту функция C++ с переменным числом аргументов. Без использования шаблонов.

    Читать статью.

    Успешного гамедева!