![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Карта 2D-изометрия [Delphi, Windows]
Max_ © (2007-06-16 17:56:00)Всем привет.
Как лучше всего рисовать карту в 2D-изометрия (пол):
- нарисовать всю карту на бипмапе, после преобр. в текстуру, а потом при перемещении менять только координаты вывода текстуры.
- или рисовать квадратиками, т.е. каждый ромбик - квадратик (4т.).
Спасибо.
Домик (2007-06-17 13:21:00) [1]> а объекты (дерево, человек) явл. частью карты или выводятся отдельно, после?
Нет, обычно это отдельные объекты, хотя в разных играх карты могут преставлятся по разному. Если РПГ, значит там должны быть НПС, монстры или еще что-то, а они как правило расставляются непосредственно в редакторе карт.
> а ромбический спpайт в Direct8 есть, как исп.?
Я если честно не знаю т.к. с Direct8 не работал. Но думаю, что такого нет. В свое время изометрию реализовывал через обычные спрайты, натягивая на них текстуру с альфа каналом в форме ромба для земли, а для стен в форме вытянутого ромба.
> вопрос, хочу сделать в изометрии рельеф, как?
Точно так же как и не в изометрии, только спрайты немного в другой последовательности выводить.
Max_ (2007-06-17 06:25:00) [2]вопрос, хочу сделать в изометрии рельеф, как?
Max_ (2007-06-17 05:56:00) [3]а ромбический спpайтв Direct8 есть, как исп.?
Max_ (2007-06-17 05:35:00) [4]--- На карте всегда присутствуют анимированные объекты
имелось ввиду, что вся карта - текстура земли (трава, грязь, почва), она как бы неизменна, хотя и трава может шевелиться.
Max_ (2007-06-17 05:28:00) [5]а объекты (дерево, человек) явл. частью карты или выводятся отдельно, после?
Домик (2007-06-17 01:10:00) [6]> Ну если карта (интересующая часть) относительно статична,
Что в твоем понимании статична? :) На карте всегда присутствуют анимированные объекты, деревья, трава или механизмы... Наверняка будут и такие объекты, с которыми можно взаимодействовать. Хотя если в текстуру рендерить только те квадратики, которые попадают в кадр, а потом эту текстуру тянуть на полигон, то особой разницы не вижу. Разве что я бы так не стал так делать, потому что на рендер текстуры так же нужно время. Но автор не указывает то, в чем он это собирается реализовывать подобную систему, потому подобные рассуждения уже бессмысленны.
А если в текстуру рендерить целиком всю карту (и не попадающие в кадр квадраты тоже), то это будет, в любом случае тормозить.
Rial (2007-06-16 22:37:00) [7]> [3] Домик (16.06.07 21:15)
> Я бы рисовал квадратиками, т.к. всю карту отрисовывать нет
> смысла, достаточно рисовать лишь те квадратики, которые
> полностью или частично попадают в видимую область экрана.
Ну если карта (интересующая часть) относительно статична,
то какая разница, вся она на экране или нет, если рисовать
один полигон? Ну а текстурка на 15-20МБ - ничего страшного,
если она одна. :)
Домик (2007-06-16 21:15:00) [8]Я бы рисовал квадратиками, т.к. всю карту отрисовывать нет смысла, достаточно рисовать лишь те квадратики, которые полностью или частично попадают в видимую область экрана.
Rial (2007-06-16 19:12:00) [9]Хм... я тут подумал... вопрос: а как часто эта "карта" будет изменяться?
Просто тут палка о двух концах: если карта постоянно из меняется,
то эффективно рисовать отдельные прямоугольники. Если их количество
не очень велико, то это не так уж и страшно. Да и в любом случае
эо быстрее, чем рисовать сначала битмап.
Если карта генерится 1 раз за интервал от минуты и более - то лучше все
это дело загонять в текстуру.
Rial (2007-06-16 18:29:00) [10]1й вариант. Быстрее в N раз, при большом количестве
N равно количеству квадратиков.