着色器: rendinst_simple_emissive_anim / dynamic_illum_anim
概述
此着色器支持切换、调整自发光强度和控制自发光颜色。
参数
rendinst_simple_emissive_anim:
class:t="rendinst_simple_emissive_anim"script:t="illum_scroll_speed=0.1"– 控制整个自发光纹理程序中“扫描”效果的滚动速度。反转此变量的符号会更改扫描方向。script:t="use_additive_blend=1"– 设置混合模式:’0’ 表示albedo上的乘法自发光,’1’ 表示加法混合。tex0:t="diffuse_map_tex_d.tif"– Alpha 通道定义自发光强度。tex2:t="normal_map_tex_n.tif"– Normal map.tex3:t="program_map_program.tif"– 自发光纹理程序。最小纹理大小为 4x4。tex4:t="shift_map_shift.tif"– Emission shift 纹理。
dynamic_illum_anim:
script:t="illum_scroll_speed=0.1"– 控制整个自发光纹理程序中“扫描”效果的滚动速度。反转此变量的符号会更改扫描方向。script:t="use_additive_blend=1"– 设置混合模式:’0’ 表示albedo上的乘法自发光,’1’ 表示加法混合。tex0:t="diffuse_map_tex_d.tif"– Alpha 通道定义自发光强度。tex2:t="program_map_program.tif"– Emission texture 程序。最小纹理大小为 4x4。tex3:t="shift_map_shift.tif"– Emission shift 纹理。
着色器以两种模式运行: 乘法 和 加法。自发光程序纹理修改 G 缓冲区中的两个通道:albedo和自发光。在此上下文中,自发光通道为 8 位(灰度)。
这意味着有三种选项可用于实现彩色自发光。选择最适合您情况的那个:
在乘法模式下,使用彩色albedo和灰度程序纹理,以避免使albedo黯然失色。
在乘法模式下,使用彩色程序纹理。这将修改基本albedo贴图,并从中减去它。
乘法模式是默认模式。
Textures
要为灯光的打开和关闭制作动画,您需要一个用于灯光和两个纹理的“.dag”文件:
tex0:t="emis_anim_shader_tex_d.tif"– 漫反射纹理定义灯的颜色。tex3:t="emis_anim_shader_program.tif"– 程序纹理定义灯何时发光(独立于 UV 映射)。
tex0:t=”emis_anim_shader_tex_d.tif”
定义灯的颜色和自发光级别:
RGB 通道:albedo(如果在程序纹理中没有定义其他颜色,则为自发光的颜色 (
tex3:t="emis_anim_shader_program.tif")).A channel:自发光强度,其中白色是最大自发光,黑色表示无自发光。
tex3:t=”emis_anim_shader_program.tif”
自发光程序纹理定义:
自发光时间(白色区域发光,黑色区域不发光)。
Emission color (自发光的颜色可以在此处定义)。
自发光强度(非白色会降低自发光强度)。
RGB channels:如果不是黑色,则将发出定义的颜色。
A 频道:未使用。
使用这两个纹理,可以创建简单的自发光动画。不需要为每个灯单独映射。
示例: 灯的颜色在程序纹理 (tex0:t="emis_anim_shader_program.tif) 中定义,为了防止漫反射和程序纹理之间的颜色冲突,漫反射纹理中的灯被涂成白色。
tex4:t=”emis_anim_shader_shift.tif”
R 通道:控制程序纹理上的水平位移:
白色:无位移。
黑色:最大位移。
G 通道:控制程序纹理上的垂直位移:
白色:无位移。
黑色:最大位移。
B 通道:控制速度:
白色:速度增加(视觉上增加约 2 倍)。
黑色:速度由
script:t="illum_scroll_speed=0.1"参数控制。
用法
对于复杂的动画,请使用 tex4:t="emis_anim_shader_shift.tif".
示例: 在下面的示例中,仅使用 R 通道来控制程序的偏移。绿色和白色灯(在偏移纹理 (tex4:t="emis_anim_shader_shift.tif) 中用箭头标记)根据灯的 UV 壳进行绘制。这会导致接缝处出现明显的伪影。最好像使用红色/蓝色灯一样粉刷该区域。
示例: 对于滚动文本,您需要一个用于横幅的“.dag”文件和三个纹理。
tex0:t="text_anim_tex_d" |
tex3:t="text_anim_program" |
tex4:t="text_anim_shift" |
|---|
对于滚动文本效果,纹理的渐变(应该是线性的)和 Gamma 值 (gamma:r=1)都至关重要。
如果不满足这些条件,将导致动画质量不佳。例如,使用灰度系数为 ‘2.2’ 的 Photoshop 渐变将产生低于标准的结果: