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

Re: Перемещение объекта пальцем

СообщениеДобавлено: 17 июл 2018, 20:28
Mir
Cr0c писал(а):
Синтаксис:
Используется csharp
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
ray.direction.y = transform.position.y;
ray.direction.z = transform.position.z;
 



ВЫдает ошибку на код : не удалось изменить значение для Unity/ray .direction так как он не является переменной

Re: Перемещение объекта пальцем

СообщениеДобавлено: 17 июл 2018, 20:37
1max1
Ибо direction свойство, а не поле.
Синтаксис:
Используется csharp
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
var dir = ray.direction;
dir.y = transform.position.y;
dir.z = transform.position.z;
ray.direction = dir;

Re: Перемещение объекта пальцем

СообщениеДобавлено: 18 июл 2018, 21:56
Mir
1max1 писал(а):Ибо direction свойство, а не поле.
Синтаксис:
Используется csharp
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
var dir = ray.direction;
dir.y = transform.position.y;
dir.z = transform.position.z;
ray.direction = dir;



все равно не перемезает по х. двигается по всем осям в любые стороны

Re: Перемещение объекта пальцем

СообщениеДобавлено: 18 июл 2018, 22:36
Cr0c
Синтаксис:
Используется csharp
public Transform target;
private Vector3 offset;
private float distance;
void Update() {
 if (Input.GetMouseButtonDown(0)) {
  RaycastHit hit;
  Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
  if (Physics.Raycast(ray, out hit)) {
   target = hit.transform;
   offset = target.position - hit.point;
   distance = hit.distance;
  }
 }
 if (Input.GetMouseButton(0) && !Input.GetMouseButtonDown(0) && target != null) {
  // для 2D
  Vector3 v =  Camera.main.ScreenToWorldPoint(Input.mousePosition);
  v.y = target.y;
  v.z = target.z;
  target.position = v;
  // для 3D
  /*
  Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
  Vector3 v = ray.direction;
  v.y = 0f;
  v.z = 0f;
  target.position = ray.origin + v * distance + offset;
  */

 }
 if (Input.GetMouseButtonUp(0)
  target = null;
}

Re: Перемещение объекта пальцем

СообщениеДобавлено: 19 июл 2018, 04:30
1max1
все равно не перемезает по х. двигается по всем осям в любые стороны

боже мой, и как я должен был догадаться что тебе еще там нужно перемещать объект по одной стороне?
Изображение

Re: Перемещение объекта пальцем

СообщениеДобавлено: 19 июл 2018, 12:22
Cr0c
1max1 писал(а):боже мой, и как я должен был догадаться что тебе еще там нужно перемещать объект по одной стороне?

Mir писал(а):Работает. спасибо большое)
А где подправить чтобы двигался объект только влево вправо?

Re: Перемещение объекта пальцем

СообщениеДобавлено: 19 июл 2018, 13:14
1max1
Я не вижу в этой теме такого сообщения... Эх, щас бы скакать из треда в тред...

Re: Перемещение объекта пальцем

СообщениеДобавлено: 19 июл 2018, 13:56
Cr0c
1max1 писал(а):Я не вижу в этой теме такого сообщения...

От 14 числа
Mir писал(а):Работает. спасибо большое)
А где подправить чтобы двигался объект только влево вправо?

Re: Перемещение объекта пальцем

СообщениеДобавлено: 19 июл 2018, 14:21
1max1
Да, тупанул, бывает.

Re: Перемещение объекта пальцем

СообщениеДобавлено: 19 июл 2018, 21:05
Mir
Cпасибо, заработало.

только вот здесь через transfor.postion

v.y =transform.position.y;
v.z = transform.position.z;
и тогда все работает)))

Re: Перемещение объекта пальцем

СообщениеДобавлено: 05 авг 2018, 19:45
Mir
Можно еше вопрос)

Как сделать чтобы двигался только в пределах от -2 до 2 по оси х?

Re: Перемещение объекта пальцем

СообщениеДобавлено: 05 авг 2018, 20:00
seaman
https://docs.unity3d.com/ScriptReferenc ... Clamp.html
Советую иногда почитывать справку.