@Leonid-L1
я изучаю Unity

Как найти Vector2 позицию за объектом?

639635feb1cbd067793586.jpeg
Мне нужно найти Vector2 позицию точки "С", чтобы нарисовав линию, она касалась и точки А, и точки В, при условии что позицию С находится на расстоянии, к примеру 5, как на скриншоте.

Если интересует контекст, Vector2 точки С нужен для трансформации его в Vector3, добавив высоту по Y, и установить камеру на это место.
  • Вопрос задан
  • 161 просмотр
Решения вопроса 1
trapwalker
@trapwalker
Программист, энтузиаст
Так а в чем проблема-то? Это ж школьная программа?
Точка А у вас есть, точка B тоже. Берёте вектор AB - это вектор B минус вектор A.
Нормируете его до единичного. Для этого нужно вектор AB разделить на модуль (длину) этого вектора. AB/|AB| - это вектор направления на точку, над которой надо поставить камеру.
Осталось этот единичный веткор умножить на необходимое вам расстояние. В вашем случае это 5: AB/|AB|*5
Также моэно вычслить и положение камеры. Допустим камера в точке X и ее координат мы не знаем, но знаем высоту камеры, а значит и вектор CX = (0,0,4), если высоту камеры мы решили взять равной 4.
Итого: X=B+AB/|AB|*5+CX
где:
X - искомый вектор координат камеры;
B - вектор координат точки B;
A - вектор координат точки A;
AB = B-A -- вектор, равный разности векторов B и A;
|AB| -- длина вектора AB, то есть его модуль;
CX - вектор, указывающий на камеру относительно точки C, например (0,0,4);

Можно сразу все вектора сделать трехмерными и делать все вычисления в них.

В школе надо учиться. А то потом приходится вот такие детские вопросы тут задавать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Kentavr16
@Kentavr16
long cold winter
Ответ написан
Комментировать
@Leonid-L1 Автор вопроса
я изучаю Unity
Всем спасибо за ответы, похоже моей главной ошибкой была мысль о том, что я хоть что нибудь понимаю.
Что бы найти решение прочитал документацию - https://docs.unity3d.com/ru/2019.4/Manual/Understa... ,
https://docs.unity3d.com/ru/2019.4/Manual/Directio... ,
https://docs.unity3d.com/ru/2019.4/Manual/AmountVe... ,
а также есть очень хорошая статья на эту тему - https://habr.com/ru/post/131931/
только после того, как я все это прочитал, я смог понять ответ Сергея и реализовать желаемое
63974254d32fd293965593.jpeg
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы