什么是辉光器?

什么是辉光器?,第1张

辉光器,也就是辉光放电管,是一种利用气体辉光放电原理而工作的离子管,在电子电路中有指示、稳压等作用。

根据其发光效应,可产出霓虹灯、日光灯以及一些指示性电路元件;由其正常辉光放电的稳压效应,可产出氖稳压管等元件以在电路中获得更多的稳定电压。

辉光

辉光是低压气体中显示辉光的气体放电现象。在置有板状电极的玻璃管内充入低压(约几毫米汞柱)气体或蒸气,当两极间电压较高(约1000伏)时,稀薄气体中的残余正离子在电场中加速,有足够的动能轰击阴极,产生二次电子,经簇射过程产生更多的带电粒子,使气体导电。辉光放电的特征是电流强度较小(约几毫安),温度不高,故电管内有特殊的亮区和暗区,呈现瑰丽的发光现象。

泛光和辉光不一样么?

那是肯定的

辉光(Glow) :是全屏泛光的升级版本

区别就是辉光要求场景内只有部分物体泛光,而不是全部泛光

所以需要区分出忽略那些物体

大体思路:

1.用一个额外的摄像机给,在这个摄像机下,所有的非泛光物体都是黑色的,泛光物体保持原样

2.再将这个结果渲染到一个 RT 上,对他进行模糊

3.最后将模糊后的反光图叠加到主摄像机的渲染图像上

创建一个 LightGeometry.shader

默认的surface shader,改了 RenderType

RenderType 可以使用自定义名称,并不会对改 shader 的使用和着色器产生影响

需要自己区别场景中不同渲染对象使用的 Shader 的 RenderType 的类型名称不同

在相机那边,可以通过该函数 动态替换摄像机下物体的 shader

当调用 RenderWithShader 是,会检查摄像机下的每个物体的 RenderTag

(通常选取 Tag 的条件都是 RenderType)

替换的过程:

1.遍历所有要显示的物体

2.如果物体的 Shader 与传入的 replaceShader 有相同的 RenderType

3.则用 replaceShader 的响应 subshader 替换

下面的 shader,增加了一个 subshader

用来将 RenderType 为 Opaque 的物体替换成为黑色,而为 Glow 的内容保持不变

(不发光的物体要绘制呈黑色,避免遮挡关系会出错)

再创建一个 CustomGlow.cs 脚本,负责:

1.在主摄像机下创建了参数相同的子摄像机

2.并把这个摄像机的渲染目标设置为内存中的一个 RenderTextrue

3.渲染时,通过 RenderImage 将其与主摄像机的内容进行混合

4.使用 RenderWithShader 实现特效时,应该将相机设为disable,防止影响原图的绘制

最后创建一个 mixTexture.shader 文件

最后把它挂到相机上,挂到相机上:


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/132367.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-16
下一篇2023-03-16

发表评论

登录后才能评论

评论列表(0条)

    保存