Unity3D自带功能:摄影机

Unity3D本质上还是个三维游戏引擎,所以其摄影机的概念与我们在三维软件中的概念是相通的。

新建场景之后,系统会自动创建一个Main Camera,这个Main Camera就是我们场景的主摄影机。

unity_camera_01.png

主摄影机和场景视图(Scene View)的摄影机角度是不一样的,新人常常在场景视图中对好了正确的摄影机角度,然后点击“运行”,结果发现游戏画面完全不是自己想要的样子。

如果希望将主摄影机对齐我们的场景视图,只需要选择主摄影机物体,然后通过菜单:GameObject > Align With View就可以了。这个命令实际上会将所选择的任何物体都与场景摄影机对齐,并不仅限于对齐主摄影机。

unity_camera_02.png

这个命令附近的命令也还都蛮有用的,值得记一下快捷键:

  • Move To View可以将物体移动到当前视角的正中心位置(并不会改变旋转方向),想要把场景某个角落里的物体拿过来,就可以使用这个命令,免得破坏了完美的摄影机角度;
  • Align View to Selected可以将摄影机移动到选择的物体上去,可以用来将场景摄影机与某个场景物体对齐;
  • Toggle Active State可以激活/取消激活游戏物体,类似于三维软件中的“隐藏”,但实际上跟隐藏不是一回事。

摄影机相关参数

unity_camera_03.png
  • Clear Flags:决定哪些屏幕部分将会被清除,当使用多个摄影机来显示不同游戏元素时非常有用。
    • Skybox:单个摄影机时选择,表示背景使用天空盒
    • Solid Color:单个摄影机时选择,表示背景使用单一颜色
    • Depth Only:多个摄影机时选择,根据Depth决定哪个摄影机所渲染的画面在上方,越高的Depth值越处于上方
    • Don't Clear:该摄影机在切换帧的时候不清除前一帧的颜色及深度信息,也就是说,会显示为叠加重影的效果
  • Background:摄影机背景颜色(当使用Solid Color时,通过Background参数设置具体颜色)
  • Culling Mask:通过Layer(层)的设置来屏蔽一部分游戏物体在此摄影机中不被渲染
  • Projection:摄影机投影方式
    • Perspective:透视摄影机
    • Orthographic:正交摄影机
  • Field of View:透视摄影机的视野,越大越透视
  • Size:正交摄影机的尺寸,越大越能囊括更多场景区域
  • Clipping Planes:设置摄影机的最远和最近渲染距离
  • Viewport Rect:设置摄影机渲染其视野画幅的哪一部分
  • Depth:摄影机的深度
  • Rendering Path:使用哪种渲染路径
  • Target Texture:可以将摄影机的画面传递给一个特殊的贴图,用来制作比如后视镜、监视器等效果
  • Occlusion Culling:
  • Allow HDR:允许渲染高动态色彩画面
  • Allow MSAA:允许进行硬件抗锯齿
  • Target Display:目标显示器,可以设置1-8

多摄影机设置

在游戏中设置多个摄影机是很常见的操作,最主要的功能是将不同“层次”的图像叠加显示给用户。

比如游戏中的UI元素,通常就是用专门的摄影机来渲染显示,只不过在Unity3D中,UI功能是其内置的功能模块,所以无需用户自己去设置UI摄影机。

unity_camera_05.png

可以看到场景视图中UI元素所占用的区域在我们实际场景的旁边而且非常巨大(这是因为Unity3D的UI元素1像素对应场景中1单位空间),但在游戏视图中,UI和场景的图像之间是叠加的关系。

如果希望在场景视图中叠加非UI元素,则需要另外添加一个新的摄影机,设置Clear Flags为Depth only,并将Depth值设置得比Main Camera要大。

unity_camera_08.png

我们可以把第二摄影机设置为正交摄影机,也可以单独为其视野内游戏物体设置光照。这里我使用的是聚光灯,避免对主摄影机画面造成影响。

unity_camera_06.png

这样我们就可以看到,第二个摄影机中的图像被叠加到主摄影机图像上了。

unity_camera_07.png

摄影机输出贴图的操作方法

Unity支持将摄影机的画面作为贴图显示在场景物体表面,比如汽车反光镜的影像,或者监控画面影像等等。具体操作方法如下:

首先在Assets文件夹内创建一个Render Texture资源,设置其贴图模式(Dimension)、贴图尺寸(Size)、是否使用抗锯齿(Anti-Aliasing)、色彩格式(Color Format)等等参数。

unity_camera_09.png
unity_camera_10.png

然后在场景中创建一个新的摄影机,设置其Target Texture参数为刚才创建的Render Texture资源。

unity_camera_13.png
unity_camera_11.png

最后将这个Render Texture如同普通贴图一样用在某个Material的颜色通道上,再将这个Material指定给某个场景物体(比如我新建的一个简单Quad面片),我们就能在获得这个摄影机的事实画面了。

unity_camera_12.png

摄影机后期特效

摄影及后期特效主要指对摄影机渲染结果进行一些后期处理,以增强画面效果,比如整体画面的校色、加辉光、加模糊等等。

Unity在不同版本中处理摄影机后期特效的方式略有所不同。当前版本主要使用
官方插件Post Processing Stack来进行,比起上一版本中直接添加特效Script的方式,要显得简单明了得多。

unity_post_01.png
unity_post_02.png

安装完Post Processing Stack插件之后,就可以为摄影机物体添加一个Post-Processing Behaviour的组件,这个组件需要调用一个Profile文件来执行后期特效。

unity_post_03.png

在Assets文件夹中创建一个Post-Processing Profile资源,然后将这个资源拖到Inspector面板中Post-Processing Behaviour组件上指定给Profile参数。

unity_post_04.png

双击Profile文件,在Inspector中可以看到所有可用的后期效果都被集成在这里了:

unity_post_05.png

Fog
为Diferred Rendering Path激活雾效,在Forward Rendering Path下无任何作用

Antialiasing
添加画面抗锯齿。同样也是为Diferred Rendering Path所准备,因为Forward Rendering Path可以激活硬件抗锯齿,但Diferred Rendering Path无法享受这一功能。

Ambient Occlusion
相对而言比较廉价的屏幕环境排除效果。

Screen Space Reflection
可以获得一些屏幕空间的反射,是通过法线来计算的,比单纯材质的反射要多一点细节。

Depth of Field
激活景深效果,挺常用的。

Motion Blur
激活运动模糊效果。

Eye Adaptation
可以根据场景亮度来自动调节曝光度,也就是模拟人眼瞳孔自动收缩的视觉效果。场景突然变得很亮时会降低曝光,让玩家看清楚场景画面。

Bloom
激活辉光效果

Color Grading
校色,这里提供的选项还蛮专业的。

User Lut
色彩匹配。用户可以在PS等其他软件中进行校色工作,然后生成一个LUT图示给Unity,然后Unity就会根据这个LUT图示中的颜色变化来匹配其他软件中的校色效果。

Chromatic Aberration
模拟一些老旧镜头在边缘有色彩分离、模糊、变形等效果

Grain
激活全屏幕的噪点

Vignette
激活边缘暗化效果

Dithering

为了保证后期效果得到完美体现,通常要将摄影机和渲染质量设置一下:

  • 摄影机的Rendering Path修改为Deferred
  • 取消摄影机Allow MSAA的勾选,Deferred方式下MSAA不起作用
  • 勾选上摄影机的Allow HDR的勾选
  • 在Quality面板中同样取消掉Anti-Aliasing的设置

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容