当前位置:网站首页>在Unity中判断游戏物体是否在游戏屏幕范围之内
在Unity中判断游戏物体是否在游戏屏幕范围之内
2022-08-10 05:35:00 【三和尚】
在Unity中判断游戏物体是否在游戏屏幕范围之内
public bool IsInView(Vector3 worldPos)
{
//获得游戏场景中主摄像机的Transfrom引用
Transform camTransform = Camera.main.transform;
//将传过来的世界坐标转化为游戏屏幕坐标
Vector2 viewPos = Camera.main.WorldToViewportPoint(worldPos);
//将坐标进行规范化
Vector3 dir = (worldPos - camTransform.position).normalized;
//判断物体是否在相机前面
float dot = Vector3.Dot(camTransform.forward, dir);
if (dot > 0 && viewPos.x >= 0 && viewPos.x <= 1 && viewPos.y >= 0 && viewPos.y <= 1)
return true;
else
return false;
}
void Update()
{
//因为屏幕看起来就像是二维坐标一样,所以要将游戏物体的世界坐标转化为游戏屏幕的二维坐标
Vector2 vec2 = Camera.main.WorldToScreenPoint(this.gameObject.transform.position);
if (IsInView(transform.position))
{
Debug.Log("目前本物体在摄像机范围内");
}
else
{
Debug.Log("目前本物体不在摄像机范围内");
}
}
注意:要把这个脚本绑定在这个要进行判断的游戏物体上!
边栏推荐
猜你喜欢
随机推荐
pytorch-06. Logistic regression
PyTorch之CV
Radon 变换原理和应用
STM32单片机手机APP蓝牙高亮RGB彩灯控制板任意颜色亮度调光
51单片机RS485远程双机多机温度采集主从机多节点蜂鸣器报警
pytorch-08.加载数据集
堆的原理与实现以及排序
STM32单片机RGB红蓝调光植物补光系统红光蓝光PWM调色调节亮度
Pytorch - 07. Multidimensional characteristics of input processing
【简易笔记】PyTorch官方教程简易笔记 EP1
Notes for RNN and Decision Tree
WeChat applet wx.writeBLECharacteristicValue Chinese character to buffer problem
STM32单片机LORA无线远程火灾报警监控系统DS18B20MQ2火焰检测
STM32F407ZG GPIO输入相关实验
pytorch-05.用pytorch实现线性回归
2022李宏毅机器学习hw1--COVID-19 Cases Prediction
Pico设备中的截图以及视频文件通过adb命令保存到电脑中
LeetCode 1351.统计有序矩阵中的负数(简单)
LeetCode 1894.找到需要补充粉笔的学生编号
Common class String overview