[Unity遊戲筆記]主角看著滑鼠

使物件可以追隨滑鼠,
因為寫的很簡潔,會有一些漏洞,
例如場上有一間房子,以2.5D的視角來看,滑鼠是無法避開房子的

解決方式有很多種,其中一種是讓Ray只與地板碰撞,方法我寫在最下面。


=============簡單版================
var hit: RaycastHit;
var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast(ray, hit))
{
transform.LookAt(Vector3(hit.point.x,transform.position.y,hit.point.z));
}




=============穿過物體版===============

public var collisionLayers : LayerMask = -1; //碰撞層
function Start ()
{

}

function Update ()
{
var hit: RaycastHit;
var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast(ray, hit ,100, collisionLayers.value))
{
player.transform.LookAt(Vector3(hit.point.x,transform.position.y,hit.point.z));
}


}

//到Unity內,新增一個Layer給地板,把這腳本貼到角色身上,會有一個 collisionLayers的選項,只打勾地板的Layer就可以了。

留言