Layers层:

从Layers设置看来,最多支持32层.  图层的值开始依次 0^2,1^2, 2^2, 3^3 依次增加.

当摄像机Culling Mask属性

Nothing= –1

Evening = 全部图层之和, 项目开始默认设置了7个图层. 值就是0^2,1^2, 2^2, 3^3 .. 6^2  = 279

如果我们选择Defulat图层,所在第0位置值 0^2 = 1

如果我们选择Defualt,Transparent,图层位置0,1 = 0^2+1^2 = 3

组合:

假设在游戏中出现这种情况: A,B,C 我们需要通过设计一个数字来表示 [A,B,C,AB,AC,BC] 这6中组合,  我们只需要把A=0,B=1,C=2. 根据数字的^2方

A = 0 ,B = 1, C = 2,AB = 3,AC = 5,BC = 6

这样我们就可以通过一个数值来知道,角色有哪些权限.

向屏幕发射一条射线,检测是否碰撞到物体:

RaycastHit 获取到碰物体的信息

Ray 定义射线的规则

向屏幕发射一条射线

bool Physics.Raycast(Ray ray,out RaycastHit  hit, float distance, int layerMask)

代码:

using UnityEngine;
using System.Collections;public class Test : MonoBehaviour {private int index = 0;// Use this for initializationvoid Start () {int index =  LayerMask.NameToLayer("UIMode");}// Update is called once per framevoid Update () {RaycastHit hit;Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//以鼠标为原点,向世界发射一条长度100f的射线,只有UIMode图层的物体进行碰撞if (Physics.Raycast(ray, out hit, 100f, index)){Debug.Log("碰撞到UIMode的物体: " + hit.collider.gameObject.name);}}
}

转载于:https://www.cnblogs.com/plateFace/p/4264815.html

Unity屏幕射线碰撞相关推荐

  1. unity物理射线之原理分析(擅码网学习笔记)

    @[TOC]unity物理射线之原理分析(擅码网学习笔记) using System.Collections; using System.Collections.Generic; using Unit ...

  2. Unity基础射线判定以及编辑自定义模型

    Unity基础射线判定以及编辑自定义模型 Unity射线基础解析 Unity UI射线检测 射线判定生成自定义模型 代码很简单没有难度,自己看一下应该就能明白. OK 老规矩,直接上代码: Unity ...

  3. 直播笔记 | Unity中射线检测详解

    本文首发于洪流学堂微信公众号. 洪流学堂,学Unity快人几步 你好,我是郑洪智,你的技术探路者. 这周三我们直播剖析了Unity中射线检测的功能,以下是直播内容精华部分笔记. 完整录播:https: ...

  4. Unity - Ray射线检测

    一:射线 Ray射线 定义:射线是一条从原点出发,沿某一方向运动的无限直线. //创建一条初始位置为startPos,方向为dir的一条射线 Ray ray = new Ray (startPos, ...

  5. unity中射线碰撞检测总结

    这阵子通过看视频,看书对unity中射线碰撞检测,有了一些了解,这里我把它总结一下写下来,希望能帮助到你们,也希望通过各位大神来指正不足之处: 射线碰撞检测,就是由某一物体发射出一道射线,射线碰撞到物 ...

  6. unity通关射线检测实现3d模型自适应地形起伏

    unity通关射线检测实现3d模型自适应地形起伏 该方法是一种取巧的方式,不通关人物碰撞器什么的,很简单的一种思路 通过在模型的位置每次移动时向下发射一条射线检测,检测到地面碰撞器时,获取碰撞点的坐标 ...

  7. Unity屏幕永远保持为固定分辨率

    Unity屏幕永远保持为固定分辨率 Unity屏幕永远保持为固定分辨率 前言 开题废话 Unity版本 正题: 打开一场景 创建脚本并且编写 挂在脚本到场景摄像机上边 以不同比的分辨率运行程序,并且观 ...

  8. Unity 屏幕模糊效果

    Unity 屏幕模糊效果 前几天,美术要我做一个屏幕模糊的效果,百度了半天,最后总算解决了. 趁着有时间,现在来总结一下. 首先我这边是为了出效果,所以原理先放一边,来谈谈如何实现.什么高斯模糊,均值 ...

  9. Unity 物理系统 -- 碰撞体简介(碰撞、触发条件)

    Unity 物理系统 -- 碰撞体简介(碰撞.触发条件) 几个常用的碰撞体: Box Collider:盒碰撞体,盒碰撞体是一个立方体外形的基本碰撞体,该碰撞体可以调整为不同大小的长方体,可用作门.墙 ...

最新文章

  1. C/C++中__builtin_popcount()的使用及原理
  2. Ubuntu安装 AndroidStudio
  3. HDU3255(线段树+扫描线)
  4. “焖鸡”游戏中的排序问题
  5. VS 查看dll接口
  6. 通过解析器向DNS服务器发出查询
  7. 怎么用几何画板作一些简单的图形
  8. ojdbc7加入本地maven仓库
  9. easydarwin 安装_easydarwin支持什么格式
  10. 资料:《大学英语》精读第三版(全六册)原文及全文翻译
  11. 链塔年会圆桌论坛实录
  12. nginx 反向代理和正向代理区别
  13. Opcodes 说明
  14. 将VS2019设置成英文版
  15. java学习--装饰器设计模式
  16. 重新整理秋招准备的思路-9.20
  17. BIT前端训练营笔记(一)| 20211225 预习 | 常用标签、语义化、响应式设计
  18. 华为matebook重装win11系统后,蓝牙失效无法使用,重新安装蓝牙驱动
  19. Shiro-----Shiro入门简介
  20. Revit中模型文字的放置和族库工具介绍

热门文章

  1. 大环境下瑟瑟发抖辞职的第二天,拿了两个 offer
  2. Netty解决粘包和拆包问题的四种方案
  3. 程序员遇到的奇葩bug大集锦,硬盘开光很有必要!
  4. 月入5万,程序员夫人们过上贵妇生活了吗?
  5. Consul入门04 - Consul集群
  6. Redis: 跳跃表
  7. Android --- 夜神模拟器中没有图片怎么办?夜神模拟器中怎么导入图片?
  8. gparted调整分区大小_Windows系统分区可用空间不足问题解决终极方法
  9. js html转图片 ie8,用js滤镜实现在IE8-的图片旋转效果实现不了
  10. zkcli远程连接_ZooKeeper 学习笔记(二)-API 操作和应用