Есть пререндеренный столбик якобы приближающийся.
как его позиционировать на экране?
Разрешение позиционирования равно знакоместу.
Ну вот например как тут расставляются столбики ?
Есть пререндеренный столбик якобы приближающийся.
как его позиционировать на экране?
Разрешение позиционирования равно знакоместу.
Ну вот например как тут расставляются столбики ?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Нужно координату Z еще...
Переменная, отвечающая за приближение, само собой должна быть. Хоть зэт, хоть зю, не важно. В данный момент исходя из её значения у меня меняются лишь кадры столбика. Но нужно его ещё позиционировать так, шоб казалось три дэ.
сделай таблицу "полтора на два гектара земли", в ней для каждого "квадратного метра землицы" - хранить соответствующий адрес на экране
"look-up"
Вычислительной мощи хватит и рассчитывать в реалтайме.
Даже если и табличные значения забивать, надо же их по какой-то формуле делать.
На тебе формулу (см.картинку)
AC = BD * OA / OB
OB = расстояние до объекта
OA = расстояние до плоскости проекции
BD = реальный размер объекта
AC = размер проекции
Луч OB - направлен от точки обзора ровно в центр поля зрения
Если проще - если объект в N раз дальше от наблюдателя, чем плоскость проекции, то размер проекции будет в N раз меньше реального размера
Все любят гипножабу
да подбери что-то типа
и не парься.
по х - расстояние, по у - отступ от центра, + и -
Столб всегда шириной одно знакоместо? Какой угол обзора у персонажа? 90 градусов? Тогда делим пространство вокруг него на 32 (число столбцов на экране) х 360/90 = 128 секторов. Теперь рейкастим 32 сектора, которые в экране, в каком столб нашли, в том он и будет.
Относительно вертикальной координаты. SAM style прав: размер проекции обратно пропорционален расстоянию. Какие вертикальные координаты концов столба, когда он в плоскости экрана? Тогда их координаты на расстоянии R будут Y=0.5Y0/R (обычно экранная плоскость примерно в полуметре от глаз игрока). Аналогичная зависимость и для высоты проекции: H=0.5H0/R.
Если столбы спрайтовые, то выгодней ориентироваться на расстояние, с которого столб проекцируется пиксел-в-пиксел. Тогда отношение эталонного расстояния к фактическому определит коэффициент масштабирования: M=R0/R. Умножим получившееся число на Y0-координату нужного конца столба (с которого начинаем рисовать) -- и получим вертикальную координату (Y0 в этом случае относится к расстоянию, с которого столб проекцируется пиксел-в-пиксел). Расстояние R во всех случаях определяется как квадратный корень из суммы квадратов разностей координат игрока и столба: R=SQRT((Xигрок-Xстолб)^2+(Yигрок-Yстолб)^2).
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)