摄像机是挂载Camera组件的能把3D世界物体拍摄成2D画面显示到屏幕上面的节点,角度不一样,位置不一样,拍摄出来的东西就不一样。

Clear Flags:没有物体的时候,摄像机拍摄出的屏幕要绘制什么东西。sky box天空盒,soild color蓝色背景,dont clear不做任何处理(黑色)等选项。一般选择sky box天空盒。

Culling Mask:哪些物体是可以被摄像机拍出来的,哪些物体是不可以拍的,分类是用层来区别的,可以勾选哪些层不显示,然后把不想显示的物体放在那个层。

Projection:摄像机的投影类型,Perspective叫做透视投影,就是默认的那个椎体。这个模式下,近的物体在画面中比较大, 远的物体在画面中比较小。Orthographic叫做正交摄像机,是一个立方体投射,远近物体在画面中一样大,不适合3D场景,适合做界面2DUI

      视椎:在near和far的范围内,加一个视角和一个有宽高比(可以在Game视图的菜单栏调节比例)的窗口,则在这个总范围内的物体才被摄像机绘制,之外的不会被绘制。视角越大,摄像机离宽口越近,显示的游戏画面越多,视角越小,摄像机离宽口越远。

      显示的游戏画面越少,一般视角调为60度。

Clipping  Planes:裁剪平面,Near表示拍摄到的最近的距离,Far表示拍摄到的最远的距离,以米为单位,超出或小于的相机不绘制。

Viewport Rect:视口显示的大小比例,就是摄像机拍摄到的画面在游戏Game视图的显示比例,一般是不去改的,除非想做两个显示画面的时候,像直播的右下角有人头像。

        方法是再创建一个摄像机节点,如果不做调整,这时候新的摄像机会覆盖旧的摄像机,Game视图也会被新的摄像头拍摄的东西覆盖,这时候,调节其中一个摄像头的Viewport Rect,两个摄像机就可以同时把拍摄到的画面显示在Game视图。

Depth:摄像机绘制的顺序,Depth小的先绘制,大的后绘制。所以在有两个摄像机同时存在的情况下,Depth较大的那个摄像机所拍摄的画面会被Depth较小的摄像机所拍摄的画面覆盖。

Target Display:一台电脑可以接多台显示器,Display1到Display8分别表示1到8的显示器。选择哪一个Display就绘制到哪个对应的显示器上。

Occlusion Culling:遮挡剔除的开关,如果一个近的大物体挡住了远的许多小物体,那么远的小物体就没有必要绘制,可以提高游戏性能,但是正常情况下是先绘制远的物体,所以必须打开遮挡剔除,Unity才会帮我们做剔除。

          复杂模型都是由很多子节点构成的,这些子节点之间有遮挡剔除,而且只有带Mesh的子节点才有。如果没有分很多子节点,要么模型绘制的时候要么全绘制,要么不绘制,非常不好。

注:遮挡剔除:绘制物体根据的是Zorder(Z轴顺序),先绘制远的物体,再绘制近的物体。坐标系是摄像机坐标系,这样近的物体就可以叠加在远的物体上。

使用正交投影做2DUI的步骤,是NGUI,UGUI的底层原理

1.首先创建一个正交摄像机,自己点挂载一个UI节点,移动到Game视图以外。

2.正交摄像机只显示UI层的物体,也就是UI节点所在的那个层,Depth2。

3.把透视摄像机背景设置为Dont clear

4.把透视摄像机的显示的层中,去除UI层,Depth1。

5.这时候就同时显示透视界面的画面和UI画面

透视投影的绘制流水线

1.把完全不在视椎内的物体排除掉,叫视椎裁剪。剔除掉不在摄像机中的物体。

2.把模型的世界坐标转化为摄像机坐标,摄像机坐标系是以摄像机为原点,x,y,z轴在点击摄像机节点的时候都会显示。

3.把以摄像机为原点的物体的摄像机3D坐标转为2D坐标。使用的是相似三角形,以Z/Z1为比例

正交投影的绘制流水线

1.没有相似三角形变化,直接多长就多长,所以远的近的一样长。

