| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> UniyLayerMask详细解析 -> 正文阅读 |
|
[游戏开发]UniyLayerMask详细解析 |
网上找的资料(1)LayerMask mask = 1<<2; ----开启Layer2 其中 <<左边的 1表示有[开启],0表示没有该layer[忽略] 。右边的2表示左移2位即是 layer2层的位置。 (2)LayerMask mask = 1 << 0 | 1 << 2;; ----开启layer 0和layer 2 (3)LayerMask mask = 1 << 0 | 0 << 2 ----开启Layer0 并关闭 Layer2 (4)打开Npc层,变1 或 运算符
(5)关闭Npc层,变0 按位与 & 按位取反 ~ camera.cullingMask &= ~(1 << LayerMask.NameToLayer("Npc")); (6)开关Npc层,按位异或 ^ camera.cullingMask ^= 1 << LayerMask.NameToLayer("Npc"); 射线判断这个视频有些啰嗦,但居然原理什么的都说到了 但是当然,比较”工业化“,实战的写法如下:
判断是否在”层“内,是否包含层? LayerMask原理其实,就是位运算 哥一开始也很疑惑, 当然,哥是有设计过很旧的.exe的多层次处理,也是有用到位运算 或者,当你想设计一个引擎时,也必须会需要位运算的知识 别说,你不会能创造一个引擎取代Unity,万一真的能成呢 ?如图,Layermask的原理很简单,再看一个简单的代码:
?WindowOpenMask 或者 LayerMask 要能成功执行左移运算(位运算)的关键在于能够: int ->?mask 有了上面改写运算符的方法,就可以这么写代码了
是不是很简单呢?? 请他原理就自行看LayerMask.cs的代码实现把 参考: 一开始觉得这哥们写的挺长的,一个数字整好几十位,有什么用,但后来发现还是写的是最清晰的一个 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 11:01:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |