|
Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения |
14.01.2012, 17:57
|
#1
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
2,5D
Помогите найти нормальные статьи по реализации 2,5D графики. Интересуют как "квадратные" ячейки, так и шестиугольные как в фолауте
|
(Offline)
|
|
14.01.2012, 20:03
|
#2
|
Знающий
Регистрация: 04.11.2011
Сообщений: 285
Написано 66 полезных сообщений (для 159 пользователей)
|
Ответ: 2,5D
аняня fallout 2
|
(Offline)
|
|
14.01.2012, 20:42
|
#4
|
Мастер
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений (для 1,836 пользователей)
|
Ответ: 2,5D
У JA2 исходники открытые, там правда ячейки квадратные.
http://ja2.su/opensours/source/gold_source.rar
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.01.2012, 21:35
|
#5
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: 2,5D
Ну как бы исходники разбирать нет интереса, особенно С++/С. Хотелось бы теорию просто.
|
(Offline)
|
|
14.01.2012, 23:55
|
#6
|
Мастер
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений (для 790 пользователей)
|
Ответ: 2,5D
В серии игр "Казаки" довольно красивая 2.5 графика
раз, два, три
В игре Blitzkrieg 2.5d графика комбинируется с трёхмерными танками (во второй части всё трёхмерное, не путать)
картинка
Советую воспользоваться редакторами карт - в них можно посмотреть, что и как реализовано
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.01.2012, 02:18
|
#7
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: 2,5D
В Blitzkrieg не то, тут чисто нарисованная карта походу.
|
(Offline)
|
|
15.01.2012, 13:28
|
#8
|
Чудо-кот
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений (для 1,471 пользователей)
|
Ответ: 2,5D
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.01.2012, 14:39
|
#9
|
Бывалый
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений (для 2,520 пользователей)
|
Ответ: 2,5D
pax, а я ещё видел про изометрию доходчиво в "Программирование стратегических игр с DirectX 9.0".
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.01.2012, 17:12
|
#10
|
ПроЭктировщик
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений (для 219 пользователей)
|
Ответ: 2,5D
Сделал пример шести-угольной изометрии (javascript, "онлайн" демка):
http://www.yellow.indieis.me/html5/iso6sided/
Исходный код там же. Демонстрирует определение координат, рисование, и выбор ячейки мышкой.
По-сути, шестиугольная изометрия является сеткой прямоугольников, где каждый второй ряд смещен на половину ячейки вправо. Если "наклон" на ячейках состовляет несколько пикселей, то можно даже не мучаться с определением точки внутри шестиугольника и просто делать выбор "по сетке".
Наиболее интересная часть начинается когда нужно делать нахождение пути по такой шестиугольной карте - реализация алгоритма (лучше всего модифицировать существующий A*) требует перемещения по ячейкам в 6 направлениях, для примера (смещения) это:
+1, 0
+1, -1
0, -1
-1, 0
0, +1
+1, +1
Надеюсь JavaScript достаточно хорошо выступает в роли концепции\псевдокода в данном случае)
__________________
Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
|
|
15.01.2012, 20:47
|
#11
|
Мастер
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений (для 790 пользователей)
|
Ответ: 2,5D
В Blitzkrieg не то, тут чисто нарисованная карта походу.
|
неа. Там хитро сделано. Есть карта высот, из неё делается сетка четырёхугольников, на них натягиваются текстуры. Дороги и реки задаются направляющей линией, причём можно регулировать их прозрачность и ширину в каждой точке. Здания - спрайты, каждое состоит из двух или трёх картинок - разной степени разрушенности, причём эти картинки рисуются все вместе, прозрачность каждой зависит от разрушений - здания при 40% и 42% прочности выглядят чуть-чуть по разному, второе чуть более светлое. Тень от деревьев тоже текстуркой добавляется на землю. Есть целая куча элементов, которые разнообразят карту : мох, пеньки, лужи, прогалины на зимних картах, вершины дюн в пустынях, обрывистые берега рек, болотины. Я увлекался созданием карт, этот процесс намного проще и быстрее рисования.
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
|
(Offline)
|
|
15.01.2012, 20:54
|
#12
|
Мастер
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений (для 1,836 пользователей)
|
Ответ: 2,5D
Наверно самоочевидные вещи.
В хоть квадратной хоть шестиугольной сетке можно выделить линии параллельные плоскости экрана. Эти линии говорят о очередности прорисовки, т.е. чем дальше линия от экрана тем раньше очередь рисования объектов стоящих в ячейках, которые эта воображаемая линия пересекает.
1. Рисуем тайлы земли т.к. они не закрывают ничего.
2. Рисуем всякую мелкую меблю за которой гг не может спрятаться, начиная с левого угла направо от самой дальней линии к ближней линии.
3. Запоминаем картинку с тайлами земли и мелкой меблей и растительностью.
4. Там где гг ставим этакий овальчик полупрозрачности, откуда альфу читать для объектов за которыми гг может спрятаться.
5. Рисуем как в п2. поверх имеющейся картинки крупные предметы за которыми гг не видно.
6. Смешиваем по альфе канала прозрачности картинку в п.3 и п.5 Вроде все.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо dsd за это полезное сообщение:
|
|
16.01.2012, 07:45
|
#13
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: 2,5D
Сообщение от Igor
неа. Там хитро сделано. Есть карта высот, из неё делается сетка четырёхугольников, на них натягиваются текстуры. Дороги и реки задаются направляющей линией, причём можно регулировать их прозрачность и ширину в каждой точке. Здания - спрайты, каждое состоит из двух или трёх картинок - разной степени разрушенности, причём эти картинки рисуются все вместе, прозрачность каждой зависит от разрушений - здания при 40% и 42% прочности выглядят чуть-чуть по разному, второе чуть более светлое. Тень от деревьев тоже текстуркой добавляется на землю. Есть целая куча элементов, которые разнообразят карту : мох, пеньки, лужи, прогалины на зимних картах, вершины дюн в пустынях, обрывистые берега рек, болотины. Я увлекался созданием карт, этот процесс намного проще и быстрее рисования.
|
Получается из изометрии там только здания. Меня сейчас интересует изометрия и не совсем изометрия. В фолауте объекты не под 60 градусов к осям, причем есть объекты очень большие и не стандартные типа уникальных зданий и т.д. Вот такое интересует.
|
(Offline)
|
|
16.01.2012, 17:57
|
#14
|
Мастер
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений (для 1,836 пользователей)
|
Ответ: 2,5D
Если мне память не изменяет, то в фаллауте крупный рельеф это просто набор разных непроходимых тайлов земли. Они там сильно не заморачивались. Рисовали нужные им развалины и потом нарезали на тайлы земли и из них уже собирали карту. Жулики они.
|
(Offline)
|
|
16.01.2012, 21:18
|
#15
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: 2,5D
Вот я подумал редактор для фолаута скачать и посмотреть)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:18.
|