【Unity学习笔记】标签(Tag)和层(Layer)

声明:此篇文章是个人学习笔记,并非教程,所以内容可能不够严谨。可作参考,但不保证绝对正确。如果你发现我的文章有什么错误,非常欢迎指正,谢谢哦。

此篇文章是根据官网手册总结:https://docs.unity3d.com/cn/current/Manual/class-TagManager.html

Unity中所有游戏物体在Inspector面板上都能看到两个属性:标签(Tag)和层(Layer)。这二者都是用来对游戏物体进行分类的,但是作用有所区别。
在这里插入图片描述

标签(Tag)

标签(tag)是用来对游戏物体进行分类的,从而更加方便的在代码中对某一类物体进行统一操作。

常用函数

函数名功能
GameObject.FindWithTag()查找场景中指定标签的物体,但是当场景中有多个同样标签的物体时,无法保证返回的是哪一个。同时也找不到未激活(active)的物体。
GameObject.FindGameObjectWithTag()功能和上面FindWithTag完全一样,只是名字不同
GameObject.FindGameObjectsWithTag()返回场景中指定标签的所有物体
任意组件.tag返回组件对应游戏物体的标签tag

层(Layer)

层(Layer)也是用来对游戏物体进行分类的,但它是为了渲染和碰撞进行分类。主要用途:
1.让摄像机只渲染某些层的物体,对另一些层的物体不渲染(即不显示)
在这里插入图片描述

2.让光源只照亮对某些层的物体,而对另一些曾的物体不影响。
在这里插入图片描述

3.供射线投射用于选择性地忽略碰撞体或创建碰撞。

常用函数

函数名功能
Physics.Raycast()发射射线,检测碰撞。其中有一个参数可以选择射线可以与哪些层的物体发生碰撞检测
collider2D.IsTouchingLayers()collider是一个2D碰撞体,此函数判断此2D碰撞体是否与指定层上的物体接触
gameObject.layer获取该游戏物体对应的层

设置层与层之间能否碰撞

在Edit–>Project Settings–>Physics中,可以看到这么一项:
在这里插入图片描述

它是用来设置层与层之间能否发生碰撞的。如果把去掉,就表示行和列分别对应的两个层不会发生碰撞。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值