Unity入门5——Camera

news2025/2/11 8:52:17

一、参数面板

二、参数介绍


       1. Clear Flags:清除背景

                Skybox:天空盒背景(通常用来做 3D 游戏)

                Solid Color:使用 Background 颜色填充(通常设置为全黑或全白,2D 使用)

                Depth Only:只画该层,背景为透明(多个摄像机叠加渲染时使用)

                Don’t Clear:不移除上一帧的画面,覆盖渲染,通常不使用

                在 Game 窗口下取消如下设置,移动物体,会看到叠影:

 

  1. Background:背景颜色,配合如上 Clear Flags 使用

  2. Culling Mask:选择性渲染部分 Layer 层级

    可以设置物体的 Layer 层级,然后在 Camera 中的 Culling Mask 设置需要显示的层级。

 

4.Projection:投影模式

        Perspective:透视模式,物体近大远小

        FOV Axis:视场角、轴

        决定了下面的 Field of View 是以水平方向还是竖直方向进行计算,一般不用改变

        Field of View:视口大小

        Physical Camera:物理摄像机

        2019 新版本的功能,勾选后模拟真实世界中摄像机的焦距、传感器尺寸、透镜位移等,一般不使用

 

      • Focal Length:焦距
      • Sensor Type:传感器类型
      • Sensor Size:传感器尺寸
      • Lens Shift:透镜移位
      • Gate Fit:闸门配合
  • Orthographic:正交模式,远近显示的物体大小一样

    • Size:设置的范围

5.Clipping Planes:裁剪平面距离

摄像机显示的区域是一个四棱台,并不是一个四棱锥。

 6.Viewport Rect:摄像机视口范围

决定了屏幕上该摄像机绘图的位置和大小,主要用于双摄像机游戏,0 ~ 1 表示百分比

 

7.Depth:渲染顺序的深度

        Depth 越大,优先级越低,越后被渲染,画面越在上层

        可以配合 Clear Flags 中的 Depth Only 使用(UICamera)

8.Rendering Path:渲染路径

        目前可以不理会

9.Target Texture:渲染纹理

        将摄像机的画面投影到一张图上,该图需在 Project 中右键创建 Render Texture

        主要用于制作小地图

 

10.Occlusion Culling:是否启用剔除遮挡

被遮挡的物体将不被渲染,通常勾选上,以节约性能

11.HDR:高动态范围渲染

目前可以不理会

12.MSAA:抗锯齿

目前可以不理会

13.Allow Dynamic Resolution:是否允许动态分辨率呈现

目前可以不理会

14.Target Display:摄像机绘制在哪个显示器上

主要用于开发有多个屏幕的平台游戏

15.Target Eye:VR 中显示在左眼还是右眼

目前可以不理会

16.Target Display:摄像机绘制在哪个显示器上

主要用于开发有多个屏幕的平台游戏

17.Target Eye:VR 中显示在左眼还是右眼

三、代码控制

(一)重要静态成员

        1.获取摄像机

// 如果用之前的知识 来获取摄像机
// 主摄像机的获取
// 如果想通过这种方式 快速获取摄像机 那么场景上必须有一个tag为MainCamera的摄像机
print(Camera.main.name);

// 获取摄像机的数量
print(Camera.allCamerasCount);

// 得到所有摄像机
Camera[] allCamera = Camera.allCameras;
print(allCamera.Length);

        2.渲染相关委托

// 摄像机剔除前处理的委托函数
Camera.onPreCull += (c) => { };

// 摄像机 渲染前处理的委托
Camera.onPreRender += (c) => { };

// 摄像机 渲染后 处理的委托
Camera.onPostRender += (c) => { };

(二)重要成员

1.界面参数

// 界面上的参数 都可以在Camera中获取到

// 比如 下面这句代码 就是得到主摄像机对象 上的深度 进行设置

Camera.main.depth = 10;

2.世界坐标转屏幕坐标

// 转换过后 x和y对应的就是屏幕坐标 z对应的 是 这个3D物体 里我们的摄像机有多远
// 我们会用这个来做的功能 最多的 就是头顶血条相关的功能
Vector3 v = Camera.main.WorldToScreenPoint(this.transform.position);

3.屏幕坐标转世界坐标

// 之所以改变Z轴 是因为 如果不改 Z默认为0
// 转换过去的世界坐标系的点 永远都是一个点 可以理解为 视口 相交的焦点
// 如果改变了Z 那么转换过去的 世界坐标的点 就是相对于 摄像机前方多少的单位的横截面上的世界坐标点
Vector3 v = Input.mousePosition;
v.z = 5;
obj.position = Camera.main.ScreenToWorldPoint(v);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/645999.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ARM AMBA ATB 入门 1 - ATB 总线简介】

文章目录 背景1.1 ATB BUS1.2.1 全局信号1.2.2 数据信号1.2.3 流控信号1.2.4 Trace ID1.2.5 Buffer Flusing 背景 在 AMBA3 中,增加了 Advanced Trace Bus (ATB) 总线作为片上调试的总线接口,为 Debug 和 Trace 提供一种解决方案。第3代总线是2003年发布…

存储快速入门——【1】网络存储主要技术(NAS、SAN、SCSI、CIFS、zone)

存储快速入门——【1】网络存储主要技术 1 NAS简介(网络) 在20世纪80年代初,英国纽卡斯尔大学布赖恩.兰德尔教授 ( Brian Randell)和同事通过“纽卡斯尔连接”成功示范和开发了在整套UNIX机器上的远程文件访问。继“纽卡斯尔连接”之后&…

Springboot集成Redis常见的报错和解决方案

Springboot集成Redis后运行时常见的报错信息和其解决方案 1. io.lettuce.core.protocol.CommandHandler : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。报错信息原因分析解决方案 2. io.netty.util.internal.OutOfDire…

Python自动化测试 史上最全的进阶教程

Python自动化测试就是把以前人为测试转化为机器测试的一种过程。自动化测试是一种比手工测试更快获得故障反馈的方法。 随着时代的变革,也许在未来测试这个职位的需求会越来越少甚至消失,但是每一个组织,每一个客户对软件质量的要求是永远不…

剪辑软件生成的mp4素材无法打开的修复方法

专业剪辑软件可以对视频、音频进行各种修改、美化,像adobe的PR等。今天我们来看一个剪辑软件生成的视频无法打开的修复案例,看看遇到这种情况如何处理. 故障文件:273M和1.72G两个文件 故障现象: 剪辑完成后保存到移动硬盘(文件系统为exfat…

VALSE 2023 无锡线下参会个人总结 6月10日-1

VALSE2023无锡线下参会个人总结6月10日-1 会场照片6月10日会议日程安排大会主旨报告:高文:特征编码与数字视网膜焦李成:下一代深度学习的思考与若干问题陈熙霖:计算机视觉-从孤立到系统性方法 企业宣讲环节(一&#xf…

邓铎:书中自有天地人

邓铎,一个优秀的艺术家,他的书法作品、理论文章自成一派,从书法中咀嚼出人生百味,大千世界,写下了他生命中“六十余载,书中天地人”的执着与坚持。 作为一名优秀的书法家,邓铎的艺术表达具有独…

网安笔记14 firewall

防火墙概述 由软件和硬件组成的系统,它处于安全的网络和不安全的网络之间,根据由系统管理员设置的访问控制规则,对数据流进行过滤 对于内部攻击以及绕过防火墙的连接却无能为力 对数据流如何处理 允许数据流通过拒绝数据流通过&#xff0…

构建工具 Vite、Webpack、Rollup对比

Webpack介绍 热更新方面:webpack支持HMR,但是webpack需要全部重新编译并更新,效率较低 tree-shaking:webpack2开始支持且消除效果不好,但是webpack5有更好的tree-shaking(去除未使用代码) 分包…

0基础学习VR全景平台篇第43篇:编辑器底部菜单-隐藏场景

大家好,欢迎观看蛙色VR官方系列——后台使用课程! 本期为大家带来蛙色VR平台,底部菜单—隐藏场景功能操作。 功能位置示意 一、本功能将用在哪里? 隐藏场景功能,指将选中的场景隐藏,浏览页将不显示隐藏的…

最详细,从0-1性能测试步骤详细,测试老鸟经验总结...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 性能测试流程 性…

sandfly-entropyscan:一款功能强大的恶意程序熵扫描工具

关于sandfly-entropyscan sandfly-entropyscan是一款功能强大的熵扫描工具,该工具可以用于检测与恶意软件相关的打包文件或加密二进制文件。除此之外,该工具还支持查找恶意文件和Linux进程相关的安全信息,并提供带有加密哈希的输出结果。 s…

cesium学习(下载,官方案例)

下载cesium源码 可以从官网直接下载,官网下载的是编译好的。链接: https://www.cesium.com/downloads/从github下载源码,方便我们本地调试学习(本文采用这种方式)。链接: https://github.com/CesiumGS/cesium 运行项目 安装依赖 npm i运行 npm run …

八股|ThreadLocal的内存泄露

ThreadLocal是个好用的工具类,但是使用不好是会导致内存泄露的。 内存泄露:之前开辟使用的内存空间,在使用完毕后未释放,结果导致一直占据该内存单元,无法被gc回收,导致该内存单元后续无法被使用&#xff0…

优思学院|质量管理六大思维陷阱【四】:抽样检查是最经济又能保证质量的方法吗?

在质量控制的过程中,一个常见的误解是认为抽样检查是最经济又能保证质量的方法。许多人认为进行百分之百的全数检查既浪费人力又时间不够。因此,他们倾向于采用抽样检查的方法,认为这样既符合经济成本,又能确保产品质量的水准。 …

Java中的死锁和Lock锁

6.死锁 1.死锁的理解: 不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁 2.说明: 1出现死锁后,不会出现异常,不会出现提示,只是锁的线程…

【小白入门】Verilog实现异步FIFO

之前也在CSDN上面写过两个FIFO相关的文章,不过代码看起来比较复杂,且注释也比较少,不利于新手入门。很多时候都没有耐心继续看下去。 http://t.csdn.cn/0dPX6 http://t.csdn.cn/lYvoY 因为自己本身是一个初学者,就从初学者的视…

交换排序——冒泡排序和快速排序

一、交换排序的基本思想 1、两两比较&#xff0c;如果发生逆序则交换&#xff0c;直到所有记录都排好序为止。 2、常见的交换排序方法&#xff1a;冒泡排序和快速排序 3、最简单的交换排序——简单选择排序算法描述 void SelectSort(SqList &K) {for (i1; i<L.lengt…

浅谈C++和Java中对象的等号赋值

随着对C学习的深入&#xff0c;发现了一些和Java在设计思想上有所不同的地方。其一就是对象的拷贝赋值。 在Java中&#xff0c;如果定义了两个对象s1和s2&#xff0c;在堆内存中将会创建两个对象实体。那么s1 s2;表示s1指向的对象发生改变&#xff0c;即指向了s2所指向的对象…

8分钟让你完全掌握代理IP基础知识和实际应用

概念 代理IP可以理解为一个中转服务器&#xff0c;将用户和目标服务器之间的请求和响应进行转发和代理。使用代理IP的主要目的是隐藏用户的真实IP地址、访问被限制的内容、提高网络连接速度和保护用户隐私。 目录 概念 一、代理IP的工作原理 二、代理IP的类型 三、为什么…