着色器: rendinst_flag_colored
概述
这是专为布料模拟而设计的简单着色器。
参数:
script:t="frequency_amplitude=1,1,1,1"– 随机频率和振幅的间隔;script:t="wave_length=1"– 波长;script:t="wind_direction=0,0,1,0"– 风向;script:t="use_painting=1"– main 参数启用绘画;script:t="paint_palette_row=1"– 在基于 daNetGame 的项目中绘制参数,类似于 rendinst_simple_painted 着色器;script:t="paint_white_point=0.1"script:t="paint_black_point=0.05"script:t="paint_mult=1"script:t="micro_detail_layer=0"– 微细节设置;script:t="micro_detail_layer_v_scale=1"script:t="micro_detail_layer_uv_scale=1"
功能
此着色器使用两个纹理(漫反射和法线)来启用基本几何体动画。您可以为顶点位移配置正弦参数,从而在较密集的网格上获得更平滑的结果。
Important
确保仅将着色器应用于使用顶点颜色绘制的几何体,否则使用着色器可能会导致游戏错误。
动画几何
要设置动画的网格区域由顶点颜色的 R 通道定义。不使用 G 和 B 通道。
Vertex Color |
Result |
|---|
Note
始终将未使用的顶点颜色通道重置为黑色,因为它们默认为白色(所有通道都设置为最大值)。
参数
script:t="frequency_amplitude=1,1,1,1"– 定义频率和振幅间隔。(在这种情况下,频率控制波振荡的速度,而不是波长):第 1 和第 2 个分量 – 频率范围(最小值、最大值),
第 3 和第 4 个分量 – 振幅范围 (最小值、最大值)。
在任务开始时,从这些间隔中选择随机值,并在整个游戏中保持不变。该位置的不同资产将使用不同的值进行动画处理。
Frequency = 1 |
Amplitude = 1 |
|---|
Frequency = 3 |
Amplitude = 3 |
|---|
随机值在 Asset Viewer 中不可见,因此请首先验证组件 1 和 3 中的最大值(因为这些值显示在 Asset Viewer中)。 之后,将这些值移动到组件 2 和 4,并在组件 1 和 3 中设置最小值。
script:t="wave_length=1"– 定义波长。
较长的波长会减少振荡细节,因为正弦波会拉伸,而模型只能捕获其中的一小部分。
Wavelength = 1 |
Wavelength = 0.5 |
Wavelength = 5 |
|---|
script:t="wind_direction=0,0,1,0"(临时参数) – 风向由临时参数定义,因为规划了一个全局风系统。在 Asset Viewer 和 daEditor 中,风向基于全局轴运行,因此请确保在游戏中验证波向:第 1 个组件控制沿 X 轴的振荡;
第 2 个组件控制沿 Z 轴(垂直)的振荡;
第 3 个组件控制沿 Y 轴的振荡。
wind_direction=1,0,0,0 |
wind_direction=0,0,1,0 |
|---|
script:t="use_painting=1"– 基于 daNetGame 的项目绘制参数的工作方式类似于 rendinst_simple_painted 着色器,不同之处在于此着色器默认不绘制。要启用绘画,请按如下方式设置参数:‘1’ – 启用绘画;
‘0’ – 禁用绘画(可选)。
在基于 daNetGame 的项目中与 Global Wind 合作
此着色器还支持使用全局风图和一组附加参数的风动画。以前的算法仍然可用,风行为由 shadervar wind_type参数控制。
新算法是首选算法,因为它考虑了风强度变化,包括风发射器。
参数:
wind_type = 0– 使用旧的动画算法,不受外部因素的影响,并使用frequency_amplitude,wind_direction,wind_strength, 和wave_length进行配置。wind_type = 1– 忽略顶点中的 R 通道的新算法 color,而是使用距 Flagpole 轴的标准化距离(范围从连接点的 ‘0’ 到 Flag 末端的 ‘1’)。wind_type = 2– 在顶点颜色中使用 R 通道的新算法。 为了正确作,R 通道必须从连接点的 ‘0’ 持续增加到标志末端的 ‘1’,尽管增加不需要是线性的。如果标志的大部分颜色均匀,则可能会出现不正确的行为。flagpole_pos_0,flagpole_pos_1– 在模型的坐标系中定义连接标志的线段。沿此线段的点保持静止。对于单个固定点,可以使用非常短的段。flag_length– 定义标志的长度,或从轴到标志末端的距离。此值不需要精确;将其设置为比实际大小大 10-15% 是可以接受的,但不建议将其设置为更小。
其他可选参数包括:
flag_movement_scale = 1– 控制风从其静止位置弯曲和移动旗帜的程度。stiffness = 0.1– 确定标志的抗弯曲阻力。stretch = 0.1– 控制标志的拉伸程度:0– 无拉伸,1– 无限拉伸。
sway_speed = 1– 定义标志弯曲的速度。bend = 2– 塑造旗帜的弯曲方式。deviation = 4– 控制标志偏离其平衡位置时的形状。
See also
您可以查看具有不同参数配置的着色器结果 此处.