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

перемещение камеры мышкой

СообщениеДобавлено: 11 янв 2015, 13:53
dawdawich
Всем привет! Нужно написать код для перемещения камеры мышкой, я написал код (пока что для одной оси), но столкнулся с такой проблемой, при щелчке мышки (когда должны регестрироватся координаты камеры в момент нажатия), координаты по х регестрируются не правильно, почему так?

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class MouseTransform : MonoBehaviour {

        public Vector3 mousePos;
        public Vector3 inmousePos;
        public Vector3 startPos;
        public Vector3 newPos;




        public float newX;



        void Start () {
                newPos = Camera.main.transform.position;
       
        }
       



        void Update () {

                mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition).normalized;

                if (Input.GetMouseButtonDown(0))
                {
                        newX = 0f;
                        inmousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition).normalized;
                        startPos = Camera.main.transform.position;

                }

                if (Input.GetMouseButtonUp(0))
                {
                        inmousePos = new Vector3(0,0,0);

                        newX = 0f;
                        startPos = Camera.main.transform.position;
                }
       
        }


        void FixedUpdate()
        {
                if (Input.GetMouseButton(0))
                {
                        newX = inmousePos.x - mousePos.x;

                newPos.x = startPos.x - newX;
                Camera.main.transform.position = newPos;

                }

        }
}
 

Re: перемещение камеры мышкой

СообщениеДобавлено: 13 янв 2015, 13:18
dawdawich
нашел проблему, если кому надо будет, просто надо перенести функцию из FixedUpdate B Update.

Re: перемещение камеры мышкой

СообщениеДобавлено: 30 ноя 2021, 20:27
Vzhik
dawdawich писал(а):нашел проблему, если кому надо будет, просто надо перенести функцию из FixedUpdate B Update.

Спасибо)