Как сделать рендеринг ландшафта в 2.5D перспективе, как в игре Don't Starve?

10

У меня есть опыт в создании 2D-игр с боковой прокруткой, таких как Terraria, но теперь я хочу испытать себя и создать игру с перспективой 2.5D . Игра, которую я пытаюсь имитировать, - «Не голодать». Прямо сейчас мой фокус на выяснении, как сделать землю. Я с трудом выясняю, как они создали землю, а затем оказал ее. Я думаю, что они визуализировали землю, сначала рисуя землю в некоторой программе рисования, а затем каким-то образом манипулируя этим плоским изображением, чтобы оно имело глубину.

Меня совершенно смущает, как бы вы на самом деле отображали этот тип местности. Я хочу, чтобы местность имела следующие особенности:

Любые советы и подсказки будут оценены, спасибо заранее.

(Я работаю на Java, используя легковесную библиотеку игр Java (LWJGL).)

Хамдан
источник

Ответы:

34

Вообще-то, я один из разработчиков Don't Starve (Кевин на наших форумах). Я обычно не занимаюсь рендерингом, но могу сказать, что игра в 3D. Земля - ​​это обычная 2D-карта тайлов со специальными переходными элементами, чтобы углы выглядели лучше. Специального округления в стиле Deathspank не происходит, хотя мы уже говорили об этом в прошлом.

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

Вид, который это дает, работает для небольшого диапазона углов обзора камеры. Если вы зайдете слишком высоко, вертикальные вещи будут странно ракурсированы. Достигнуть по-настоящему низкого уровня немного лучше, но играть в игру слишком сложно, потому что вы не можете видеть позади вещей или чего-то «южного» вашего персонажа. Нахождение правильного компромисса между этими двумя крайностями потребовало кучу экспериментов.

В любом случае, если у вас есть какие-либо другие вопросы о технологиях, стоящих за игрой, мы довольно дружелюбны и откровенны о таких вещах на форумах klei :)

Kevin
источник
youtube.com/watch?v=vtYvNEmmHXE youtube.com/watch?v=-Q6ISVaM5Ww Мне нравятся эти концепции
SHiRKiT
3

Я не могу точно сказать, как эта игра сделала это, но из видео это выглядит так, будто это обычный мир трехмерных игр, в котором спрайты с рекламными щитами используются для игровых объектов. Подобные игры включают в себя некоторые из игр Paper Mario и серию Death Spank.

Визуализируйте свою местность как 3D с помощью перспективной камеры. Может быть, примените какой-нибудь простой вершинный шейдер, чтобы получить немного больше «округлости» (Death Spank сделал это с большим эффектом, и похоже, что Don't Starve может иметь очень приглушенную версию того же эффекта; трудно сказать).

Для ваших игровых объектов создайте спрайты и сделайте так, чтобы они всегда были обращены к камере (это называется «рекламный щит»). Есть много учебников о том, как добиться биллбординга в Интернете, например, http://www.lighthouse3d.com/opengl/billboarding/

Шон Миддледич
источник