RayCast有时只能工作

时间:2015-07-15 06:27:05

标签: unity3d collision-detection collision unityscript raycasting

我正在使用光线投射来进行碰撞。我的玩家可以向所有方向(北,东,南和西)一步一步地移动,但如果障碍物进入,它将不会移动。欲了解更多信息,请参阅Crossy Road。

有时检测障碍物,但有时它不会发生任何碰撞并进入障碍物。

我有刚性的&碰撞器附着在玩家身上,只碰撞障碍物。

Properties of player

代码: -

         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);

                }
            }
        }

0 个答案:

没有答案