根据其发光效应,可产出霓虹灯、日光灯以及一些指示性电路元件;由其正常辉光放电的稳压效应,可产出氖稳压管等元件以在电路中获得更多的稳定电压。
辉光辉光是低压气体中显示辉光的气体放电现象。在置有板状电极的玻璃管内充入低压(约几毫米汞柱)气体或蒸气,当两极间电压较高(约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 文件
最后把它挂到相机上,挂到相机上:
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)