当前位置: 首页 > news >正文

Unity 中相机大小与相机矩形大小的关系

Unity 中相机大小与相机矩形大小的关系详解

在 Unity 中,相机的大小(Size)与相机矩形大小(Viewport Rect)是两个密切相关但概念不同的属性,它们共同决定了相机的渲染范围和显示效果。

核心概念解析

1. 相机大小(Camera Size)

  • 正交相机:Camera.orthographicSize 属性

    • 定义:相机视图的半高(从中心到顶部的距离)

    • 单位:世界单位(World Units)

    • 实际高度 = orthographicSize * 2

    • 实际宽度 = orthographicSize * 2 * Camera.aspect(aspect 为宽高比)

  • 透视相机:没有直接的 "Size" 属性

    • 通过 Camera.fieldOfView(FOV)控制视角大小

    • FOV 与显示大小的关系取决于物体与相机的距离

2. 相机矩形大小(Viewport Rect)

  • Camera.rect 属性

    • 定义:相机渲染画面在屏幕上的位置和范围

    • 格式:(x, y, width, height),归一化坐标(0-1)

    • 示例:

      • (0,0,1,1):全屏

      • (0,0,0.5,0.5):屏幕左下角四分之一区域

      • (0.5,0.5,0.5,0.5):屏幕右上角四分之一区域

1. 正交相机的关系公式

实际渲染宽度 = 2 * orthographicSize * aspect * rect.width
实际渲染高度 = 2 * orthographicSize * rect.height

2. 透视相机的关系公式

实际视角宽度 = 2 * distance * tan(fieldOfView * 0.5 * Mathf.Deg2Rad) * aspect * rect.width
实际视角高度 = 2 * distance * tan(fieldOfView * 0.5 * Mathf.Deg2Rad) * rect.height

3. 视觉大小对比表

设置正交相机效果透视相机效果
增加 Size/FOV显示更多场景内容显示更多场景内容
增加 Rect 宽度横向拉伸画面横向拉伸画面
增加 Rect 高度纵向拉伸画面纵向拉伸画面
Size 不变,Rect 缩小画面内容不变,显示区域变小画面内容不变,显示区域变小
Rect 不变,Size 增加显示更多内容,物体变小显示更多内容,透视感增强
http://www.lryc.cn/news/579844.html

相关文章:

  • Android 网络请求优化全面指南
  • rs-agent论文精读
  • 第十五节:第四部分:特殊文件:XML的生成、约束(了解即可)
  • 【Modbus学习笔记】stm32实现Modbus
  • Python 闭包(Closure)实战总结
  • 万勋科技「柔韧机器人玻璃幕墙清洗」全国巡展@上海!引领清洗无人机智能化升级
  • 读商战数据挖掘:你需要了解的数据科学与分析思维05拟合数据
  • Windows系统下WSL从C盘迁移方案
  • Vue-19-前端框架Vue之应用基础组件通信(二)
  • 算法学习笔记:6.深度优先搜索算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
  • 【办公类-54-07】20250901 2025学年第一学期班级点名册模版(双休国定假涂成灰色、修改标题和页眉,批量导出PDF)
  • 使用alist+RaiDrive+webdav将百度夸克网盘变为本地电脑磁盘方法教程
  • 基于微信小程序的校园二手交易平台、微信小程序校园二手商城源代码+数据库+使用说明,layui+微信小程序+Spring Boot
  • 如何搭建 OLAP 系统?OLAP与数据仓库有什么关系?
  • 推荐算法系统系列>推荐数据仓库集市的ETL数据处理
  • BLDC电机-运动控制---stm32时钟树定时器SYSTICKRTC的学习
  • Django Channels WebSocket实时通信实战:从聊天功能到消息推送
  • 前端查询条件加密传输方案(SM2加解密)
  • 浏览器(Chrome /Edge)高效使用 - 内部命令/快捷键/启动参数
  • 服务器如何配置防火墙规则以阻止恶意流量和DDoS攻击?
  • mybatisPlus分页方言设置错误问题 mybatisPlus对于Oceanbase的Oracle租户分页识别错误
  • HarmonyOS免密认证方案 助力应用登录安全升级
  • 使用循环抵消算法求解最小费用流问题
  • Python 制作 pyd(Windows 平台的动态链接库)
  • 【行云流水ai笔记】粗粒度控制:推荐CTRL、GeDi 细粒度/多属性控制:推荐TOLE、GPT-4RL
  • 10分钟搭建 PHP 开发环境教程
  • Java对象哈希值深度解析
  • 支持向量机(SVM)在LIDC-IDRI数据集上的多分类实现(肺癌检测)
  • 三五法则的类的设计
  • 供应链管理:指标评估方式分类与详解