Спасибо, сделал проще:
normal = Sign(normal.dot(vector.UP)) * normal
|
Т.е инвертирую нормаль, если она смотрит вниз, а не вверх. Так как перпендикуляров нет - работает.
Плохо что нельзя менять UP,FORWARD,RIGHT вектора у энтити, часа 2 ушло на разбирание с кватернионами (узнать вращение между векторами)
Новый скрин. Такой пушки у игрока не будет, но пока побегать можно:
Предложите, как сделать поиск пути на такой карте. kD дерево строить на основании расположения объектов и ландшафта или как?
Пока придумывается сделать навмеш в редакторе и по нему искать, а деревья и т.д уже учитывать в астаре или еще где.