【发布时间】:2015-10-04 01:18:09
【问题描述】:
我正在使用光线投射来进行碰撞。我的玩家可以一次向所有方向(北、东、南和西)移动,但如果有障碍物挡在路上,它就不会移动。如需更多间隙,请参阅 Crossy Road。
障碍物检测有时很好,但有时它不会发生任何碰撞并进入障碍物。
我有刚体和碰撞器连接到玩家,并且只碰撞障碍物。
代码:-
if(Input.GetKeyUp(KeyCode.W))
{
PlayerScale = 1;
this.transform.localScale = new Vector3 (1,PlayerScale,1);
if((Physics.Raycast(MidRay , Vector3.forward,out hit,2f)) ||(Physics.Raycast(LeftRay , Vector3.forward,out hit,2f))||(Physics.Raycast(RightRay , Vector3.forward,out hit,2f)) )
{
if(hit.collider.tag == "Obs")
{
Debug.Log("CantMove");
}
else
{
Score +=1;
TargetPos = new Vector3(this.transform.position.x,this.transform.position.y,this.transform.position.z+MoveDist);
}
}
}
【问题讨论】:
标签: unity3d collision-detection collision unityscript raycasting