【unity3d】Layers的控制/LayerMask的使用

2023-11-14


在这里插入图片描述

git地址:https://gitee.com/asiworld/MakeAModelFrom-code

csdn博客地址:https://blog.csdn.net/JianShengShuaiest

bilibili地址:https://space.bilibili.com/15766978

[unity]Layers的控制/LayerMask的使用

大家好我是谢斯,一个unity开发工程师,今天来介绍一下unity中,Layers的控制或LayerMask的使用,如果感觉这篇博客还有帮助的话请点击关注支持一下

Layers 概述

官方:Layers are most commonly used by Cameras to render only a part of the scene, and by Lights to illuminate only parts of the scene. But they can also be used by raycasting to selectively ignore colliders or to create collisions.(https://docs.unity3d.com/Manual/Layers.html)

翻译:相机最常使用图层仅渲染场景的一部分,并通过“灯光”仅照亮场景的一部分。 但是,它们也可以通过光线投射用于有选择地忽略对撞机或产生碰撞

总结:Layers通常用来:摄像机渲染场景里的光照射线检测碰撞检测

官方:Layers can be used for selective rendering from cameras or ignoring raycasts. Unity generates 32 layers. Layers from 8 and above are unused.(https://docs.unity3d.com/ScriptReference/GameObject-layer.html)

翻译: Unity生成32层。 8层以下是系统自带的,不能修改(0-7),8层以上的层未使用(8+)。

演示效果

只显示一层的效果

在这里插入图片描述

只隐藏一层的效果

在这里插入图片描述

Layers的设置

  1. 右上角的layers下拉栏
  2. 在这里插入图片描述
  3. edit layers …
  4. 在这里插入图片描述
  5. 修改不同layer的名字
  6. 当然还有其他的方法Edit > Project Settings

gameobject设置Layer

手动设置

  1. 选中gameobject
  2. layer下拉栏
  3. 选择想要添加的层

在这里插入图片描述

代码设置

gameobject.layer=x;

LayerMask的使用

layermask有很多的使用,又光照的,有摄像机渲染的,也有射线检测的,我们只讲一个,其他的都是相同的,我们从摄像机的渲染讲.当然layermask的运算实际上是二进制的运算

运算符 意义 实例(二进制) 意义
~ 位逻辑运算 ~100 == 011 取反
| 位逻辑运算 1|0 == 1
0|0 == 0
有1必1
& 位逻辑运算 1&1 == 1
0&1 == 0
0&0 == 0
有0必0
^ 位逻辑异或运算 1^1 == 0
1^0 == 1
0^0 == 0
同0异1
<< 左移运算 01<<1 == 10 结尾加0
>> 右移运算 10>>1 == 01 去除尾位

Camera的culling mask的控制

赋值culling mask

赋值主要是一个=====号,其实主要就是对二进制的操作

只看一个层
m_camera.cullingMask = ~(1 << _nIndex);
只不看一个层
m_camera.cullingMask = (1 << _nIndex);
运算culling mask
添加一个层
m_camera.cullingMask |= (1 << _nIndex);  
删除一个层
m_camera.cullingMask &= ~(1 << _nIndex);

通过名字得到层的index索引

LayerMask.NameToLayer("Default")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【unity3d】Layers的控制/LayerMask的使用 的相关文章

  • Unity中UI框架的使用1-添加面板、显示Loading页面

    其中BasePanel和Canvas都是挂在面板的预制物上的 1 导入我们的UI框架 本篇文章中有用的是两个UIPanelType NUIManager和NBasePanel 会放在文章最后供大家使用 2 先将我们做好的Panel设置成预制
  • Unity之获取游戏物体对象或组件的几个方法

    文章目录 前言 通过物体名称获取对象 GameObject Find Transform Find 通过物体标签获取对象 GameObject FindWithTag GameObject FindGameObjectWithTag Gam
  • unity的LOD组件

    本文转载自http blog csdn net huutu article details 52106468 LOD是Level Of Detais 的简称 多细节层次 在游戏场景中 根据摄像机与模型的距离 来决定显示哪一个模型 一般距离近
  • GooglePlay提审警告(com.google.android.gms:play-services-safetynet:17.0.0)

    1 Goole在今年6月份出的新政策 不在使用safetynet 而使用Play Integrity API 2 项目本身没有使用过safetynet 3 使用了firebase 查阅资料 解决方案如下 implementation pla
  • 【Unity】按Esc进入操作菜单

    本文章是基于如下视频的自我总结 https www youtube com watch v JivuXdrIHK0 步骤如下 1 在Canvas 界面添加一个Panel Panel中添加一个按钮 调整按钮的大小为合适大小 调整字体的大小为合
  • Unity打包WebGL的优化常用操作?

    1 贴图部分优化 如果贴图格式时2048 在不影响画面效果的情况下 改成1024或者5 12 还可以缩小包体 2 压缩和解压缩问题 WebGL打包的时候分三种压缩情况 gzip 比Brotli文件打 但打包快 http和https都支持 B
  • Mecanim Any State

    Any State表示任意状态 任意状态是 一个一直存在的特殊状态 他的存在是为了保证你在无意转移至某个你当前正处于的特殊状态而准备的 为你的状态机中的每个状态设置相同的对外转移是一个快捷的方式 假如有Walk Run Fly Die这四个
  • Unity旋转以及万向锁问题

    我之前研读了一些关于unity旋转相关的博客 一直想抽个时间写个总结 但是由于实习太忙一直没有写 趁着今天请了假晚上有时间把这段时间一些学习心得写出来 Unity inspector面板中的Rotation 在unity中 想必大家最先接触
  • Unity3d中脚本无法编译问题(Monodevelop)

    使用Monodevelop打开脚本 编译时报错 具体错误忘记了 原因是 net框架引起 升级到 net框架4 5后解决
  • unity dots jobSystem 记录

    Looking for a way to get started writing safe multithreaded code Learn the principles behind our Job System and how it w
  • unity3d 自定义的图片无法放入source image中

    须将图片的texture type改为 sprite
  • mixamo根动画导入UE5问题:滑铲

    最近想做一个跑酷游戏 从mixamo下载滑铲动作后 出了很多动画的问题 花了两周时间 终于是把所有的问题基本上都解决了 常见问题 1 动画序列 人物不移动 2 动画序列 人物移动朝向错误 3 蒙太奇 人物移动后会被拉回 4 蒙太奇 动画移动
  • 【Unity】如何让Unity程序一打开就运行命令行命令

    背景 Unity程序有时依赖于某些服务去实现一些功能 此时可能需要类似打开程序就自动运行Windows命令行命令的功能 方法 using UnityEngine using System Diagnostics using System T
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • 游戏策划:游戏开发中的关键环节

    在数字游戏的世界里 游戏策划是构建一个成功游戏的基石 游戏策划不仅仅是一个创意过程 它涉及从故事构建到技术实现的各个方面 以下是游戏策划中需要重点关注的几个重要内容 1 故事情节与世界观构建 一款游戏的魅力很大程度上取决于其故事情节和世界观
  • VS2022 | 显示Unreal Engine日志

    VS2022 显示Unreal Engine日志 视图 gt 其他窗口 gt Unreal Engine日志 视图 gt 其他窗口 gt Unreal Engine日志
  • 游戏开发常见操作梳理之NPC任务系统

    多数游戏存在任务系统 接下来介绍通过NPC触发任务的游戏制作代码 using System Collections using System Collections Generic using UnityEngine
  • 游戏开发之常见操作梳理——武器装备商店系统(NGUI版)

    游戏开发中经常出现武器商店 接下来为你们带来武器装备商店系统的具体解决办法 后续出UGUI Json版本 敬请期待 武器道具的具体逻辑 using System Collections using System Collections Ge
  • 游戏开发常见操作梳理之角色选择一

    进入游戏后 我们经常会进入角色选择的界面 通常是左右两个按钮可以更改角色供玩家选择 对于这种界面我们通常使用数据持久化将角色信息存储起来 接下来的笔记中 我将使用自带的数据持久化系统对其进行操作 实现角色的选择页面 后续会更新xml系列的文

随机推荐

  • mysql的docker镜像数据库初始化踩坑记

    一 制作docker镜像 在当前目录新建子目录script 将数据库初始化脚本拷贝进去 后缀名为 sql 脚本执行顺序是按字母大小排序 建议可以按 1 xxx sql 2 xxx sql这样命令 Dockerfile如下 FROM mysq
  • aps和php撒意思?,aps-c画幅是什么意思

    aps c画幅是指数码相机的CCD CMOS 的尺寸与APS的C型画幅大小相仿 在25mmX17mm左右 差不多是全画幅CCD CMOS 面积的一半 也称半幅机 本文演示环境 Windows7系统 Dell G3电脑 APS C画幅意思 A
  • Android前端音视频数据接入GB28181平台意义

    技术背景 在我们研发Android平台GB28181前端音视频接入模块之前 业内听到最多的是 如何用Android或者Windows端 在没有国标IPC设备的前提下 模拟GB28181的信令和媒体流交互流程 实现GB28181整体方案的测试
  • 头文件string与string.h的区别

    头文件string与string h的区别 在C 中 include
  • wayland与linux_Linux最让人叹息的地方

    这两天有空 试了试Sway 作为一直以来的i3用户 自己的使用环境各项配置基本也是该配的都配齐了 本来不以为然 没想到真正去到Sway却发现Wayland确实流畅很多 折腾了1天 满心想着终于来到了一个Tear free的Linux环境 结
  • 表完整性约束

    介绍 认识 约束条件和数据类型宽度一样 都是可选类型 作用 用于保证数据的完整性 一致性 有哪几种约束 primary key PK 标识该字段为该表的主键 可以唯一标识的记录 foreign key FK 标识该字段为该表的外键 not
  • JDBC的URL详解

    文章目录 JDBC的URL详解 1 jdbc的格式 2 例如 3 参数详解 JDBC的URL详解 1 jdbc的格式 jdbc mysql host failoverhost port database propertyName1 prop
  • 计算机网络的认识知乎,【知乎】计算机网络这门课为何如此之难

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 操作系统和计算机网络的共同点 在于它们都是相当复杂的体系结构 如果觉得难 也许是因为自己没能产生足够的求知欲 你也说了 无聊 晦涩 而无聊感其实是没治的 对课程的热情和对女生的爱慕感其实差不多
  • Texstudio的学习(一)

    一 入门知识 1 三要素 documentclass option class usepackage option package begin 环境名称 内容 end 环境名称 2 命令符号 1 documentclass option c
  • 东北大学c++实验(第二周)

    include
  • vim教程

    文章目录 1 移动光标 2 进入和退出 3 删除 4 插入 5 撤销 7 定位及文件状态 8 搜索类 9 匹配括号的查找 10 将文本里的某个字符串全部替换 11 在 VIM 内执行外部命令的方法 12 关于保存文件的更多信息 13 一个具
  • 【NLTK】安装和使用NLTK分词和去停词

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 黄聪 Python NLTK自然语言处理学习 一 环境搭建 http www cnblogs com huangcong archive 2011 08 29 215743
  • Matlab 三角函数(sin)

    a 这是一个三角函数 t 0 0 01 2 pi 从0到2pi 步长是0 01 y sin t plot t y 画坐标
  • java Map集合用stream流的方式遍历

    Map
  • c++基础复习——c++对象模型和this指针

    1 在c 中 成员变量和成员函数分开存储 只有非静态的成员变量才属于类的变量上 成员变量和成员函数是分开存储的 当定义一个空类 求空类的大小 include
  • oracle 从一个oracle导数据到另外一个oracle(二)

    场景 原有数据库A突然宕掉了 新搭建了数据库B应急 A启动后要把A上的数据迁移到B上 限制 1 A数据库是Oracle10g B数据库是Oracle11g 2 A的字符集是AMERICAN AMERICA ZHS16GBK B的字符集是AM
  • java 订单进度 设计,java多线程设计方式之订单模式

    java多线程设计模式之订单模式 Java多线程实现订单模式 客户端线程向服务端发起请求后 请求处理需要较长时间处理 这个时候客户端又需要及时得到一个结果响应 这好比我们去蛋糕店订蛋糕 蛋糕往往需要几个小时才能完成 这个时候店员就会给我一个
  • 小程序中父子组件通信的方法

    引入组件 全局组件 在app json文件中配置usingComponents 多个组件用逗号隔开 最后一个不加逗号 单页面使用的组件 在页面的 json文件中配置usingComponents usingComponents myConp
  • SpringBoot框架实现邮件发送(上)

    文章目录 前言 1 邮件发送类依赖导入 2 配置发件邮箱的信息 3 邮件接收类 4 邮件发送工具类 前言 实现登录注册功能的时候 一些软件总是要手机号验证码或者邮件验证码 手机号验证码功能的实现是需要付费使用的 而且也比较容易搭建 例如阿里
  • 【unity3d】Layers的控制/LayerMask的使用

    文章目录 unity Layers的控制 LayerMask的使用 Layers 概述 演示效果 Layers的设置 gameobject设置Layer 手动设置 代码设置 LayerMask的使用 Camera的culling mask的