我正在尝试创建一个迷宫游戏,玩家只有在看到甜蜜的时候才能移动。
目前,光线投射正在向各个方向搜索(360度)但我只希望光线投影直接向上看,向左,向下,向右(而不是360度) ...这样一来玩家只能在甜蜜被放置在直接视线中时移动。
public function setTargetSweet(target:GameObject)
{
too = target.transform.position;
targetSweet = target;
var fwd = too - transform.position;
Debug.Log("Setting target sweet: " + target.name);
Debug.DrawRay(transform.position, fwd, Color.red, 5f);
Physics.Raycast (transform.position, fwd, hit);
if ( hit.collider.tag == "MoveToSweet") {
print ("Can See Sweet");
gotoSweet = true;
}
else
{
Debug.Log(hit.collider.name);
Debug.Log(hit.collider.tag);
gotoSweet = false;
}
}
答案 0 :(得分:1)
你每次都会朝着任何甜蜜的方向投射光线。你需要四个调用,如Physics.Raycast(transform.position, Vector3.forward, hit)
,并检查呼叫之间的匹配。