Инвертировать движение камеры в Unity

101
18 марта 2022, 10:10

При движении мышки или пальца в право камера движется влево. По Y аналогично. Как инвертировать движение?

    if (Input.GetMouseButtonDown(0))
    {
        touch = Camera.main.ScreenToWorldPoint(Input.mousePosition);
    }
    if (Input.GetMouseButton(0))
    {
        Vector3 direction = touch - Camera.main.ScreenToWorldPoint(Input.mousePosition);
        Camera.main.transform.position += direction;
    }
Answer 1

Я немного модифицировал ваш код. В direction вы получаете именно направление в которое должен двигаться какой-то объект с определенной скоростью

        if (Input.GetMouseButtonDown(0))
        {
            touch = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        }
        if (Input.GetMouseButton(0))
        {
            Vector3 direction = Camera.main.ScreenToWorldPoint(Input.mousePosition) -  touch;
            transform.position += direction.normalized * speed * Time.deltaTime;
        }
Answer 2

Проблему решил вот так:

        if (Input.GetMouseButtonDown(0))
    {
        lastPosition = Input.mousePosition;
    }
    if (Input.GetMouseButton(0))      
    {
        Vector3 dir = Input.mousePosition - lastPosition;
        Camera.main.transform.position += dir * Time.deltaTime * speed;
        Vector3 camPos = Camera.main.transform.position;
        Camera.main.transform.position = new Vector3(Mathf.Clamp(camPos.x, -limitX, limitX), Mathf.Clamp(camPos.y, -limitY, limitY), camPos.z);
        lastPosition = Input.mousePosition;
    }
READ ALSO
Как увеличить значение одного поля одним запросом

Как увеличить значение одного поля одним запросом

Не могу найти способ реализовать операцию увеличения поля не производя перед этим выборку, то есть нужно сделать следующее:

215
Проблема с Quaternion в unity

Проблема с Quaternion в unity

Делаю 2d шутер, пистолет поворачивается в зависимости от курсора, если нажимаем лкм, то вылетает создаются пуля,которая принимает аргументы:...

252
Регулярное выражение для поиска числа в строке

Регулярное выражение для поиска числа в строке

Пытаюсь постигнуть регулярки - нужна помощьЕсть такая строка:

82
Сохранение excel файла

Сохранение excel файла

Не могу понять как правильно сохранить файл, чтобы в нем остались изменения

100