2014-12-16 3 views
-3

Я хочу создать линию определенной длины и направления. То, что я имею в виду, это рисование линии от точки A до точки B. Обычно в Unity C# для рисования линии от точки A до точки B просто.Как нарисовать линию определенной длины и направления?

Debug.DrawLine(point_A, point_B); 

На схеме будет что-то вроде этого

A----------------B 

Но я не хочу что-то вроде этого, я хочу, чтобы это сделать из точки А в точку Б, но с определенной длиной. Поэтому я думаю, нам нужно руководство для этого. Но я не знаю, как его кодировать.

Вот базовая диаграмма того, как я ее хочу.

A--------  B 

Заранее спасибо.

+1

Какой класс/год вы находитесь (математика проста, но в зависимости от вас уровень один должен будет дать другое объяснение - 'point_A, point_A + (point_B - point_A) * wishLength/abs (point_B - point_A)') –

ответ

0

Во-первых, это не рекомендуется использовать Debug.DrawLine() не для отладки. Вы должны использовать компонент LineRenderer.

Во-вторых, вы должны создать вектор, направление от point_A к point_B вам это нравится:

Vector3 difference = point_B - point_A; 

Затем получить конечную точку линии:

Vector3 endPoint = point_A + (difference.normalized * length); 

Затем сделать

GetComponent<LineRenderer>().SetPosition(0, point_A); 
GetComponent<LineRenderer>().SetPosition(1, endPoint); 
Смежные вопросы