Unity入门5——Camera

一、参数面板

二、参数介绍


       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.mfbz.cn/a/29095.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

APP测试面试题快问快答(四)

16.App测试的实时日志如何获取? 考察点:是否有移动app测试的日志获取相关经验 一般可以通过以下方式获取: 1.可以使用adb命令:adb logcat | findstr "com.sankuai.meituan" >d:\test.txt 2.用ddms抓取&#xff0…

Postgresql源码(106)Generic Plan与Custom Plan的区别(以分区表为例)

相关: 《Postgresql源码(105)分区表剪枝代码分析》 《Postgresql源码(106)Generic Plan与Custom Plan的区别(以分区表为例)》 实例 CREATE TABLE measurement (city_id int not null,l…

FFmpeg音视频处理工具介绍及应用

1 FFmpeg介绍 FFmpeg项目由 Fabrice Bellard在2000年创立。到目前为止,FFmpeg项目的开发者仍然与VLC、MPV、dav1d、x264等多媒体开源项目有着广泛的重叠。Ffmpeg(FastForward Mpeg)是一款遵循GPL的开源软件,在音视频处理方面表现…

UDS关于0x37服务退出传输学习笔记

1.服务说明 客户端使用此服务来终止客户端和服务器之间的数据传输(上传或下载)。 2.请求消息 2.1请求消息子功能参数$Level(LEV_)定义 此服务不使用子函数参数。 2.2请求消息数据参数定义 transferRequestParameterRecord&a…

《微服务实战》 第二十九章 分布式事务框架seata AT模式

前言 本章节介绍微服务分布式项目中,使用的事务框架seata。 官网:http://seata.io/zh-cn/ springcloud-nacos-seata:https://github.com/seata/seata-samples/tree/master/springcloud-nacos-seata 1、概念 Seata 是一款开源的分布式事务解…

使用docker快速搭建redis哨兵模式

说明 本文主要参考: https://www.cnblogs.com/coderaniu/p/15352323.html https://developer.aliyun.com/article/892805 但是这两篇博客均缺失部分关键性细节,所以重新撰文。读者可以结合本文和上述文章一起阅读。 安装步骤 安装docker和docker-co…

小作文--流程图(练习1)

【【雅思写作】带你打破小作文‘流程图’的传说】 https://www.bilibili.com/video/BV1QP411Q7Gh/?share_sourcecopy_web&vd_source78768d4ae65c35ff26534bbaa8afc267 雅思小作文-流程图, 看这一篇就够了! - 冯凯文的文章 - 知乎 https://zhuanlan.zhihu.com/p/35868880 …

算法模板(3):搜索(3):图论提高

图论提高 最小生成树 (1)朴素版prim算法( O ( n 2 ) O(n ^ 2) O(n2)) 适用范围:稠密图易错:注意有向图还是无向图;注意有没有重边和负权边。从一个集合向外一个一个扩展,最开始只…

记录基于Vue.js的移动端Tree树形组件

目录 一、Liquor Tree 入门 : Development Component Options 组件选项 Structure 结构 二、vue-treeselect Introduction 介绍 Getting Started 入门 Vue 树形选择器( Vue tree select )组件在搭建 Vue 的 app 中特别常用&#xff0…

【Java|golang】2611. 老鼠和奶酪

有两只老鼠和 n 块不同类型的奶酪,每块奶酪都只能被其中一只老鼠吃掉。 下标为 i 处的奶酪被吃掉的得分为: 如果第一只老鼠吃掉,则得分为 reward1[i] 。 如果第二只老鼠吃掉,则得分为 reward2[i] 。 给你一个正整数数组 reward1…

【TypeScript】枚举类型和泛型的详细介绍

目录 TypeScript枚举类型 TypeScript泛型介绍 🎲泛型的基本使用 🎲泛型接口的使用 🎲泛型类的使用 🎲泛型的类型约束 枚举类型 枚举类型是为数不多的TypeScript特有的特性之一, JavaScript是没有的: 枚举其实就…

【FPGA零基础学习之旅#8】阻塞赋值与非阻塞赋值讲解

🎉欢迎来到FPGA专栏~阻塞赋值与非阻塞赋值 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒🍹 ✨博客主页:小夏与酒的博客 🎈该系列文章专栏:FPGA学习之旅 文章作者技术和水平有限,如果文中出现错误,希望大家…

解决elementUI弹出框关闭后再打开el-select下拉框无法选中的问题

文章目录 一、问题描述:二、问题解决 一、问题描述: 使用的前端UI框架为elementUI。 el-select组件在一个弹框中,打开该弹框,el-select可以正常选中,但是保存弹框中的表单信息关闭弹框后,再打开弹框&…

Spark大数据处理讲课笔记4.1 Spark SQL概述、数据帧与数据集

零、本讲学习目标 了解Spark SQL的基本概念掌握DataFrame的基本概念掌握Dataset的基本概念会基于DataFrame执行SQL查询 在很多情况下,开发工程师并不了解Scala语言,也不了解Spark常用API,但又非常想要使用Spark框架提供的强大的数据分析能力…

物联网Lora模块从入门到精通(二) LED灯泡闪烁与呼吸灯

目录 一、前言 二、实践与代码 1.电亮LED1 2.熄灭LED1 3.翻转LED电平 4.LED1与LED2交替闪烁 5.LED1呼吸灯 三、程序代码 一、前言 本篇内容属于新大陆物联网Lora模块开发,使用给定的Lora基础例程,并在其基础上开发完成,并可为其他版本的Lo…

亚马逊云科技Serverless构建的实时数仓解决方案,助力猎豹降低30%成本

也许你也听过这样一句话:“21世纪什么最贵?人才!”当数字经济全面席卷而来,这个问题的答案不可置否地变为了“数据”。通过数据分析获取近乎实时的洞察,以驱动业务的全流程,是企业数字化转型的必经之路。借…

Linux操作系统学习——启动

概要 Linux操作系统内核是服务端学习的根基,也是提高编程能力、源码阅读能力和进阶知识学习能力的重要部分,本文开始将记录Linux操作系统中的各个部分源码学习历程。 1. 理解代码的组织结构 以Linux源码举例,首先你得知道操作系统分为哪几个部…

【SpringCloud入门】-- 初识Eureka注册中心

目录 1.SpringCloudEureka简介 2.什么是CAP原则? 3.注册中心的概念? 4.SpringCloud其他注册中心 5.搭建Eureka注册中心 6.eureka的配置(主要是server,instance,client) 7.eureka集群概念 8.eureka集群搭建 1.SpringCloudE…

基于R语言的物种气候生态位动态量化与分布特征模拟

目录 专题一 引言 专题二 数据获取与处理方法 专题三 组合物种分布模型(Ensemble Species Distribution Model)的原理与使用 专题四 拓展研究 专题五 结果分析与论文写作 专题六 案例分析 专题七 总结和展望 利用R语言进行物种气候生态位动态量化…

【蓝桥杯算法题】用java遍写税收计算

【蓝桥杯算法题】用java遍写税收计算 题目&#xff1a;劳务报酬税收计算&#xff1a;输入 m &#xff0c;输出税后收入。如果 m <800&#xff0c;不扣税&#xff0c; 如果800< m <4000&#xff0e;则 m 减去800后的金额扣除20&#xff05;所得税。如果 m >4000&…