Деревья в Diablo 3

в 18:18, , рубрики: diablo 3, game development, графика, игры, Работа с анимацией и 3D-графикой, секреты графики

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

Когда я впервые увидел деревья в Diablo 3 на скриншоте, заметил одну особенность. Их силуэты были сглажены, в то время как на других объектах были видны типичные «ступеньки» отсутствующего сглаживания.

image

Я не поверил своим глазам, когда увидел, как они сделали деревья.

Они нарисовали их (alpha8) на изогнутых плоскостях. Да, с таким подходом их можно было использовать лишь с определённой перспективы, но и выглядели они просто невероятно детализированно. Благодаря тому, что вращение камеры — вообще необязательный атрибут в ARPG, Blizzard в очередной раз доказали, что они — мастера в комбинации графики и геймплея.

image

Роберт попросил в комментариях более качественную гифку, да и мне, если честно, никогда не нравилось качество той, которую вы можете увидеть чуть выше. Благодаря великолепному конвертеру APP-OBJ Роберта (.APP — это тип файлов моделей Diablo 3 в MPQ-архивах), мне удалось сделать вот такую вот красоту в отличном качестве:

image

А ещё Роберт спросил, разве нельзя было достичь того же результата с «реальной» геометрией? Вот мой ответ: конечно, можно, но для такого уровня детализации понадобилось бы намного больше полигонов. Вот, для примера, одна ветка:

image

Для этой красивой ветви они использовали всего лишь 2 треугольника вместо х-тысяч на «реалистичную» модель. Кстати, никогда не забывайте, что даже самая большая мега-супер-хайполи-модель (хайполи — от англ. highpoly, т.е. с большим количеством полигонов — прим.пер.) рендерится на плоскую поверхность (фрейм-буфер или, если проще, ваш монитор). Так что если мы не говорим про Oculus Rift (или другие технологии, которые предоставляют «реалистичное» 3D) и в игре нет возможности сильного изменения перспективы (поворот камеры, масштабирование и т.д.) то, возможно, лучше не сходить с ума и просто использовать 2D-элементы вместо тысяч полигонов. Но это моё мнение, которое можно оспорить.

Кстати, если интересно — вот текстура дерева (слева: diffuse, справа: альфа). Сложно смотреть на них без зависти… они такииие красивые!

image

Вопрос в следующем: почему не прибегать к такому методу почаще? Я думаю, это из-за тяжести такого решения. Рассматривать компьютерную графику с традиционной художественной перспективы всё время нелегко. Особенно когда есть люди, которые только и хотят офигенных новых технологий. «У вас ведь 3D-движок? Значит мы хотим поворачивать камеру!». И если человек, который говорит подобное, выше тебя по должности, то твои аргументы, мол вращение камеры не обязательно (либо для геймплея, либо для художественной части игры), будут биться как об стену горох.

Ещё бы рекомендовал посмотреть всю презентацию. Увидеть подход Blizzard в области компьютерной графики — это очень круто и познавательно, особенно, когда вокруг люди, которым только и подавай новые технологии какого-нибудь DX99 — и плевать, что они не нужны игре.

Дополнение #1

Роджер подарил нам новый конвертер моделей Diablo 3! Поскольку в дополнении Reaper of Souls они поменяли формат .APP файлов (модели Diablo 3), старый конвертер не работал. Также вам нужен будет vcredist_x86.exe (содержащий msvcrt*.dll) — его вы можете скачать на сайте Microsoft (я скачивал немецкую версию, а вы не забудьте выбрать нужный вам язык).

Спс, Роджер!

Автор: devcor

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js