Zefirot
@Zefirot

Как сделать движение объекта равному мышке?

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

public GameObject NewGameObject;
public Camera cam;
private float startx,starty, SpeedChange1;
private Vector3 dir1,dir2;

void Start () {
  SpeedChange1 = NewGameObject.transform.position.z-cam.transform.position.z;
  }

private void Update(){
  if (Input.GetMouseButtonDown (0)) {    
    startx = NewGameObject.transform.position.x;
    starty = NewGameObject.transform.position.y;
    dir1 = cam.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y, SpeedChange1));
    } 
 if (Input.GetMouseButton (0)) {
    dir2 = cam.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y, SpeedChange1));
    NewGameObject.transform.position = new Vector3((dir2.x-dir1.x)+startx, (dir2.y-dir1.y)+starty,
      NewGameObject.transform.position.z);
      }           
  }

Двигается но медленно...
Как это сделать правильнее?
Canvas - Screen Space Overlay
Scale with....

Если еще короче то - есть интерфейс не трогаемый, а есть карта которую можно двигать и увеличивать....
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
MANAB
@MANAB
Разрабатываю на C#: Web, Desktop, Gamedev
Тебе нужно юзать raycast - кидаешь луч, смотришь куда он попал и туда переносишь объект. Соответственнно должна быть подложка какая-то прозрачная, чтобы по ее плоскости двигать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы