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

Направление + дистанция -> новая координата?

СообщениеДобавлено: 21 май 2009, 11:56
gnoblin
Моя запылившаяся часть мозга, отвечающая за векторы и геометрию, немного побаливает x_x .

У меня есть направление (transform.forward) и расстояние по этому направлению (число) - как можно получить координаты конечной точки?
(как это сделать используя векторы). :-ss

Re: Направление + дистанция -> новая координата?

СообщениеДобавлено: 21 май 2009, 12:58
Neodrop
transform.forward * distance

Но это будет в локальных координатах. Поэтому, для глобальных, нужно так transfrom.TransformPoint( /.../forward * distance);

Re: Направление + дистанция -> новая координата?

СообщениеДобавлено: 21 май 2009, 13:15
gnoblin
Спс!

Еще по-ходу можно через

Код: Выделить всё
Ray ray = new Ray (transform.position, transform.forward);
Ray.GetPoint(distance);


сделать.

Re: Направление + дистанция -> новая координата?

СообщениеДобавлено: 21 май 2009, 13:32
Neodrop
Ну, это если есть во что ткнуть... :-?

Re: Направление + дистанция -> новая координата?

СообщениеДобавлено: 21 май 2009, 13:49
gnoblin
Зачем втыкать? Главное чтобы было откуда пустить.

GetPoint() возвращает точку от начала луча на выбранной дистанции.

Re: Направление + дистанция -> новая координата?

СообщениеДобавлено: 21 май 2009, 15:37
Neodrop
Хм... Точно... Не пойму - на кой эта функция? :-?

Re: Направление + дистанция -> новая координата?

СообщениеДобавлено: 21 май 2009, 16:28
gnoblin
Чтоб не делать так:
Код: Выделить всё
transform.forward * distance

Но это будет в локальных координатах. Поэтому, для глобальных, нужно так transfrom.TransformPoint( /.../forward * distance);


если у нас уже есть луч. =)

Re: Направление + дистанция -> новая координата?

СообщениеДобавлено: 21 май 2009, 16:39
Neodrop
Ну наконец-то! Ученик превзошел учителя! :ymapplause:

Re: Направление + дистанция -> новая координата?

СообщениеДобавлено: 21 май 2009, 20:46
Const_47
Ух ты. Какой хитрый Gnoblin :D