在开发途中碰见一个问题,当利用碰撞体来进行对子弹是否射击命中敌人的判断中,发现当子弹速度过快会发生部分子弹无法碰撞到的错误,此时就需要利用射线来进行碰撞
Ray ray = new Ray(CurrentFirearm.ButterShoot.transform.position, transform.forward); RaycastHit hitInfo; if (Physics.Raycast(ray, out hitInfo,1000,1 << 7)) { }
Raycast (Vector3 origin, Vector3 direction, float maxDistance= Mathf.Infinity, int layerMask= DefaultRaycastLayers);
发射点,发射方向,发射距离,检测的遮罩层,其中遮罩层的写法为1<<n意为检测第n层的物体,0<<n则代表不检测n层的物体