超牛链AI Logo

超牛链博客: 读书|骑行|笔记分享
user
老王不响
@关于博主
2016-04-23

Unity3D for VR 学习(11): 后期屏幕渲染特效(Image Effect) 8 mins read


Unite ShangHai 2016 Keynote中,《Adam》的图形技术介绍,令人印象深刻:可以与电影效果相媲美、近乎次时代大作、好莱坞大片效果的3分钟实时渲染的短片,淋漓尽致的展现了Unity 5.4的奋发图强,和对VR开发者的潜台词--“相信Unity 5.4,VR没错的。”

本文就Image Effect进行实践,所用版本是Unity 5.4.0b14 beta版本。

 

下载Image Effect插件

Unity内置的特效,已经于2015.12.10免费开源了:CINEMATIC IMAGE EFFECTS (PRE-RELEASE)

 

  • 下载方式2:bitbucket 开源社区   cinematic-image-effects          为了持续增强Image Effect的功能和提高性能,官方还设立一个论坛版块:

          Forums>Unity Community Support>Graphics>Image Effects

 

部分渲染特效实践

使用渲染特效,非常简单,直接在Camera添加组件即可---下载完Image Effect插件后,导入Unity即可使用。

 

Screen Space Reflection屏幕空间光线追踪反射(SSRR)倒影效果
Screen Space Ambient Occlusion (SSAO)  屏幕空间环境遮挡特效 ---模拟全景漫反射

 

反|抗锯齿(Anti Aliasing | SMAA).

 

Bloom 泛光 场景变得梦幻

色调映射 ToneMapping【HDR模式有用】--  [和Bloom混合使用]

深入学习文档

Unity自带的英文文档,非常好,下载Unity的时候直接安装一下,遇到问题,点击问号,即可打开本地的英文文档,便于深入快速学习。

 

然后,输入Image Effect关键字搜索,即可打开Unity内置提供的特效帮助--有图、有文字说明,学习还是挺方便的。

 

后期屏幕渲染原理

屏幕后期渲染,使用的是Graphics的Blit方法,他和相机的Render方法不同之处在于Blit在屏幕上做了一个和屏幕大小一样的平面,用第三个参数(材质—Shader)进行从当前面到新面的替代。 即Blit是在渲染一个平面,而Render在渲染一个物体。

Graphics.Blit函数

public static void Blit(Texture source, RenderTexture dest, Material mat);

 

MonoBehaviour.OnRenderImage函数

void OnRenderImage(RenderTexture sourceTexture, RenderTexture destTexture)

 

Shader文件:写一个顶点片段shader

#pragma vertex vert_img
#pragma fragment frag

 

备注:

  • 参考文档 《Unity 5.X 从入门到精通》
  • 参考文档 《Unity Shaders and Effects Cookbook》
  • demo Git地址:Shader_ImageEffects
2016-04-23
老王 加冕为王
老王,工作了19年的软件工程师、连续创业者、Blogger(since 2013),微软.net MVP获得者(2015~2016)、 Unity3D UVP获得者 (2017)。 曾任上市公司研发主管、知名外企Social Media Marketing 。 现专注于Instagram、SEO等海外社交媒体营销技术研究与实践。 四十而立的我,有2个可爱的宝宝,喜好骑行、读书、木工, 尤其喜好历史、科幻书籍。
友情链接
超牛链 57天前 2024年3月6日 15:16

期待老板大大的高产模式,给力支持

最新文章

超牛链AI:Ollama本地LLM LangChain RAG小试--算力为王

算力为王时代: CPU --> GPU

GPU这...
【发刊词】超牛链AI: hello world.

​公元2024年,比2023年的AI风暴,更加寒噤。

《一句顶一万句》 遇见一个能说的上话的人不易

2024年 甲辰龙年春节假期,我看了2本小说,茅盾文学...

2023个人总结: AI、骑行、青椒炒肉丝

后疫情时代,刚褪去口罩。又迎来经济消费降级,我的客户同...

热门文章

C#程序员整理的Unity 3D笔记(六):Git源码管理

对程序员而言,写的代码用源码管理系统管理起来,非常方便...

且行且思:记录一次西安城墙国际马拉松---8公里

百度搜索,输入西安城墙马拉松,有7万2千个结果。 实际...

骑行故事初心--自由的御风而行

2023年,三年疫情过后第一个春天,我开始了骑行: 空...

Unity3D for VR 学习(7): 360°全景照片

    在VR应用中,有一个相对简单的虚拟现实体验,那...

相关【技术杂谈】文章

查看所有相关【技术杂谈】文章
搭建Squid3 密码账号IP代理

上文中,说明了 Squid3 IP Proxy 隐藏原IP,这里就搭建Squid 3密码账号IP代理进行整理,涉及...

不用插件,js脚本显示星号密码

不用插件,js脚本显示星号密码

以前,我是用Chrome插件做这个这的--显示星号密码的。 今天,分享一个不用插件...

执行MySQL报错

今天新采购了柒比贰WordPress主题,安装主题时候报错: MySQL命令行使用sql语句进行建表时,MySQL...