24 декабря 2010

glVehicles: Грузовичок, а также привязка графики.

А-га-гась! Снова на связи, и я готов заняться писаниной :)... Трепещите!
Вообще, реалистичные физические взаимодействия в играх используют катастрофически часто... Ныне, когда мощности компьютеров хватает на быстрый просчет соударений, разлетов тел, погружений в жидкость, "отлетаний" от выстрелов и много другого, физикой в играх никого не удивить. Поэтому можно найти отличное применение и множество инноваций в геймплее! То, что приходит на ум из "инди", это: Intrusion, World of Goo, Gish, Lugaru, Gibbets, Braid.
Геймплей, построенный на физике, меня всегда привлекает. Вдохновившись игрой Mining Truck, и, чтобы немного оживить glVehicles, решил смастерить что-то подобное.
Скриншот:

В итоге вышло следующее:
Также, чтобы немного прояснить ситуацию с привязкой нормальной графики (вместо дебаг-отрисовки) к физическим телам. Поэтому в Demo-6 соединены две вещи - с одной стороны появился новый транспорт, перевозящий замечательные прямоугольники, олицетворяющие собой кирпичи/торты/книги/ящики с гранатами - кому как угодно :) С другой же стороны, в этой демо доступен тестовый режим отрисовки колес нормальными, человеческими, удобными со всех сторон спрайтами.
Чуть расскажу об этой привязке графики. В пунктах это выглядит так:
  • добавился метод InitMaterials; в котором происходит добавление нужного нам материала под названием "wheel"
  • внутри FormCreate создается объект fWheelSprite, ему выставляются размеры, а также присваивается материал "wheel", проинициализированный в предыдущем пункте
  • при нажатиях клавиш "1" и "2" на клавиатуре, изменяется значение флага fDoDrawSprite, который отвечает за способ отрисовки колес - привычная дебаг-отрисовка кругами или отрисовка спрайтов
  • в событии OnDirectRender() добавился рендер колес транспорта при выставленном fDoDrawSprite в значение true.
  • что нам нужно знать для правильной отрисовки спрайта колеса? положение и угол поворота, верно? ну так вот эти значения легко достаются из TBox2d_CustomBody.
Картинка со спрайтовыми колесами:
Времени и графики обвязывать все остальные объекты, такие как кузов, деревца, стены и преграды - просто нет... Если у кого имеются подходящие легальные спрайты под это все - постараюсь внедрить, чтобы выглядело более опрятно.
    Вот и всё... обновляемся (сейчас 18 ревизий), компилируемся, запускаем, доставляем грузы на тачанке, смотрим привязку графики к физике и желаем всем хорошего настроения в новом году!
    А я постараюсь накидать еще одну (уже 7ую) демку и описать результаты здесь, следите за обновлениями!

    Сообщения, схожие по тематике:

    0 коммент.:

    Отправить комментарий