射线的用途很广泛,本文讲述射线在枪战游戏中炮弹的射线使用。
检测步骤
1.实例化一根射线
参数1:射线起点
参数2:射线方向
Ray ray = new Ray(position, direction);
2.用步骤1产生的射线进行检测
参数1:步骤1实例化的射线
参数2:射线检测碰撞到返回的碰撞数据
参数3:检测最远距离
参数4:检测的层级
Physics.Raycast(ray, out rayCastHit, (projectileData.speed * Time.deltaTime) + 0.1f, layerMask)
子弹
public ProjectileData projectileData;//子弹携带数据类(方向,速度等),看官请自定义
internal LayerMask layerMask = (1 << 0) | (1 << 1) ; //子弹击中层级(敌人,建筑等),看官请自定义
internal RaycastHit rayCastHit;
internal Ray ray;
void Update()
{
//射线检测
ray = new Ray(gameObject.transform.position, projectileData.direction);
if (Physics.Raycast(ray, out rayCastHit, (projectileData.speed * Time