Color rework

This commit is contained in:
R34nd0 2024-01-14 14:42:23 +05:00
commit 2b527c9b2e
15 changed files with 73 additions and 16 deletions

View file

@ -1,6 +1,7 @@
[gd_scene load_steps=7 format=3 uid="uid://dbtrc26016xov"] [gd_scene load_steps=8 format=3 uid="uid://dbtrc26016xov"]
[ext_resource type="Script" path="res://scripts/objects/Base.gd" id="1_bmrsb"] [ext_resource type="Script" path="res://scripts/objects/Base.gd" id="1_bmrsb"]
[ext_resource type="Material" uid="uid://cw0827vwv7pc1" path="res://shaders/materials/ship_material.tres" id="1_uy68o"]
[ext_resource type="Texture2D" uid="uid://deabc107bimdb" path="res://sprites/space station 1.png" id="2_tvpq1"] [ext_resource type="Texture2D" uid="uid://deabc107bimdb" path="res://sprites/space station 1.png" id="2_tvpq1"]
[ext_resource type="Script" path="res://scripts/misc/BaseCollider.gd" id="3_vluwu"] [ext_resource type="Script" path="res://scripts/misc/BaseCollider.gd" id="3_vluwu"]
[ext_resource type="Script" path="res://scripts/misc/BaseMenuOpen.gd" id="4_ftno6"] [ext_resource type="Script" path="res://scripts/misc/BaseMenuOpen.gd" id="4_ftno6"]
@ -9,9 +10,11 @@
[node name="Base" type="Node2D"] [node name="Base" type="Node2D"]
process_mode = 1 process_mode = 1
material = ExtResource("1_uy68o")
script = ExtResource("1_bmrsb") script = ExtResource("1_bmrsb")
[node name="Sprite" type="Sprite2D" parent="."] [node name="Sprite" type="Sprite2D" parent="."]
use_parent_material = true
rotation = -1.5708 rotation = -1.5708
texture = ExtResource("2_tvpq1") texture = ExtResource("2_tvpq1")

View file

