簡體   English   中英

對象遵循鼠標指針的統一和C#

[英]Object to follow mouse pointer unity and C#

我正在忙於使用RTS風格相機的攝影,我希望物體跟隨鼠標光標,但始終保持相同的Y軸。 相機位置設定為0、15,-15

我已經玩了一段時間了,這是我能想到的最好的方法:

Ray ray = Camera.mainCamera.ScreenPointToRay(Input.mousePosition);
Vector3 point = ray.GetPoint(5);
transform.position = point;
print (point);

任何幫助將不勝感激。

您處在正確的軌道上,但您需要使用該光線將其光線投射到某些物體上才能獲得世界位置。

由於它是rts,因此我認為地形有些水平,在這種情況下,很容易將飛機放置在所需的高度。 如果不是這種情況,我建議遵循@The Ryan建議並存儲先前的y值。

無論哪種情況,您都需要將射線投射的物體與其他物體放在單獨的層中,以免將物體移到其他單元的頂部

Ray ray = Camera.mainCamera.ScreenPointToRay(Input.mousePosition);

RaycastHit hit;
if(Physics.Raycast(ray, out hit, maxDistance, layerMask))
{
    float oldY = transform.position.y;
    transform.position.Set(hit.point.x, oldY, hit.point.z);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM