Unity Bound
Bound:包围盒,边界框,AABB的简称,Mesh,Collider,Renderer都存在bound。(Mesh返回的是自身坐标,其余返回的是世界坐标)。
using UnityEngine;
using System.Collections;
using System.Xml;public class TestXml : MonoBehaviour {public GameObject Target;public GameObject Target2;Bounds bounds;void Start(){bounds = Target.GetComponent<BoxCollider>().bounds;Debug.Log("center:" + bounds.center);//中点Debug.Log("Size:" + bounds.size);//bound的大小,等于extents*2Debug.Log("Min:" + bounds.min);//bound上最小的点,总是等于center-extentsDebug.Log("Max:" + bounds.max);//bound上最大的点,总是等于center+extentsDebug.Log("extents:" + bounds.extents);//圣典上翻译成广度,笔者也不清楚如何理解,它等于size/2//传入一个点,找离bounds最近的点,如果点在bounds上,则返回输入的点Debug.Log(bounds.ClosestPoint(bounds.center));Debug.Log(bounds.ClosestPoint(bounds.min));Debug.Log(bounds.ClosestPoint(Vector3.zero));//判断点是否在bounds上Debug.Log(bounds.Contains(bounds.center));Debug.Log(bounds.Contains(bounds.min));Debug.Log(bounds.Contains(Vector3.zero));Bounds temp = new Bounds(Vector3.zero, Vector3.one * 3);bounds.Encapsulate(Vector3.one);//使bound包含这个点bounds.Encapsulate(temp);//使bound包含参数boundbounds.Expand(Vector3.one * 2);//扩大包围盒bounds.SetMinMax(Vector3.zero, Vector3.zero);//设置最大最小点,且比单独设置min,max效率要高Debug.Log(bounds.Intersects(temp));//是否与参数包围盒相交Debug.Log(bounds.SqrDistance(Vector3.up * 2));//返回一个参数点与bound最近的距离平方;}bool DetectHit(Ray ray){ //判断射线是否在bound上return bounds.IntersectRay(ray);}void Update(){if (Input.GetMouseButtonDown(0)) {Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);if (DetectHit(ray)){Debug.Log("点中包围盒");}else {Debug.Log("没有点中");}}}
}
转载请注明出处:Mr_Jis的博客
Unity Bound相关推荐
- unity片元着色器中获取屏幕坐标_Unity踩坑笔记(持续更新)
1.error CS0104: 'MinAttribute' is an ambiguous reference between 'UnityEngine.Rendering.PostProcessi ...
- Unity 2017 Game Optimization 读书笔记 Dynamic Graphics (4)
Optimizing Unity UI 本章讲探讨一些能够提升UGUI性能的优化方法. 1.Use more Canvases 一个Canvas的主要任务就是管理它层级下的所有UI元素,并且通过Dra ...
- Unity 2017 Game Optimization 读书笔记 Dynamic Graphics(1)
The Rendering Pipeline 渲染表现差有可能取决于CPU端(CPU Bound)也有可能取决于GPU(GPU Bound).调查CPU-bound的问题相对简单,因为CPU端的工作就 ...
- sp 导出unity哪个_GitHub上发现的一个导出Unity3D场景数据的工具
1.源地址 2.导出脚本 脚本名:Unity3DExporter.cs ```C# using UnityEditor; using UnityEngine; using System; using ...
- 【Unity开源项目精选】AssetStudio:提取Unity游戏的资源
洪流学堂,让你快人几步.你好,我是你的技术探路者郑洪智,你可以叫我大智. 今天给你分享一个Unity开源项目,我们一起来看看吧! AssetStudio AssetStudio 是一个用于探索.提取和 ...
- unity如何得到所有子对象_Unity3D研究院之自动计算所有子对象包围盒(六)
蹦蹦呛 说: 雨松大大超级棒棒,看了雨松大大的第二版游戏开发,很细节,都是一些底层.超级棒. 林会亮 说: 我是新手,请问这个脚本完成需要什么条件?(是否需要继承editor或者继承其他) 早上也用编 ...
- 【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01
目录 1 TileMap概念 主要思想 优点 创建的层级 2 Unity中的TileMap 2.1 自动父级Grid 网格 2.2 Sprite精灵 2.3 Tile 瓦片 2.4 Tile Pale ...
- [Unity]Optimize Your Mobile Game Performance中文版
写在最前,能力有限,翻了个大概,轻喷.有兴趣和能力的同学还是建议看英文原版. 原版链接 提取码:p9fu 注:标黄部分是由于能力有限,实在难翻,大家可以参考英文原文做一个理解. 顺便吐槽下:如果直接复 ...
- Unity手机震动,Unity -> ios 震动
说明 Unity 有自己的 接口 Handheld.Vibrate() 来实现手机的震动,这里来介绍下Unity调用ios原生震动. 下面有两种方法震动的实现,用来自己测试.建议使用方法一. 方法一 ...
- 【Unity3D】 Unity Chan项目分享
写在前面 之前的一个博文里分享了日本Unity酱的项目,如果大家有去仔细搜Unity酱的话,就会发现日本Unity官方还放出了一个更完整的Unity酱的项目,感觉被萌化了!(事实上,Unity日本经常 ...
最新文章
- css3绘制环形_HTML5 + CSS3 gt;gt;gt; 015
- c++运算符重载中很多人易忘的小细节
- python全局变量的声明和使用_python自学篇(第三章:函数)
- 文件不存在的话创建文件 文件上传所遇到的问题、
- Atitit 直播问题总结ffmpeg 目录 1.1. 屏幕太大,可以使用-s调整分辨率	1 1.2. Full size	1 1.3. 流畅度调整	1 2. 	1 2.1. 没有录音	1 2.2.
- java实现二维码的生成与解析
- brctl 设置ip_Linux 网桥配置命令:brctl
- 普华永道:2030年区块链价值将突破30万亿
- 什么是OA系统的工作流?
- 一个官网很详细的富文本编辑器
- 如何计算虚拟化vcpu_虚拟化中虚拟机处理器核数与物理主机cpu的关系
- linux下防火墙iptables用法规则详解
- 【对讲机的那点事】带你玩转科立讯DR650数字中转台
- linux 上传文件rz -bye
- 计算机二级 12月 地区,计算机二级各地区报名时间
- 魅族u20怎么刷Android,魅族魅蓝U20怎么刷机
- Windows7端口被占用的解决办法(笔记本端口被占用)
- python中的eof错误_python – 解析器YACC中的EOF错误
- Python制作一个简易连点器
- EveryThing下载链接