Пятница, 22 Ноября 2024, 00:45

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
не перемещается объект
Andruha93Дата: Четверг, 22 Августа 2013, 13:07 | Сообщение # 1
частый гость
Сейчас нет на сайте
Всем привет ! У меня есть скрипт для передвижения объектов мышью, он работает но не совсем как надо. Проблемма в том что скорость сдвигания объектов по оси Z (то есть к или от камеры) зависит от угла наклона камеры. Например если я смотрю на объект ровно под 90 градусов то объект не будет отдаляться или приближаться, только двигаться влево или право. С осью X все нормально, куда сдвинул мышь туда и объект, тоже самое надо и с осью Z.

Код
using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {
   public Vector3 screenPoint;
   public Vector3 offset;
   public Vector3 mousPos;
     
   void Update()
   {
    mousPos = Camera.main.WorldToScreenPoint(Input.mousePosition);
   }
     
   void OnMouseDown()
   {
     screenPoint = Camera.main.WorldToScreenPoint(transform.position);
      offset = transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
   }
     
   void OnMouseDrag()
   {
    Vector3 curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
        var curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset;
      curPosition.y = transform.position.y;   
      transform.position = curPosition;
   }
}

Добавлено (22.08.2013, 13:07)
---------------------------------------------
Алёё ! ну че вообще ни кто не знает чтоли ?

Сообщение отредактировал Andruha93 - Среда, 21 Августа 2013, 21:40
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг