Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 14.01.2012, 17:57   #1
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
2,5D

Помогите найти нормальные статьи по реализации 2,5D графики. Интересуют как "квадратные" ячейки, так и шестиугольные как в фолауте

__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 14.01.2012, 20:03   #2
reumep
Знающий
 
Аватар для reumep
 
Регистрация: 04.11.2011
Сообщений: 285
Написано 66 полезных сообщений
(для 159 пользователей)
Ответ: 2,5D

аняня fallout 2
(Offline)
 
Ответить с цитированием
Старый 14.01.2012, 20:23   #3
FireOwl
Бывалый
 
Аватар для FireOwl
 
Регистрация: 16.09.2009
Адрес: Sun system
Сообщений: 831
Написано 442 полезных сообщений
(для 1,836 пользователей)
Ответ: 2,5D

Лично, я пока руки к изометрии приложить не успел, но в запасе есть пара ссылок на руководства разнообразного качества.

С кодами под флеш:
http://www.dionaholding.ru/news/articles/tbg_flash
Визуализация и теория с примерами на С++:
http://pmg.org.ru/galaxy2d/2_5d.htm
http://pmg.org.ru/galaxy2d/isointro.htm

Шестиугольных пока не видел. Надо поискать.
__________________
N"Gasta! Kvata! Kvakis!
Ahkstas so novajxletero (oix jhemile) so Ranetauw.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (14.01.2012)
Старый 14.01.2012, 20:42   #4
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: 2,5D

У JA2 исходники открытые, там правда ячейки квадратные.

http://ja2.su/opensours/source/gold_source.rar
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (14.01.2012)
Старый 14.01.2012, 21:35   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: 2,5D

Ну как бы исходники разбирать нет интереса, особенно С++/С. Хотелось бы теорию просто.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 14.01.2012, 23:55   #6
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: 2,5D

В серии игр "Казаки" довольно красивая 2.5 графика
раз, два, три
В игре Blitzkrieg 2.5d графика комбинируется с трёхмерными танками (во второй части всё трёхмерное, не путать)
картинка
Советую воспользоваться редакторами карт - в них можно посмотреть, что и как реализовано
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (15.01.2012)
Старый 15.01.2012, 02:18   #7
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: 2,5D

В Blitzkrieg не то, тут чисто нарисованная карта походу.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 15.01.2012, 13:28   #8
Nerd
Чудо-кот
 
Аватар для Nerd
 
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений
(для 1,471 пользователей)
Ответ: 2,5D

http://boolean.name/index.php?option...6-59&Itemid=60
?
__________________

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (15.01.2012)
Старый 15.01.2012, 14:39   #9
Harter
Бывалый
 
Аватар для Harter
 
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений
(для 2,520 пользователей)
Ответ: 2,5D

pax, а я ещё видел про изометрию доходчиво в "Программирование стратегических игр с DirectX 9.0".
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (15.01.2012)
Старый 15.01.2012, 17:12   #10
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 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 за это полезное сообщение:
ffinder (16.01.2012), pax (15.01.2012)
Старый 15.01.2012, 20:47   #11
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 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
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: 2,5D

Наверно самоочевидные вещи.

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

1. Рисуем тайлы земли т.к. они не закрывают ничего.
2. Рисуем всякую мелкую меблю за которой гг не может спрятаться, начиная с левого угла направо от самой дальней линии к ближней линии.
3. Запоминаем картинку с тайлами земли и мелкой меблей и растительностью.
4. Там где гг ставим этакий овальчик полупрозрачности, откуда альфу читать для объектов за которыми гг может спрятаться.
5. Рисуем как в п2. поверх имеющейся картинки крупные предметы за которыми гг не видно.
6. Смешиваем по альфе канала прозрачности картинку в п.3 и п.5 Вроде все.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо dsd за это полезное сообщение:
LLI.T.A.L.K.E.R. (24.01.2012), pax (15.01.2012)
Старый 16.01.2012, 07:45   #13
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: 2,5D

Сообщение от Igor Посмотреть сообщение
неа. Там хитро сделано. Есть карта высот, из неё делается сетка четырёхугольников, на них натягиваются текстуры. Дороги и реки задаются направляющей линией, причём можно регулировать их прозрачность и ширину в каждой точке. Здания - спрайты, каждое состоит из двух или трёх картинок - разной степени разрушенности, причём эти картинки рисуются все вместе, прозрачность каждой зависит от разрушений - здания при 40% и 42% прочности выглядят чуть-чуть по разному, второе чуть более светлое. Тень от деревьев тоже текстуркой добавляется на землю. Есть целая куча элементов, которые разнообразят карту : мох, пеньки, лужи, прогалины на зимних картах, вершины дюн в пустынях, обрывистые берега рек, болотины. Я увлекался созданием карт, этот процесс намного проще и быстрее рисования.
Получается из изометрии там только здания. Меня сейчас интересует изометрия и не совсем изометрия. В фолауте объекты не под 60 градусов к осям, причем есть объекты очень большие и не стандартные типа уникальных зданий и т.д. Вот такое интересует.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 16.01.2012, 17:57   #14
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: 2,5D

Если мне память не изменяет, то в фаллауте крупный рельеф это просто набор разных непроходимых тайлов земли. Они там сильно не заморачивались. Рисовали нужные им развалины и потом нарезали на тайлы земли и из них уже собирали карту. Жулики они.
(Offline)
 
Ответить с цитированием
Старый 16.01.2012, 21:18   #15
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: 2,5D

Вот я подумал редактор для фолаута скачать и посмотреть)
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (17.01.2012)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 19:09.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com