2016-02-27 127 views
-2

我的問題似乎很簡單,但我無法弄清楚自己。如何在unity3D中以鼠標位置的方向繪製x長度的線?

我想在我的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.

+0

團結**沒有能力,無論如何畫線** - 它是一個遊戲引擎。 Unity與繪製線條或形狀完全沒有關係。這個問題經常被問到 - 請先谷歌幫助節省時間! – Fattie

+0

[在一個c#中繪製一個跟隨一個對象的行的可能的重複](http://stackoverflow.com/questions/16039520/drawing-a-line-following-an-object-in-unity-c-sharp) – Fattie

+0

i使用LineRenderer來完成它。我只是要求計算LineRenderer結束位置的向量數學。 –

回答

0

我想你正在尋找的是在任一Vector2Vector3類變量normalized。像這樣的東西會給你一個每次都有相同長度(實際數量)的新矢量:

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; 
相關問題