位置: 编程技术 - 正文

Unity3D中的Post effects(unityprefab)

编辑:rootadmin
提要

推荐整理分享Unity3D中的Post effects(unityprefab),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Unity3d中的扇形检测,unity post processing stack,unityprefab,unityprefab,unity form,Unity3d中的碰撞器和触发器的区别,Unity3d中的碰撞器和触发器的区别,Unity3d中的扇形检测,内容如对您有帮助,希望把文章链接给更多的朋友!

所谓post effects,就是后处理,在渲染的流水线中属于最后的阶段,处理的对象是由场景生成的一张图片。常见的后处理效果有HDR,Motion Blur等,通过对屏幕空间的后处理,可以很方便的调整游戏整体的风格。下面是要用到的场景。

Unity的ShaderLab内建变量

为了编程方便,Shaderlab中内建了一些变量,可以在Shader中直接引用。

这里要用到的 _SinTime - 时间的的正弦函数。

更多的内置变量可以参考这里 ShaderLab built-in values

基本步骤

主要思路就是首先1)将摄像机的RenderTexture传递到Shder里面,Shader在GPU中进行计算,然后2)再将处理后的图片传递回来。

第一步需要用C#脚本来处理,第二步要自己创建Shader。

灰度

创建脚本

TestRenderImage.cs

由于要使用Shader,在程序中动态地创建了一个纹理。

OnRenderImage是Unity内建的回调函数,在所有渲染完成后被调用,来渲染图片的后期处理效果。

在代码中,主要是改变Shader中的_LuminosityAmount变量。

Graphics.Blit函数用于拷贝源纹理到目的渲染纹理。

这主要是用于实现图像效果。Blit设置dest到激活的渲染纹理,在材质上设置source作为_MainTex属性,并且绘制一个全屏Quad。

将脚本拖拽到MainCamera上面。

接下来创建一个Shader,内容如下

拖拽到刚才的脚本上,调节面板上的参数,就可以得到黑白程度不同的效果。

像素画

这个效果能够将3D场景直接转换成像素风。

Unity3D中的Post effects(unityprefab)

直接看Shader

在C#中修改_NumPixel变量就可以得到不同程度像素风格的图片了。

渲染深度

首先要将相机的深度图传递到shader中去。在shader中,只要申明

sampler2D _CameraDepthTexture变量就可以对相机的深度图进行引用。

还需要在脚本的Update函数中加入

最后贴一下Shade代码运行结果

将Post effects融入到Game Play

游戏中常常会用到老电影的效果,思路其实就是图层的叠加。

+ + + =

shader代码

barrelDistortion用于产生一个镜头的畸变。公式的来由:

If (u,v) are the coordinates of a feature in the undistorted perfect image plane, then (u', v') are the coordinates of the feature on the distorted image plate, ie the scanned or captured image from the camera. The distortion occurs radially away from the image center, with correction for the image aspect ratio (image_aspect = physical image width/height), as follows:The constant k is the distortion coefficient that appears on the lens panel and through Sizzle. It is generally a small positive or negative number under 1%. The constant kcube is the cubic distortion value found on the image preprocessor's lens panel: it can be used to undistort or redistort images, but it does not affect or get computed by the solver. When no cubic distortion is needed, neither is the square root, saving time.

其他部分的解释参考参考中的文章。

参考

UnityShaders and Effects Cookbook

【Unity Shaders】游戏性和画面特效——创建一个老电影式的画面特效

Lens Distortion White Paper -

Unity3D - 资源管理 转载自:

Unity3D之Transform参数 转载自:

Unity3D使用shader实现灰图 转载自:

标签: unityprefab

本文链接地址:https://www.jiuchutong.com/biancheng/378760.html 转载请保留说明!

上一篇:Unity 3D 接入 移动MM (3.1.3)计费SDK(unity连接)

下一篇:Unity3D - 资源管理(unity资源包管理器)

  • 小规模纳税人租赁不动产税率
  • 税收优惠政策落实情况报告
  • 进仓费税率
  • 政府补贴款需要缴纳增值税
  • 会计制度方法
  • 电子设备按5年折旧可以吗
  • 个体工商户是否家庭经营的区别
  • 投标保证金退回规定
  • 商品房空置费
  • 增值税的核算方式
  • 购入工程物资计入
  • 仓储货架工厂仓库货架
  • 建筑业分项目核算会计账务处理
  • 暂估入库产品行程影响所得税汇算清缴吗
  • 所得税相关分录
  • 增值税普通发票查询真伪
  • 小规模不动产租赁税率是否减按1%
  • 房产税税率2023税率表
  • 现在地税发票还要交税吗
  • 中药饮片的税率现在是多少
  • 小规模纳税人出售不动产征收率
  • 出口申报时限
  • 购入苗木的会计分录
  • 环境保护税交给谁
  • 空调安装工程如何做
  • 一般纳税人是否享受小型微利企业优惠政策
  • 在租的土地上建房
  • App Store可以退款吗
  • 持有待售的非流动资产或处置组不再
  • 网络平台上进行网络营销
  • linux如何使用
  • Win10无法访问局域网计算机
  • 华硕win10笔记本如何恢复出厂设置
  • 民间非营利组织会计账务处理
  • 牙痛怎么办怎么治疗
  • 港田路凤凰城
  • 一般纳税人增值税优惠政策2023
  • wisdm数据集
  • php数组实现原理
  • php中的数据类型有哪些?
  • 缴纳残保金会计分录最新
  • 个税系统有什么用
  • 企业提取盈余公积属于什么会计科目
  • 织梦怎么建站
  • 红字发票申请单怎么开
  • 玩转mongodb4.0从入门到实践
  • 管理费用借贷方不平
  • 个人所得税工资薪金包括哪些内容
  • 先销售后开发票的如何做帐?
  • 企业接受捐赠固定资产的运费怎么做账
  • 股东实收资本超额到位
  • 对公受托理财申购怎么写
  • 上年亏损本年要交税吗
  • 会务费所需要注意的细节
  • mysql连接数 是针对db还是服务器
  • windows开始菜单在哪里
  • win7系统怎么运行xp系统的软件
  • 去大城市发展成功的例子
  • 没有光驱启动
  • bios界面uefi
  • linux 添加swap
  • linux telnet用法
  • 如何注销windows账户登录
  • window8设置ip
  • linux中vi编辑器怎么使用
  • windows7 usb
  • Android OpenGL ES(五)----进入三维正交投影和透视投影推导
  • 微信小程序实现轮播图
  • web前端开发应届生简历
  • Android游戏开发入门
  • 何为黄金茶
  • python中生成随机小数的函数
  • cocos2dx-3.2+lua 常用代码
  • js判断div是否存在
  • jquery ui和jquery easy ui
  • AndroidStudio中aar文件引用
  • python的params
  • 国税局事业编制和公务员哪个比较好
  • 沈阳税务局兑奖中心在哪
  • 加计扣除减免税金额怎么填
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设