Страница 1 из 1

Миникарта.

СообщениеДобавлено: 05 сен 2018, 13:40
SuKioto
Здравтсуйте. Мне для проекта нужно реализовать миникарту. Делать через вторую камеру и рендертекстур не хочу. Поэтому решил что буду делать через формулы.
Как есть сейчас: есть рендер территории серху вниз. Т.е. обычный Image. У него в дочерних есть маркер и пустышка - ориентир.
На сцене тоже есть объект - ориентир. Пустышка. Так вот. Я получаю направление от пустышки со сцены до игрока (ориентир.позишн минус игрок.позишн) и маркер двигаю по такой формуле: маркер.позишн = ориентир карты + (направление * на размер карты).
Это я очень грубо описал как у меня есть. Но проблема в том что при изменении разрешения или размера окна маркер ведет себя неверно. занчение "размер карты" приходится менять для нужного разрешения. Пробовал "размер карты" умножать на разные значения свойств экрана. ничего не вышло.
Подскажите как делать правильно? Спасибо.

Синтаксис:
Используется csharp
        var dir = (cameraTransform.position - cameraStartPoint.position);
        dir = new Vector3(-dir.x, -dir.z, dir.y);
        dir = mapRefPoint.TransformDirection(dir);
        marker.position = (mapRefPoint.position + (dir * mapSize));

        var cameraEulers = cameraTransform.eulerAngles;
        cameraEulers = new Vector3(180f, 0f, cameraEulers.y);
        marker.localEulerAngles = cameraEulers;

Re: Миникарта.

СообщениеДобавлено: 05 сен 2018, 23:35
KanycTa