Unity3D 鼠标检测世界中的游戏对象

   今天向大家介绍一下,如何初步的用Unity3D从摄像机到鼠标的射线,也就是鼠标检测到Unity3D世界中的游戏对象!

       如何才能使射线检测到游戏对象呢,只有一个条件,那就是必须添加collider组件,否则你是绝度检测不到,你想要检测的物体的!

       如果你还是检测不到Unity3D世界里的游戏对象的话! 真相只有一个"你没有在Update里调用该方法"!

       好了,到了代码的部分的,请大家指教,哈哈哈哈哈哈哈!
using UnityEngine;
using System.Collections;
/// <summary>
/// 功能:数遍检测寻找Unity3D世界里的游戏对象
/// 创建者: VioletTD
/// 创建时间:2015年11月3日 21:28
/// 感谢: Me加油!!
/// </summary>
public class RayToFindTest : MonoBehaviour {//射线查找的测试脚本

	void Update () {
		RayToFindMethod ("Player");//
	}
	void RayToFindMethod(string tags)//定义一个私有的,无返回值,有参数的方法  参数为你想找到的游戏对象的标签(Tag)
	{
		Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);//实例化从摄像机到鼠标的摄像
		RaycastHit hit;//这个为射线命中的点
		if (Physics.Raycast (ray,out hit)) {//物理静态类中的光线投射方法 ->  意义:射线投射出  "得到射线命中的点(hit)"
			if (hit.transform.CompareTag(tags)) {//如果射线命中的点的标签(Tag)值为 tags -> 即:外部传入的参数(你想要找到的游戏对象的标签)  并把hit射线命中的点的类型转换为transform类型
				Debug.Log (hit.transform.name);//为真执行输出射线命中点的名字
			}
		}
	}
}

         谢谢大家的支持和鼓励!


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值