博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Camera相机
阅读量:6904 次
发布时间:2019-06-27

本文共 1129 字,大约阅读时间需要 3 分钟。

####1. Clear Flags 清除标记 每个相机在渲染时会存储颜色和深度信息。屏幕的未绘制部分是空的,默认情况下会显示天空盒。当你使用多个相机时,每一个都将自己的颜色和深度信息存储在缓冲区中,还将积累大量的每个相机的渲染数据。当场景中的任何特定相机进行渲染时,你可以设定清除标记以清除缓冲区信息的不同集合。可以通过下面四个选项之一来完成:

1.Skybox 天空盒

这是默认设置。在屏幕上空的部分将显示当前相机的天空盒。如果当前相机没有设置天空盒,它会默认使用渲染设置(在Edit->Render Settings里)中选择的天空盒。然后它将退回使用背景颜色。另外天空盒组件可以添加到相机上。如果你想创建一个新的天空盒,您可以使用本。

2.Solid Color 纯色

屏幕上的任何空的部分将显示当前相机的背景颜色。

3.Depth Only 仅深度

如果你想绘制一个玩家的枪而不让它在环境内部得到裁剪,你要设置一个深度为0的相机来绘制环境,还要另一个深度为1的相机单独绘制武器。该武器相机的清除标记应设置为仅深度。这将保持环境的图形显示在屏幕上,但会丢弃所有关于每个对象在三维空间中的位置的信息。当枪被绘制出来,不透明的部分将完全覆盖任何已绘制的事物,而不管枪到墙之间如何接近。(这部分看起来很费劲)

4.Don't Clear 不清除

该模式不清除任何颜色或深度缓存。其结果是,每帧绘制在下一帧之上,造成涂片效果。这不是用于游戏的典型方式,最好是与自定义着色器一起使用。

####2. Projection Unity的MainCamera的Projection可选择Perspective【透视】,Orthographic【正交】,是指摄像机两种不同的视图,这两种视图有什么区别呢?

1 Orthographic 无法判断距离 正交视图无法看到一个物体是远离自己还是正在我们面前。为什么? 因为它不会根据距离收缩。所以如果你如果你画一个固定大小的物体在视点前面,同时画一个同样大小的物体在第一个物体的远后方,你无法说那个物体是第一个。因为两个都是一样的大小,根距离无关。他们不会随着距离而收缩。

2 Perspective 例子:远小近大 一个高个子的人站在你面前,他看上去是很高的。 但是如果这个高个子站在100米以外,他甚至还没有你的拇指大。他看上去会随着距离而缩小,但是我们实际上都知道,它依然是个高个子。这种效果叫做透视。 例子中提到的两个物体,第二个物体将会显示地更小,所以我们可以区分哪个是离我们近的物体,那个是离我们远的物体。

转载于:https://juejin.im/post/5b3ac9455188256251534257

你可能感兴趣的文章
Kafka多数据中心部署灾备三要素
查看>>
F# 4.5提供Spans、Match!等特性
查看>>
复出!前腾讯AI Lab主任张潼加入创新工场,兼任科研合伙人\n
查看>>
Jenkins将致力于提升稳定性、易用性和云原生兼容性
查看>>
腾讯云与每日优鲜便利购战略签约 引领无人零售2.0时代发展
查看>>
GitHub推出预览版组织成员APIs
查看>>
数据库“裸奔”再引祸端:VOIPO数百万呼叫和短信日志流出
查看>>
用Flink取代Spark Streaming,知乎实时数仓架构演进
查看>>
云原生的浪潮下,为什么运维人员适合学习Go语言?
查看>>
Adrian Cockcroft重新审视微服务
查看>>
Android开发周报:Groovy基础详解、Android远程调试探索
查看>>
公开仓库中Docker镜像的漏洞分析结果发布
查看>>
Spark性能调优之道——解决Spark数据倾斜(Data Skew)的N种姿势
查看>>
.map() vs .forEach() vs for() 如何选择?
查看>>
dianping-cat安装
查看>>
Electron折腾笔记
查看>>
HTML中关于class内容空格多类名的问题详解
查看>>
fir.im Weekly - 如何用 iPad 创造技术生产力
查看>>
Docker环境下的中间件监控,没错就两步
查看>>
RxJS的基本概念
查看>>