关于Unity中的摄像机的更多相关文章

  1. unity中让摄像机移动到鼠标点击的位置和鼠标控制平移视角

    private Vector3 targetVector3; private float movespeed=0.5f; private bool IsOver = true; private Gam ...

  2. 关于Unity中Camera的Aspect

    一直以来对Camera的Aspect和Game窗口的Aspect都是一知半解,某天从一本书中看到了对Camera的API讲解,但是总觉得对Aspect讲解的有问题.于是就认真的思考起了这个问题,还发现 ...

  3. Unity小知识---第三人称中设置摄像机的简单跟随

    第三人称中设置摄像机的简单跟随 private Transform player; private Vector3 offect; private float smooothing = 3f; //插 ...

  4. 解读Unity中的CG编写Shader系列八(镜面反射)

    转自http://www.itnose.net/detail/6117378.html 讨论完漫反射之后,接下来肯定就是镜面反射了 在开始镜面反射shader的coding之前,要扩充一下前面提到的知 ...

  5. WP8:在Unity中使用OpenXLive

    Unity 4.2正式版开始添加了对Windows 8.Windows Phone 8等其他平台的支持,而且开发者可以免费使用Unity引擎来开发游戏了.而作为Windows Phone和Window ...

  6. 移植UE4的模型操作到Unity中

    最近在Unity上要写一个东东,功能差不多就是在Unity编辑器上的旋转,移动这些,在手机上也能比较容易操作最好,原来用Axiom3D写过一个类似的,有许多位置并不好用,刚好在研究UE4的源码,在模型 ...

  7. Unity中Mesh分解与边缘高亮加上深度检测

    一个比较简单的需求,不过遇到些坑,记录下. 房间有多个模型,每个模型可能多个SubMesh,点击后,需要能具体到是那个SubMesh,并且在这个SubMesh上显示边缘高光,以及能个性这单个SubMe ...

  8. Unity中简单使用Opengl

    简介 由于项目特殊需求,需要在unity中使用一些OpenGL的东西来绘制图形(PS:其实就是有一个拖尾算法只有OpenGL版本~~~懒得改了,直接在unity中使用OpenGL算了).所以琢磨咯下如 ...

  9. Unity教程之再谈Unity中的优化技术

    这是从 Unity教程之再谈Unity中的优化技术 这篇文章里提取出来的一部分,这篇文章让我学到了挺多可能我应该知道却还没知道的知识,写的挺好的 优化几何体   这一步主要是为了针对性能瓶颈中的”顶点 ...

随机推荐

  1. url: (6) Couldn’t resolve host ‘www.ttlsa.com’

    http://www.ttlsa.com/linux/curl-6-couldnt-resolve-host/ 2. 解决问题 尝试解决方法: 修改dns # cat /etc/resolv.conf ...

  2. 首都医科大学附属北京安贞医院全院级PACS系统采购项目[转]

    项目名称:首都医科大学附属北京安贞医院全院级PACS系统采购项目 项目编号:TC140VCF0 采购人名称:首都医科大学附属北京安贞医院 采购人地址:北京市朝阳区安贞里 采购人联系方式:010-644 ...

  3. grid control 11.1.0.1 安装指南

    grid control 11.1.0.1 安装指南 废话少说,进入正题 系统版本号 [root@gridcontrol ~]# lsb_release -a LSB Version:    :bas ...

  4. 基于swiper的移动端H5页面,丰富的动画效果

    概述 通过运用swiper插件,制作移动端上下整屏滑动的H5页面,用来宣传或者简单注册等,可以嵌套H5音乐或者视频. 详细 代码下载:http://www.demodashi.com/demo/119 ...

  5. 站点CSS样式不起作用,或仅仅有一部分起作用?随手记

    事件:网页中使用了相同的样式,下半部分正常显示,上半部分样式所有丢失不能显示. 解决:改动了相应的CSS样式文件的编码 这个是最没有想到的解决的方法. 怎样调试:通过右键页面查看编码为UTF-8 或 ...

  6. 【centos6.5】安装LNMP(linux公社)

    1:查看环境: 1 2 [root@10-4-14-168 html]# cat /etc/redhat-release CentOS release 6.5 (Final) 2:关掉防火墙 1 [r ...

  7. jasmine-行为驱动测试

    http://jasmine.github.io/1.3/introduction.html,先保留着,好好研究.

  8. C# 添加,修改,删除Xml节点 摘录

    C# 添加,修改,删除Xml节点 //添加xml节点    private void AddXml(string image, string title)     {        XmlDocume ...

  9. 会话过程保存数据对象cookie和session

    1 cookie是以键值对保存在浏览器端,服务器端可以创建.接收.发送 cookie 信息. request可以接收 cookie, response 可以发送 cookie. 1)cookie 可以 ...

  10. Laravel Eloquent ORM--整理(未转)

    转:http://blog.csdn.net/a437629292/article/details/46312695 http://www.jianshu.com/p/cb641a4f3599