如何在unity3D中沿鼠标位置方向绘制x长度的线?

时间:2016-02-27 18:18:13

标签: math vector unity3d

我的问题似乎相当简单,但我无法自己解决。

我想从我的transform.position中沿鼠标光标所在的方向绘制一条固定长度的线。

我想出的事情:

var mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
lazer.setPosition(0, transform.position);

// here is where the failing starts. i need to calculate the end position.
lazer.setPosition(1, ?)

谢谢A.

1 个答案:

答案 0 :(得分:0)

我认为您要找的是normalizedVector2类上的变量Vector3。这样的东西会给你一个新的矢量,每次都有相同的长度(幅度,实际):

Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector3 offsetPos = mousePos - transform.position;
Vector3 newVec = offsetPos.normalized * scale; // this is the important line
newVec += transform.position;