Unity3D关于射线的学习记录(点击物体改变颜色)

最近在学习unity,发现学过了之后过了一阵子有好多东西记不住于是想着发个帖子记录每天学到的东西,也能作为监督自己的一个方式吧,毕竟对我来说学习是一件很无聊的事情。言归正传。
射线:是一个点向一个方向发射的一条没有终点的线。游戏中我们可以用射线检测前方有没有敌人,子弹是否击中目标等等。
在unity的世界中使用射线Ray射线类和RaycastHit投射信息类是非常重要的两个工具类。
[b]Ray[/b]射线类:返回一条从主摄像机上发出的到参数位置的一条射线,
Camera.main.ScreenPointToRay(vector3 pos)
RaycastHit 射线碰撞信息:
bool Physics.Raycast(Ray ray, Vector3 direction, RaycastHit out hit, float distance, int layerMask)
我经常用Input.mousePosition作为参数,这样就可以用鼠标来对游戏中的物体进行一些操作。例如修改物体tag为"A"的颜色代码如下:

if (Input.GetMouseButtonDown(0))
        {
            ray = cam.ScreenPointToRay(Input.mousePosition);
            if (Physics.Raycast(ray, out hitInfo, 100, layer))
            {
                if (hitInfo.transform.tag == "A")
                {
                    hitInfo.tra
  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值