using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RayToScreenMid : MonoBehaviour
{// 从视角摄像机向屏幕中间发射射线
Camera MianCamera; // 这是一个摄像机对象
Vector3 ScreenMidPos; // 这是屏幕中央的点的坐标
private void Start()
{
ScreenMidPos = new Vector3(Screen.width / 2, Screen.height / 2, 0); // 初始化屏幕中央的点的坐标
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
RayShot(); // 如果鼠标左键按下,则发射一条射线
}
}
private void RayShot()
{
//从摄像机出发向屏幕中间发射射线!
Ray OneShotRay = Camera.main.ScreenPointToRay(ScreenMidPos); // 以屏幕中央点为原点,发射射线
RaycastHit OnEnemy;
if (Physics.Raycast(OneShotRay, out OnEnemy)) // 如果射线碰到了物体
{
Debug.Log("射线发射成功");
if (OnEnemy.transform.name != "Terrain" && OnEnemy.transform.name != "Role") // 如果碰到的不是地形和角色
Unity-射线射击并销毁物体
最新推荐文章于 2025-07-31 09:00:00 发布

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