@ -1,6 +1,6 @@
[gd_scene load_steps=14 format=3 uid="uid://ccrs28h3b2tfy"] [gd_scene load_steps=14 format=3 uid="uid://ccrs28h3b2tfy"]
[ext_resource type="Material" uid="uid://cw0827vwv7pc1" path="res://shaders/materials/shield_material.tres" id="1_3gt13"] [ext_resource type="Material" uid="uid://cw0827vwv7pc1" path="res://shaders/materials/ship_material.tres" id="1_6fqoi"]
[ext_resource type="Script" path="res://scripts/objects/MainShip.gd" id="1_h7kne"] [ext_resource type="Script" path="res://scripts/objects/MainShip.gd" id="1_h7kne"]
[ext_resource type="PackedScene" uid="uid://bbho4h6tg4jca" path="res://scenes/hulls/starterhull.tscn" id="2_r634y"] [ext_resource type="PackedScene" uid="uid://bbho4h6tg4jca" path="res://scenes/hulls/starterhull.tscn" id="2_r634y"]
[ext_resource type="PackedScene" uid="uid://20171x3gmn1j" path="res://scenes/engines/starterengine.tscn" id="3_upe7o"] [ext_resource type="PackedScene" uid="uid://20171x3gmn1j" path="res://scenes/engines/starterengine.tscn" id="3_upe7o"]
@ -18,7 +18,7 @@ font_size = 48
[node name="MainShip" type="CharacterBody2D"] [node name="MainShip" type="CharacterBody2D"]
process_mode = 1 process_mode = 1
material = ExtResource("1_3gt13") material = ExtResource("1_6fqoi")
collision_mask = 3 collision_mask = 3
script = ExtResource("1_h7kne") script = ExtResource("1_h7kne")
metadata/_edit_horizontal_guides_ = [] metadata/_edit_horizontal_guides_ = []
@ -28,10 +28,12 @@ metadata/_edit_horizontal_guides_ = []
[node name="Engine" parent="." instance=ExtResource("3_upe7o")] [node name="Engine" parent="." instance=ExtResource("3_upe7o")]
[node name="PrimaryWeapon" type="Node2D" parent="."] [node name="PrimaryWeapon" type="Node2D" parent="."]
use_parent_material = true
[node name="SingleLaser" parent="PrimaryWeapon" instance=ExtResource("4_s724s")] [node name="SingleLaser" parent="PrimaryWeapon" instance=ExtResource("4_s724s")]
[node name="SecondaryWeapon" type="Node2D" parent="."] [node name="SecondaryWeapon" type="Node2D" parent="."]
use_parent_material = true
[node name="SingleLaser" parent="SecondaryWeapon" instance=ExtResource("4_s724s")] [node name="SingleLaser" parent="SecondaryWeapon" instance=ExtResource("4_s724s")]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=27 format=3 uid="uid://14k35mkjwi5i"] [gd_scene load_steps=31 format=3 uid="uid://14k35mkjwi5i"]
[ext_resource type="PackedScene" uid="uid://ccrs28h3b2tfy" path="res://scenes/MainShip.tscn" id="1_6fvpc"] [ext_resource type="PackedScene" uid="uid://ccrs28h3b2tfy" path="res://scenes/MainShip.tscn" id="1_6fvpc"]
[ext_resource type="Script" path="res://scripts/Space.gd" id="1_ppaw3"] [ext_resource type="Script" path="res://scripts/Space.gd" id="1_ppaw3"]
@ -7,7 +7,7 @@
[ext_resource type="PackedScene" uid="uid://dbtrc26016xov" path="res://scenes/Base.tscn" id="5_bjt5p"] [ext_resource type="PackedScene" uid="uid://dbtrc26016xov" path="res://scenes/Base.tscn" id="5_bjt5p"]
[ext_resource type="PackedScene" uid="uid://523dme3h6d6c" path="res://scenes/npcships/NPCShipDefault.tscn" id="6_67746"] [ext_resource type="PackedScene" uid="uid://523dme3h6d6c" path="res://scenes/npcships/NPCShipDefault.tscn" id="6_67746"]
[ext_resource type="Script" path="res://scripts/misc/FactionRecoloring.gd" id="7_w8i61"] [ext_resource type="Script" path="res://scripts/misc/FactionRecoloring.gd" id="7_w8i61"]
[ext_resource type="Shader" path="res://shaders/shield.gdshader" id="7_wqq78"] [ext_resource type="Shader" path="res://shaders/ship.gdshader" id="7_wqq78"]
[ext_resource type="Shader" path="res://shaders/nebula.gdshader" id="8_3swn8"] [ext_resource type="Shader" path="res://shaders/nebula.gdshader" id="8_3swn8"]
[ext_resource type="Script" path="res://scripts/nebula.gd" id="9_utirt"] [ext_resource type="Script" path="res://scripts/nebula.gd" id="9_utirt"]
@ -141,6 +141,46 @@ shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0 shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 5.0 shader_parameter/bublic_size = 5.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bdvxf"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array(-1)
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 20.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_j8bi2"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array(-1)
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 20.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pbsyb"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array(-1)
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 20.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2r73x"]
resource_local_to_scene = true
resource_name = "Shield Material"
shader = ExtResource("7_wqq78")
shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array(-1)
shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 20.0
[sub_resource type="FastNoiseLite" id="FastNoiseLite_n2xxx"] [sub_resource type="FastNoiseLite" id="FastNoiseLite_n2xxx"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_lcrcg"] [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_lcrcg"]
@ -224,20 +264,24 @@ position = Vector2(1212, 518)
script = ExtResource("7_w8i61") script = ExtResource("7_w8i61")
[node name="Base" parent="Bases" instance=ExtResource("5_bjt5p")] [node name="Base" parent="Bases" instance=ExtResource("5_bjt5p")]
material = SubResource("ShaderMaterial_bdvxf")
position = Vector2(-434, -343) position = Vector2(-434, -343)
rotation = 0.660397 rotation = 0.660397
[node name="Base2" parent="Bases" instance=ExtResource("5_bjt5p")] [node name="Base2" parent="Bases" instance=ExtResource("5_bjt5p")]
material = SubResource("ShaderMaterial_j8bi2")
position = Vector2(429, -368) position = Vector2(429, -368)
rotation = 2.41284 rotation = 2.41284
type = 1 type = 1
[node name="Base3" parent="Bases" instance=ExtResource("5_bjt5p")] [node name="Base3" parent="Bases" instance=ExtResource("5_bjt5p")]
material = SubResource("ShaderMaterial_pbsyb")
position = Vector2(-428, 418) position = Vector2(-428, 418)
rotation = -0.826175 rotation = -0.826175
type = 3 type = 3
[node name="Base4" parent="Bases" instance=ExtResource("5_bjt5p")] [node name="Base4" parent="Bases" instance=ExtResource("5_bjt5p")]
material = SubResource("ShaderMaterial_2r73x")
position = Vector2(386, 432) position = Vector2(386, 432)
rotation = -2.31102 rotation = -2.31102
type = 2 type = 2

View file

