Доработка. Индикация обновления цели

This commit is contained in:
sasha80
2023-09-11 09:13:44 +03:00
parent c6dbf9a812
commit a423a95ade
3 changed files with 11 additions and 3 deletions

View File

@@ -5,6 +5,8 @@
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2dulj"]
shader = ExtResource("1_k6vue")
shader_parameter/color = Color(1, 0.101961, 0.494118, 1)
shader_parameter/color_up = Color(1, 1, 1, 1)
shader_parameter/tick_update = 0
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_tgf76"]
@@ -13,6 +15,7 @@ script/source = "extends Sprite2D
func set_bip_color(col: Color): material.set('shader_parameter/color', col)
func get_bip_color() -> Color: return material.get('shader_parameter/color')
func set_tick_update(tick): material.set('shader_parameter/tick_update', tick)
"
[node name="bip" type="Sprite2D"]

View File

@@ -73,6 +73,8 @@ func map_threat_to_bip(th: Threats.Threat, bip: Sprite2D):
REPSettings.ThreatParams.radius_outter,
REPSettings.ThreatParams.freq_low,
REPSettings.ThreatParams.freq_high)
var tick = Time.get_ticks_msec()
bip.set_tick_update(tick)
## Обработчик сигнала обновления цели

View File

@@ -3,9 +3,12 @@ shader_type canvas_item;
/* Закрашенная окружность */
uniform vec4 color: source_color = vec4(1, 1, 1, 1);
const float ds = 0.01; /* Относительное расстояние на котором выполняется сглаживание краёв */
const vec2 center = vec2(0.125, 0.125); /* Центр должен быть в (0.5, 0.5), но это не так */
const float radius = 0.125 - ds * 2.0; /* Радиус должен быть 0.5, но это не так */
uniform vec4 color_up: source_color = vec4(1, 1, 1, 1); /* Цвет вспышки при обновлении */
uniform uint tick_update = 0; /* Время последнего обновления, мс */
const float time_delta = 0.1; /* Время вспышки при обновлении, c */
const float ds = 0.01; /* Относительное расстояние на котором выполняется сглаживание краёв */
const vec2 center = vec2(0.125, 0.125); /* Центр должен быть в (0.5, 0.5), но это не так */
const float radius = 0.125 - ds * 2.0; /* Радиус должен быть 0.5, но это не так */
float smooth_px(float r, float R)