这部分就用来写激光笔之类的东西吧

1:写这个东西吧,主要是为了检测自己的点击或者什么的到底点在了哪里去弄的,,废话不多写,虽然是写给自己看的。。接下去是正文

一:首先我要先发射一条射线到我要点击的地方去,所以要发射一根射线到鼠标点击的位置

 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

接下去是获取射线发射到的位置

 RaycastHit HitInfo;

Physics.Raycast(ray,out HitInfo),这句话可以用IF语句进行判断是返回值是bool类型的,加上IF语句就是当你碰撞到了物体后有了终点会返回一根true,else你懂得。。。。

 Debug.DrawLine(ray.origin, HitInfo.point,Color.red);//在场景中绘制一根红色的射线

 GameObject obj = HitInfo.collider.gameObject.transform.parent.gameObject;//通过子物体坐标获取父物体

  Debug.Log("点中的物体名称是:" + obj.name);//这样就可以在场景中和Consloe面板中看到你点到的游戏物体和游戏物体的父物体名字了,如果你要获取子物体名字,那就直接返回子物体名字就可以了。

二:我要在游戏面板中也绘制出一根可以看到的激光线,这里我用到了Unity里面自带的LineRenderer组件(具体属性自己查去。就不多说了,。我也没怎么看,毕竟还要做别的事情,后面有机会再补全这个组件下面的各个信息)

public LineRenderer lineRenderer;//获取组件信息不解释连招XXX

首先吧说说这个组件添加了后会有什么影响(增加了这个组件后你原先物体的坐标会变成世界坐标而且不能移动,这时候你就把面板上面的USE World Space给他取消掉就可以在正常位置了方便调试,但是你在使用的时候记得在脚本中写上lineRenderer。world.space=true不然位置会不对的),

lineRenderer.startWidth = 0.02f;//设置起点高度

lineRenderer.endWidth = 0.01f;//设置终点高度

line

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值