@ -48,6 +48,7 @@ scale_max = 1.5
scale_curve = SubResource("CurveTexture_ot3qw") scale_curve = SubResource("CurveTexture_ot3qw")
[node name="Engine" type="Node2D"] [node name="Engine" type="Node2D"]
use_parent_material = true
script = ExtResource("1_jvcps") script = ExtResource("1_jvcps")
rotation_speed = 120 rotation_speed = 120

View file

@ -4,10 +4,12 @@
[ext_resource type="Texture2D" uid="uid://dbwvej0c5bl52" path="res://sprites/ship mk1.png" id="2_tvpkh"] [ext_resource type="Texture2D" uid="uid://dbwvej0c5bl52" path="res://sprites/ship mk1.png" id="2_tvpkh"]
[node name="Hull" type="Node2D"] [node name="Hull" type="Node2D"]
use_parent_material = true
script = ExtResource("1_em4j0") script = ExtResource("1_em4j0")
max_fuel = 6000 max_fuel = 6000
[node name="HullSprite" type="Sprite2D" parent="."] [node name="HullSprite" type="Sprite2D" parent="."]
z_index = -1 z_index = -1
use_parent_material = true
position = Vector2(16, 0) position = Vector2(16, 0)
texture = ExtResource("2_tvpkh") texture = ExtResource("2_tvpkh")

View file

@ -1,6 +1,6 @@
[gd_scene load_steps=11 format=3 uid="uid://523dme3h6d6c"] [gd_scene load_steps=11 format=3 uid="uid://523dme3h6d6c"]
[ext_resource type="Shader" path="res://shaders/shield.gdshader" id="1_0qs3p"] [ext_resource type="Shader" path="res://shaders/ship.gdshader" id="1_0qs3p"]
[ext_resource type="Script" path="res://scripts/objects/npcship.gd" id="1_wioir"] [ext_resource type="Script" path="res://scripts/objects/npcship.gd" id="1_wioir"]
[ext_resource type="PackedScene" uid="uid://d1bhrxmr0oo0n" path="res://scenes/Bounty.tscn" id="2_6fdps"] [ext_resource type="PackedScene" uid="uid://d1bhrxmr0oo0n" path="res://scenes/Bounty.tscn" id="2_6fdps"]
[ext_resource type="PackedScene" uid="uid://cyskycafymwx" path="res://scenes/shields/npcshield.tscn" id="3_47apr"] [ext_resource type="PackedScene" uid="uid://cyskycafymwx" path="res://scenes/shields/npcshield.tscn" id="3_47apr"]

View file

@ -5,6 +5,7 @@
[ext_resource type="Texture2D" uid="uid://c3gei46k8muk3" path="res://sprites/laserbox.png" id="3_n1sx7"] [ext_resource type="Texture2D" uid="uid://c3gei46k8muk3" path="res://sprites/laserbox.png" id="3_n1sx7"]
[node name="SingleLaser" type="Node2D" node_paths=PackedStringArray("shoot_timer", "spawner_points")] [node name="SingleLaser" type="Node2D" node_paths=PackedStringArray("shoot_timer", "spawner_points")]
use_parent_material = true
position = Vector2(8, 0) position = Vector2(8, 0)
script = ExtResource("1_dwcuc") script = ExtResource("1_dwcuc")
projectile = ExtResource("2_eiesu") projectile = ExtResource("2_eiesu")
@ -18,6 +19,7 @@ wait_time = 0.25
one_shot = true one_shot = true
[node name="SpawnerSprite" type="Sprite2D" parent="."] [node name="SpawnerSprite" type="Sprite2D" parent="."]
use_parent_material = true
texture = ExtResource("3_n1sx7") texture = ExtResource("3_n1sx7")
[node name="Spawner" type="Node2D" parent="."] [node name="Spawner" type="Node2D" parent="."]

View file

@ -92,7 +92,7 @@ func recolor():
color_base = Color.from_hsv(randf(), randf_range(0.8, 1), randf_range(0.8, 1)) color_base = Color.from_hsv(randf(), randf_range(0.8, 1), randf_range(0.8, 1))
color_enemy = Color.from_hsv(randf(), randf_range(0.8, 1), randf_range(0.8, 1)) color_enemy = Color.from_hsv(randf(), randf_range(0.8, 1), randf_range(0.8, 1))
color_background = Color.from_hsv(randf(), randf_range(0.1765, 1), randf_range(0.06, 0.08)) color_background = Color.from_hsv(randf(), randf_range(0.1765, 1), randf_range(0.06, 0.08))
ship.modulate = color_player ship.material.set_shader_parameter('color',color_player)
bases.modulate = color_base bases.modulate = color_base
enemy_faction.modulate = color_enemy enemy_faction.modulate = color_enemy
enemy_faction.changeitemscolor() enemy_faction.changeitemscolor()

