Войти
ПрограммированиеФорум2D графика и изометрия

вопрос собственно по изометрии

Страницы: 1 2 Следующая »
#0
6:47, 19 авг. 2009

Привет всем,я тут типа новенький)
у меня есть пара вопросов по изометрии,я понимаю тут все махровые девелоперы,но может кто все таки подскажет/поможет)
простите если такой вопрос поднимался уже,не кидайте камнями)
задача-я через двумерный массив рисую плоскость,изометрическую..и мне нада найти в какой ячейке это массива находится объект)
делаю так,от координат объекта опускаю перпендикуляры на оси,нахожу координаты точки пересечения,потом расстояния от начала координат до этих точек,и это растояние делю div'ом на длину одной ячейки,все нарисовано на картинке..
Изображение

вопрос-может как то можно проще находить?))


#1
10:12, 19 авг. 2009

Сейчас сложно найти что-то по изометрии, но попробуй почитать Todd Barron - Strategy Game Programming DX9 (есть в интернете на русском) там что-то было по изометрии. а еще загляни на сайт http://pmg.org.ru/

Больше все равно ничего нет

#2
10:33, 19 авг. 2009

можно делать вычисления в обычной 2д сетке, но при рисовании преобразовывать в изометрию.

#3
11:26, 19 авг. 2009

Да вроде - проще некуда.

#4
13:18, 20 авг. 2009

ну они ж строятся по формуле,значит по идее по обратной формуле можно как то найти)
Дрим,как то это замутно будет,туда сюда что ли переводить систему координат?

#5
14:12, 20 авг. 2009

nonamez
DreamRunner писал про преобразование при отрисовке, обратное понадобится только при тыке мышью, а в остальных ситуациях обычная сетка

#6
15:02, 20 авг. 2009

кстати нада подумать)))
а еще такой косяк,есть массив глубин,соответственно каждая ячейка отрисовывается на своей глубине.и то есть если на передней ячейке что то будет,то это что то будет перекрывать заднюю клетку.
пусть у меня движется какая нить штука,по клеткам,нахожу в какой она клетке и саму штуку отрисовываю на глубине этой клетки,ну так вот,штука протянутая,и когда идет из одной клетки в другую,будучи наполовину там наполовину там берет одну глубину,и вторая половина неправильно отрисовывается..даж не знаю как это исправить?((

#7
14:10, 21 авг. 2009

даж не знаю как это исправить?((
Ну у меня когда объект движется влево-вниз или вправо вниз "глубина" берется от клетки на которую идем, если влево-вверх или вправо-вниз, то глубина от клетки с которой уходим (до тех пор, естественно, пока объект не встанет на другую клетку)

...опускаю перпендикуляры на оси,нахожу координаты точки пересечения,потом расстояния от начала координат до этих точек,и это растояние делю div'ом на длину одной ячейки,все нарисовано на картинке.. вопрос-может как то можно проще находить?))

Ну могу предложить такой способ:
Пояснение к методу в теме о изометрии | вопрос собственно по изометрии
Условно разбиваем изометрическое поле на обычные прямоугольники (см рисунок), таким образом, мы можем определить местонахождение мыши в изометрических клетках отмеченных красным. Далее условно переносим шаблон (на рисунке под цифрой 2) на прямоугольник, на который наведена мышь и смотрим цвет шаблона под курсором: белый - мышка над тем ромбом, который мы нашли, зеленый - над ромбом правее-ниже, желтый - правее-выше т.д.

#8
16:26, 21 авг. 2009

глубина объекта = - координата Y объекта

ЗЫ: имеется в виду его координата Y отрисовки на экране. Видимо нулевая точка спрайта должна находится внизу спрайта.

#9
19:07, 21 авг. 2009

имеется в виду глубина отрисовки на экране,то есть depth))
спасибо,попробую)

#10
19:17, 21 авг. 2009

про разбиение на прямоугольники понравилось)

#11
19:14, 22 сен. 2009

http://www.gamedev.ru/code/forum/?id=123819
тут нормальный вариант

#12
20:01, 22 сен. 2009

Такая изометрия - это матрица поворота 2х2 на 45 градусов и растяжение по одной из координат.

#13
18:06, 15 дек. 2009

nonamez, подскажите плз, как вы проецировали вектор на оси в изометрии??

#14
23:18, 15 дек. 2009

Многие вещи в чистой изометрии трудно реализовать. Попробуйте поместить на изокарту мост с перилами под 45 градусов и правильно отрендерить.

Выскажу крамольную мысль: изометрию можно выводить не по ромбам, а обычными прямоугольниками. Кто играл на Sege, вспомните "Rambo III". Тогда рассматриваемая задача резко упрощается.

Страницы: 1 2 Следующая »
ПрограммированиеФорум2D графика и изометрия

Тема в архиве.