首页 > Unity3D引擎 > 进阶系列 > 检测3dui或3d物体是否在摄像机视野内
2017
02-04

检测3dui或3d物体是否在摄像机视野内

今天,一个关系很好的同事问我,如何检测3dUI是否在摄像机视野内。

刚春节放假回来,也不是很忙,就花点时间研究了下。把研究结果分享给大家。

首先是在3d环境的ui,即Canvas的RenderMode为“World Space”。

判断是否在摄像机视野范围,需要知道物体或UI的渲染边界框

所以我们第一步 先给ui加上“Sprite Renderer”组件,来获取UI的bounds

如果ui为image,则设置“Sprite Renderer”组件的“Sprite”属性为该image的图片

如果ui是text或者其它,就随便设置“Sprite”一张图片

这里的“Sprite”是一定要设置的,否则会一直检测不在视野内

在设置ok后,添加下面脚本,随便挂载到物体上,并给image赋值后 即可测试

这里介绍的3dui其实是根据3d物体的思路来的,如果要检测3d物体是否在视野内,就把“SpriteRenderer”更换为“Renderer”就可以了。

最后编辑:
作者:网虫虫
网虫虫
分享是一种快乐; 分享是一种美德; 分享是一种幸福!

留下一个回复

你的email不会被公开。