View file

@ -6,7 +6,7 @@ func changeitemscolor():
var items = get_children() var items = get_children()
var ship = get_tree().current_scene.ship var ship = get_tree().current_scene.ship
for item in items: for item in items:
item.modulate = modulate #item.modulate = modulate
if item.material: if item.material:
item.material.set_shader_parameter("color",modulate) item.material.set_shader_parameter("color",modulate)
if faction: if faction:

View file

@ -36,7 +36,7 @@ func _process(_delta):
if hull.hp < 0: destroy() if hull.hp < 0: destroy()
func changeinterfacecolor(): func changeinterfacecolor():
$GUI/Interface.modulate = modulate $GUI/Interface.modulate = material.get_shader_parameter('color')
func destroy(): func destroy():
hull.hp = hull.max_hp hull.hp = hull.max_hp

View file

@ -7,7 +7,7 @@ extends Control
var markers = [] var markers = []
func _process(_delta): func _process(_delta):
$Sprite.self_modulate = ship.modulate $Sprite.self_modulate = ship.material.get_shader_parameter('color')
func add_marker(target : Node, type : String): func add_marker(target : Node, type : String):
var marker_inst = marker.instantiate() var marker_inst = marker.instantiate()

View file

@ -22,4 +22,4 @@ func _process(_delta):
rotation = ship.global_position.angle_to_point(target.global_position) rotation = ship.global_position.angle_to_point(target.global_position)
var sp_scale = 1024 / clamp(ship.global_position.distance_to(target.global_position), 512, 2048) var sp_scale = 1024 / clamp(ship.global_position.distance_to(target.global_position), 512, 2048)
marker.scale = Vector2(sp_scale, sp_scale) marker.scale = Vector2(sp_scale, sp_scale)
modulate = target.modulate modulate = target.material.get_shader_parameter("color")

View file

@ -1,13 +1,13 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://cw0827vwv7pc1"] [gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://cw0827vwv7pc1"]
[ext_resource type="Shader" path="res://shaders/shield.gdshader" id="1_qsjai"] [ext_resource type="Shader" path="res://shaders/ship.gdshader" id="1_qsjai"]
[resource] [resource]
resource_local_to_scene = true resource_local_to_scene = true
resource_name = "Shield Material" resource_name = "Shield Material"
shader = ExtResource("1_qsjai") shader = ExtResource("1_qsjai")
shader_parameter/wave_centers = PackedVector2Array() shader_parameter/wave_centers = PackedVector2Array()
shader_parameter/wave_distances = PackedFloat32Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0) shader_parameter/wave_distances = PackedFloat32Array(-1)
shader_parameter/color = Color(1, 0, 0, 1) shader_parameter/color = Color(1, 0, 0, 1)
shader_parameter/max_distance = 20.0 shader_parameter/max_distance = 20.0
shader_parameter/bublic_size = 20.0 shader_parameter/bublic_size = 20.0

View file

@ -29,7 +29,10 @@ void vertex()
} }
void fragment() { void fragment() {
for (int i = 0; i < wave_centers.length(); i++) // Set faction color
COLOR = texture(TEXTURE,UV) * vec4(color,1.0);
/*for (int i = 0; i < wave_centers.length(); i++)
{ {
float wave_distance = wave_distances[i]; float wave_distance = wave_distances[i];
float normalized_distance = wave_distance/max_distance; float normalized_distance = wave_distance/max_distance;
@ -46,5 +49,5 @@ void fragment() {
COLOR.rgb = mix(COLOR.rgb,vec3(bublic*color),1.0-normalized_distance); COLOR.rgb = mix(COLOR.rgb,vec3(bublic*color),1.0-normalized_distance);
} }*/
} }

View file

@ -1,6 +1,6 @@
[gd_scene load_steps=6 format=3 uid="uid://dhh12jepm10m7"] [gd_scene load_steps=6 format=3 uid="uid://dhh12jepm10m7"]
[ext_resource type="Shader" path="res://shaders/shield.gdshader" id="1_0kl5j"] [ext_resource type="Shader" path="res://shaders/ship.gdshader" id="1_0kl5j"]
[ext_resource type="Texture2D" uid="uid://dbwvej0c5bl52" path="res://sprites/ship mk1.png" id="2_bxhdx"] [ext_resource type="Texture2D" uid="uid://dbwvej0c5bl52" path="res://sprites/ship mk1.png" id="2_bxhdx"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_j0js1"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_j0js1"]