相机属性

1.相机的Clear属性:
Skybo背景会渲染天空盒;
solid color背景为颜色;
depth only仅仅深度,相当于优先级;
Don`t Clear背景是上一帧的图像;
2.Projection投影方式:
Perspective透视模式,这里相机看到的和人眼类似,是一个由角度的视野范围,这个模式下相机会出现Filed of View,用于设置相机视野的角度;
Othographic正交模式,相机渲染平行区域,这里最佳例子是2D游戏的方式,这个模式下会出现Size属性,主要用于设置平行区域的大小。
3.Clipping Planes裁剪平面:
这里主要用于设置相机渲染世界区域的前后两个裁剪平面的位置。
4.Depth相机的深度:
这里相当于多个相机的渲染优先级,定义谁先渲染。
5.Viewport Rect:
用于设置裁剪区域的宽高和在屏幕上的偏移。默认情况下xy为0,hw为1刚好铺满整个屏幕。否者屏幕的其他区域均为黑色。

6.Rendering Path:
这里是相机的渲染路径,这里主要和shader一些特殊效果有关。
7.Target Texture目标贴图:
如果如果这里添加了Renderer Texture(渲染贴图),那么相机的获得的内容会渲染到Render Texture上,而不是屏幕上,可以新建一个材质,让材质的贴图为Render Texture,就能在使用该材质的物体上看到相机内容,但是还需要另一个相机来渲染世界中的物体到屏幕上,用途如在场景中制作一个电视机来播放场景中另一个地方发生的事。这个材质对UI同样有效,可以用来制作小地图。


8.Occlusion Culling遮挡剔除:
主要用于场景中的渲染优化,选择性的不渲染某些物体,提高机器速度。

9.Allow HDR(Hight Dynamic Range):
相机将会识别更多的颜色,渲染将更真实。
10.Allow MSAA:
允许硬件抗锯齿。
11.Target Display:

这个属性可以用来设置分屏幕,实现两个硬件屏幕显示同一个场景中不同的内容。

相机的操作与应用

1.遮挡剔除的操作

要使用遮罩裁剪,首先要打开Occlusion Culling面板,在Windows->Occlusion Culling选项中。
00
将需要进行遮罩裁剪的场景物体进行设置,选中右上角Static中的Occluder Static和Occludee Static两个选项。

01
随后在Occlusion面板中有三部分内容,分别是Object、Bake和Visualization。

在Object选项中,我们可以设置遮罩方式,一般使用默认设置即可,如果使用了Occlusion Areas,在场景中如果未对Area进行设置,则默认为Area是整个场景。

02
在Bake面板中,有三个选项,分别是Smallest Occluder、Smallest Hole和Backface Threshold。

Smallest Occluder可以设置能够遮挡其他物体的物体最小尺寸,当物体的长、宽、高中的某个尺寸大于这个最小尺寸时,便可以对后边的物体发生遮挡。

Smallest Hole可以设置相机通过最小间隙或孔洞可以看到之后的物体,当相机前方的物体间隙或孔洞小于最小值时,其后方的物体将可能不会进行渲染。

Backface Threshold可以设置物体的背面是否可见,当设置为100时,则所有物体的背面都是可见的,当小于100时,物体的背面将从Occlusion的数据集中删除,一般可以使用默认值100。

所有设置完成后,即可对当前场景进行渲染,点击Bake选项执行操作。

03
当完成Bake操作后,可以选择Visualization面板,在Scene中观察遮罩剔除的效果,如果不满意,可以重新设置选项中的值,并将原始的数据Clear掉,重新Bake即可。

如果在Bake时你选择了Occlusion Areas,需要对Areas进行大小设置,在设置完成后选择Bake,便会对所选区域进行Bake操作。

2.相机的渲染层次问题

一般情况下例如,可以让一个相机渲染UI,另一个相机专注在场景中的操作,UI相机的depth应该大于场景相机的depth,才能正确渲染UI,但是渲染UI的相机的clear tag需要设置为depth Only,否则将看不到场景相机的内容,因为在渲染上,天空和会被当做一个无限大的物体,因此会遮挡场景相机的内容,设置depth Only相当于裁剪掉对天空盒的渲染。
3.相机的同屏幕分屏问题

如果要将屏幕分割成左右两个部分,来实现两个玩家同时游戏,或者其他的应用,那么有两个方式:第一个是使用Render Texture,将其作用到左右两个UI上,让两个相机渲染到两个UI上;第二个方式是设置相机viewport Rect的属性,让两个相机分别使用屏幕的两个部分。

3.相机之间的转换

相机属于一个物体,但是相机之间的有着屏幕的关联,比如用一个相机的下的UI来在屏幕上跟随另一个相机看到的一个物体,那么可以先将这个物体转换成屏幕坐标,再将屏幕坐标转换成另一个相机下的世界坐标。

Unity 相机的更多相关文章

  1. unity相机跟随Player常用方式

    固定跟随,无效果(意义不大) public class FollowPlayer : MonoBehaviour { public Transform Player; private Vector3 ...

  2. unity, 相机空间 与 相机gameObject的局部空间

    在unity里 相机空间 与 相机gameObject的局部空间 不重合. Camera.worldToCameraMatrix的文档中有这样一句话: Note that camera space m ...

  3. Unity相机平滑跟随

    简介 unity中经常会用到固定视角的相机跟随,然后百度发现大家都是自己写的,然后偶也写咯一个,分享一下 PS: 由于刚学C#不久,才发现delegate这个东东,也不知道对性能影响大不大,但是看MS ...

  4. Unity 相机的聚焦功能

    摘要:本文原创,转载请注明出处 需求: 在游戏的任务编辑场景进行编辑的时候,摄像机需要在多个需要编辑的物体之间来回切换,如果只是用摄像机的移动旋转,对于相对位置较近的物体还好说,当相对位置过远的时候, ...

  5. Unity相机跟随-----根据速度设置偏移量

    这里假设在水中的船,船有惯性,在不添加前进动力的情况下会继续移动,但是船身是可以360度自由旋转,当船的运动速度在船的前方的时候,相机会根据向前的速度的大小,设置相机的偏移量,从而提高游戏的动态带感. ...

  6. Unity 相机花式分屏

    花式分屏,顾名思义,可以实现各种不规则几何边界的分屏,是无法直接通过调整相机视口能达到效果的(只能实现矩形的分屏),例如斜对角分屏,几何图形分屏: 假设我们有两个相机,需要上面的斜对角分屏画面,和镜子 ...

  7. Unity相机鼠标基本控制

    一.滚轮控制视角缩放 /// <summary> /// 滚轮控制相机视角缩放 /// </summary> public void CameraFOV() { //获取鼠标滚 ...

  8. Unity相机跟随

    固定相机跟随 这种相机有一个参考对象,它会保持与该参考对象固定的位置,跟随改参考对象发生移动 using UnityEngine; using System.Collections; public c ...

  9. Unity 相机平移、旋转、缩放

    内容不多,一个脚本,直接上代码 using System.Collections; using System.Collections.Generic; using UnityEngine; publi ...

随机推荐

  1. zabbix的简单操作(proxy代理分布式监控)

    分布式监控 作用:分担压力,减轻负载,多机房监控 通过zabbix proxy的搭建,zabbix server可以远程从proxy获取到数据,这里的环境相当于zabbix server具有一个公网i ...

  2. HashMap,LinkedHashMap,TreeMap的有序性

    HashMap 实际上是一个链表的数组.HashMap 的一个功能缺点是它的无序性,被存入到 HashMap 中的元素,在遍历 HashMap 时,其输出是无序的.如果希望元素保持输入的顺序,可以使用 ...

  3. HDU - 6087 Rikka with Sequence (可持久化treap+倍增+重构)

    题目链接 感谢Dream_Lolita的题解,经过无数次失败的尝试之后终于AC了... 线段树是维护区间信息的强大工具,但它的形态是固定的,只支持修改和删除操作,不支持插入.反转.复制.分裂合并等操作 ...

  4. JSR303定义的校验类型

    空检查 @Null       验证对象是否为null @NotNull    验证对象是否不为null, 无法查检长度为0的字符串 @NotBlank 检查约束字符串是不是Null还有被Trim的长 ...

  5. 【winform-窗体快捷键】定义功能窗体快捷键,非全局

    这里的快捷键并非系统全局快捷键.仅是普通的当窗体在焦点内发生.有很多种方法,这里列举几种项目中使用到的方法. Alt+*(一般控件快捷键) 这个比较简单,只需为该控件的Text属性声明时加上”(&am ...

  6. python_多线程多进程

    多线程,适用于IO密集型任务 IO,input,output缩写,包括网路io(比如上传下载),磁盘io,(比如数据库读写),CPU操作不频繁 多进程,适用于CPU密集型任务 数据分析,算法,依赖CP ...

  7. socket认证客户端链接合法性

    服务器端: #_*_coding:utf-8_*_ __author__ = 'Linhaifeng' from socket import * import hmac,os secret_key=b ...

  8. jquery attribute$=value选择器 语法

    jquery attribute$=value选择器 语法 作用:[attribute$=value] 选择器选取每个带有指定属性且以指定字符串结尾的元素. 语法:$("[attribute ...

  9. Linux服务器pxe+kickstart部署无人值守安装

    一.    使用光盘镜像安装好一台Redhat6.8系统的虚拟机(图形化界面) 二.    部署相关服务程序 1.     安装并配置dhcpd服务程序 a)安装dhcp服务程序 b)对dhcp服务进 ...

  10. NOI数论姿势瞎总结(Pi也没有)

    Miller-Rabin素数检测 费马小定理:没人不会吧. 二次探测:如果\(n\)是质数,\(x^2 \equiv 1\ (\mod n)\)的解只有\(x \equiv 1\)或\(x \equi ...