• 周四. 4 月 23rd, 2026

物嫩软件资讯网

软件资讯来物嫩

untiy射击游戏的子弹射击问题

admin@wunen

6 月 10, 2025

如何让子弹朝着自己屏幕中间的准心所瞄准的方向进行射击呢?

总结下来有那么几步

1、从屏幕中间发射一条射线

//屏幕中心点映射到世界坐标系
Vector3 middleScreenPoint = PlayerCameraGameObject.ScreenToWorldPoint(new Vector3(Screen.width / 2, Screen.height / 2, 0));

//根据中心点和照相机朝向创建射线
Ray ray = new Ray(middleScreenPoint, PlayerCameraGameObject.transform.forward);

2、用射线检测去检测碰撞到的物体

//检测方式一
RaycastHit HitInfo;
if (Physics.Raycast(ray, out HitInfo))
{
    
}

3、在枪口的位置设置一个空物体

4、 将空物体的z方向设置成射线检测到的物体的朝向即可

//检测方式二
if (Physics.Raycast(ray, out var astrayHitInfo))
{
	//根据检测结果修改朝向
    _shootPlace.transform.LookAt(astrayHitInfo.point);
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注