美文网首页
Ray中的层过滤

Ray中的层过滤

作者: Lif68 | 来源:发表于2020-12-03 15:10 被阅读0次

和UE4能够设置linetrace的channel通道一样,ray一样能够通过添加自定义layer设置添加通道。

Unity中的射线和射线图层过滤

精华部分:
①通过操作位符实现
Unity使用一个32位的整数来代表图层掩码参数。举个例子,以下表示32位全是零:
0000 0000 0000 0000 0000 0000 0000 0000
默认情况下Unity使用前8层作为内置层。所以当你在不使用任何图层参数掩码参数的情况下调用光线投射方法时,它会对所有默认的这8层进行光线投射,可以用如下掩码表示:
0000 0000 0000 0000 0000 0000 1111 1111
我们把敌人所在层设置为第8层(下标为9),我们只希望对这个层进行光线投射。所以我们把掩码设置为:
0000 0000 0000 0000 0000 0001 0000 0000
设置这个位掩码简单的办法可以使用位移操作。我们只需要将下标为9的位置设置为1,这意味着我们只需要左移8位即可。使用向左位移操作符向左移8位,如下代码:

int layerMask =1<<8;

要是希望多个图层掩码,比如8层和9层,用按位或操作符即可:

int layerMask = (1<<8)|(1<<9);

如果要全部都检测,那么

LayerMask mask = -1;
Raycast传 mask.value

LayerMask还能够通过GetMask()的方法,获得特定通道的value

LayerMask.GetMask("Enemy")

相关文章

  • Ray中的层过滤

    和UE4能够设置linetrace的channel通道一样,ray一样能够通过添加自定义layer设置添加通道。 ...

  • 防止sql注入的方法和原理

    前端过滤,输入框中过滤特殊字符,或者限制输入的字符集合 代码层手动过滤,同上 利用连接池组件过滤,比如druid的...

  • 过滤html里的标签获取纯文本

    首先定义宏 之后就是一层层的过滤

  • SQL树形查询,每一层都过滤筛选

    参考 问题背景 今天碰到一个层级查询的问题,一共有6层,每一层都需要过滤条件... 如果一层包一层这样过滤,很明显...

  • iptables学习笔记

    iptables防火墙简介 基于包过滤防火墙 OSI 二三四层 iptables+squid实现7层过滤 Netf...

  • 水处理滤料排行榜前几位是这几个!

    过滤水中物质的材料就叫做水处理滤料,水流通经过水处理滤料构成的过滤层,悬浮颗粒被截留,过滤层与水质发生接触,使水得...

  • Iptables简单使用

    Linux的防护墙主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙(或者称为网络层防...

  • mikumikudance中的Ray渲染教程

    好了,那么下面来详细说一下mmd中的Ray1.3.1渲染的教程: 我们首先要在Ray的官网上面下载Ray渲染包,这...

  • macos 生成目录结构列表 tree

    安装 遍历 深度 3层,过滤 node_modules 帮助

  • 2018-11-13

    清水码头净水器的七重过滤 第一重过滤—膜内置陶瓷 过滤层:过滤精度达0.1微米,阻挡大颗粒物质、红线虫、悬浮物等;...

网友评论

      本文标题:Ray中的层过滤

      本文链接:https://www.haomeiwen.com/subject/qlwswktx.html