Конференция "Игры" » Проецирование 3Д в 2Д.
 
  • @!!ex_ (22.06.07 17:19) [0]
    Возник какой то странный косяк.
    http://www.gamedev.ru/images/?id=21619

    http://www.gamedev.ru/images/?id=21615

    http://www.gamedev.ru/images/?id=21614

    Когда объект сверху экрана, то практически не заметно, что не правильно рисуется.
    Когда объект внизу экрана, выделение смещается на половину размера...
    Причем в фулскрине все правильно считается.
  • Dib@zol (22.06.07 18:19) [1]
    Если я правильно понял, при перемещении автомобиля на некоторый вектор N изображение "прицела" смещается на m пикселей в направлении вектора. Зависимость m от N походу прямая. Поэтому при разрешении, меньшем "эталонного" (сиречь фул-скрина) и возникает подобный баг. => Введи коэффициенты, которые при выборе разрешения будут просчитывать отношения scrX/etalX и scrY/etalY соответственно, и домножай смещение "прицела" на эти коэффициенты.

    ЗЫ Если я не угадал, объясни КАК реализуется его отрисовка.
  • @!!ex_ (22.06.07 18:33) [2]
    Берется Bound Box машины. Его точки проецируются на экран.
    Выбирается прямоугольник, влкючабщий все 8 спроецированных точек.
    Рисуется. получается, что рисуется не там где должен, смещен относительно машины.
  • Dib@zol (22.06.07 18:59) [3]
    А может лучше так?

    Берутся 4 нижние точки Bound-box'a (канешна если это AABB а не OBB), от них строятся перпендикуляры к поверхности видимости (те. грани фрустума) с длиной, равной высоте AABB. От полученных 4-х точек строятся края прицела.

    А если OBB - ща подумаю...
  • Dib@zol (22.06.07 19:01) [4]
    И вапще - засвети плиз код визуализации прицела. А то хреново так вслепую предполагать.
  • @!!ex_ (22.06.07 20:39) [5]
    Все. разобрались.
    Вот тут решение:
    http://www.gamedev.ru/code/forum/?id=66829&page=3#32
 
Конференция "Игры" » Проецирование 3Д в 2Д.
Есть новые Нет новых   [120299   +78][b:0][p:0]