Extensive work on VFX for the guild, assets for the world, and portrait variance. Work on quests. Extra work on User Flow completion and file saving.

This commit is contained in:
2025-09-04 07:46:55 -04:00
parent 149ee993dc
commit 48e335f56a
134 changed files with 2232 additions and 288 deletions

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://crrd8mpcuync2"
path="res://.godot/imported/body.png-5a897720f599ec630383f1f3dd8e9e9e.ctex"
path="res://.godot/imported/body.png-efd5e53b6f03adc4a57de5ce8dc4d3cd.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/body.png"
dest_files=["res://.godot/imported/body.png-5a897720f599ec630383f1f3dd8e9e9e.ctex"]
source_file="res://external/test portrait/farmer_f/body.png"
dest_files=["res://.godot/imported/body.png-efd5e53b6f03adc4a57de5ce8dc4d3cd.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://pp5ssn5m2n3i"
path="res://.godot/imported/brow_shadow-1.png-94d923d93f9bc0db18f7b963da1021dd.ctex"
path="res://.godot/imported/brow_shadow-1.png-8dff8c187d59ecaaefbb84e877b32e20.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/brow_shadow-1.png"
dest_files=["res://.godot/imported/brow_shadow-1.png-94d923d93f9bc0db18f7b963da1021dd.ctex"]
source_file="res://external/test portrait/farmer_f/brow_shadow-1.png"
dest_files=["res://.godot/imported/brow_shadow-1.png-8dff8c187d59ecaaefbb84e877b32e20.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://x4e86o28672u"
path="res://.godot/imported/brow_shadow-2.png-85a8d07465b9b109e67ad99a37d690d1.ctex"
path="res://.godot/imported/brow_shadow-2.png-b5d8d416acf1ddb95fd785200da8d3ce.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/brow_shadow-2.png"
dest_files=["res://.godot/imported/brow_shadow-2.png-85a8d07465b9b109e67ad99a37d690d1.ctex"]
source_file="res://external/test portrait/farmer_f/brow_shadow-2.png"
dest_files=["res://.godot/imported/brow_shadow-2.png-b5d8d416acf1ddb95fd785200da8d3ce.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://sv7bxo8a12i6"
path="res://.godot/imported/brow_shadow.png-e4497bbbff21d0b56dc81b07de4f06bc.ctex"
path="res://.godot/imported/brow_shadow.png-f653be07b461bc5d7a18192996ffb73a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/brow_shadow.png"
dest_files=["res://.godot/imported/brow_shadow.png-e4497bbbff21d0b56dc81b07de4f06bc.ctex"]
source_file="res://external/test portrait/farmer_f/brow_shadow.png"
dest_files=["res://.godot/imported/brow_shadow.png-f653be07b461bc5d7a18192996ffb73a.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://tpg08bgn2on7"
path="res://.godot/imported/brows-1.png-70092c4bb56529f3cdeb7b51925eb071.ctex"
path="res://.godot/imported/brows-1.png-86a51529282fffa26d497e35e4cc9367.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/brows-1.png"
dest_files=["res://.godot/imported/brows-1.png-70092c4bb56529f3cdeb7b51925eb071.ctex"]
source_file="res://external/test portrait/farmer_f/brows-1.png"
dest_files=["res://.godot/imported/brows-1.png-86a51529282fffa26d497e35e4cc9367.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://brmta1rtiau4a"
path="res://.godot/imported/brows-2.png-227c9708d0b7fde57b1ef42021508fcf.ctex"
path="res://.godot/imported/brows-2.png-01beea1c4e9cadf04c529dc849682c8a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/brows-2.png"
dest_files=["res://.godot/imported/brows-2.png-227c9708d0b7fde57b1ef42021508fcf.ctex"]
source_file="res://external/test portrait/farmer_f/brows-2.png"
dest_files=["res://.godot/imported/brows-2.png-01beea1c4e9cadf04c529dc849682c8a.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c3wwe6r000gpq"
path="res://.godot/imported/composite.png-b2c2e474fe243b72bd3471af031774d6.ctex"
path="res://.godot/imported/composite.png-a68e5c4a777094ce447b89a2ab45b35b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/composite.png"
dest_files=["res://.godot/imported/composite.png-b2c2e474fe243b72bd3471af031774d6.ctex"]
source_file="res://external/test portrait/farmer_f/composite.png"
dest_files=["res://.godot/imported/composite.png-a68e5c4a777094ce447b89a2ab45b35b.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://caow8dqiog7j4"
path="res://.godot/imported/ear.png-a1b457892f7236464123f2229af36695.ctex"
path="res://.godot/imported/ear.png-74df11e092bb05fcc54c7e7478ed4d95.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/ear.png"
dest_files=["res://.godot/imported/ear.png-a1b457892f7236464123f2229af36695.ctex"]
source_file="res://external/test portrait/farmer_f/ear.png"
dest_files=["res://.godot/imported/ear.png-74df11e092bb05fcc54c7e7478ed4d95.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://csp7xbtu0tpn7"
path="res://.godot/imported/eye-white-1.png-fb75b817d294c00ebeee3e6996a2c02e.ctex"
path="res://.godot/imported/eye-white-1.png-a31a2b044ab6206c129b0739fd4c0c80.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/eye-white-1.png"
dest_files=["res://.godot/imported/eye-white-1.png-fb75b817d294c00ebeee3e6996a2c02e.ctex"]
source_file="res://external/test portrait/farmer_f/eye-white-1.png"
dest_files=["res://.godot/imported/eye-white-1.png-a31a2b044ab6206c129b0739fd4c0c80.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://mygmunn3voie"
path="res://.godot/imported/eyes-iris-1.png-3c96067ab402ea99f8e1b1b7db594f4c.ctex"
path="res://.godot/imported/eyes-iris-1.png-d2077e2e658acf3840075cfe98f86f4e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/eyes-iris-1.png"
dest_files=["res://.godot/imported/eyes-iris-1.png-3c96067ab402ea99f8e1b1b7db594f4c.ctex"]
source_file="res://external/test portrait/farmer_f/eyes-iris-1.png"
dest_files=["res://.godot/imported/eyes-iris-1.png-d2077e2e658acf3840075cfe98f86f4e.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://wnkr20dtf734"
path="res://.godot/imported/eyes-lashes-1.png-8a4535f7647af11ff99b165ee021e8cc.ctex"
path="res://.godot/imported/eyes-lashes-1.png-1460ddc60d7a087da2d517ce8f1a5faa.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/eyes-lashes-1.png"
dest_files=["res://.godot/imported/eyes-lashes-1.png-8a4535f7647af11ff99b165ee021e8cc.ctex"]
source_file="res://external/test portrait/farmer_f/eyes-lashes-1.png"
dest_files=["res://.godot/imported/eyes-lashes-1.png-1460ddc60d7a087da2d517ce8f1a5faa.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dd063tm4qo5nc"
path="res://.godot/imported/eyes.png-1384a95ac331738bfe48af30a8953f10.ctex"
path="res://.godot/imported/eyes.png-da6eb5fdf7f113844fe8e5414a1f2331.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/eyes.png"
dest_files=["res://.godot/imported/eyes.png-1384a95ac331738bfe48af30a8953f10.ctex"]
source_file="res://external/test portrait/farmer_f/eyes.png"
dest_files=["res://.godot/imported/eyes.png-da6eb5fdf7f113844fe8e5414a1f2331.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://li44lgsa0ky"
path="res://.godot/imported/eyes_shadow.png-639516c9b7d6a71a22fcd4597236a89e.ctex"
path="res://.godot/imported/eyes_shadow.png-c0450e5470a67b3e212b544dfeadc885.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/eyes_shadow.png"
dest_files=["res://.godot/imported/eyes_shadow.png-639516c9b7d6a71a22fcd4597236a89e.ctex"]
source_file="res://external/test portrait/farmer_f/eyes_shadow.png"
dest_files=["res://.godot/imported/eyes_shadow.png-c0450e5470a67b3e212b544dfeadc885.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://can8npg0ufr3f"
path="res://.godot/imported/hair_bg.png-07f942d8008a0d2581909922002bbbe2.ctex"
path="res://.godot/imported/hair_bg.png-71bd584ff51ea6c704ba2eb2b8124703.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/hair_bg.png"
dest_files=["res://.godot/imported/hair_bg.png-07f942d8008a0d2581909922002bbbe2.ctex"]
source_file="res://external/test portrait/farmer_f/hair_bg.png"
dest_files=["res://.godot/imported/hair_bg.png-71bd584ff51ea6c704ba2eb2b8124703.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://vt17lekvchdg"
path="res://.godot/imported/hair_fg.png-9f5c6bb27fb0349d9ddfba99f87aa5c6.ctex"
path="res://.godot/imported/hair_fg.png-9dfae38fbf9812dad9b45d15a1cbd791.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/hair_fg.png"
dest_files=["res://.godot/imported/hair_fg.png-9f5c6bb27fb0349d9ddfba99f87aa5c6.ctex"]
source_file="res://external/test portrait/farmer_f/hair_fg.png"
dest_files=["res://.godot/imported/hair_fg.png-9dfae38fbf9812dad9b45d15a1cbd791.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cru775pghpate"
path="res://.godot/imported/hair_fg_shadow.png-41de10e26ae2147aace92ba197b28075.ctex"
path="res://.godot/imported/hair_fg_shadow.png-609d7f961008e48f548f0e05277dafb4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/hair_fg_shadow.png"
dest_files=["res://.godot/imported/hair_fg_shadow.png-41de10e26ae2147aace92ba197b28075.ctex"]
source_file="res://external/test portrait/farmer_f/hair_fg_shadow.png"
dest_files=["res://.godot/imported/hair_fg_shadow.png-609d7f961008e48f548f0e05277dafb4.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dj6fagfp2sbrx"
path="res://.godot/imported/hat-bg.png-00e20fcd79ddb550d12459624be7d9b1.ctex"
path="res://.godot/imported/hat-bg.png-972a86d8449c11d1a72a4f21b15efd0a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/hat-bg.png"
dest_files=["res://.godot/imported/hat-bg.png-00e20fcd79ddb550d12459624be7d9b1.ctex"]
source_file="res://external/test portrait/farmer_f/hat-bg.png"
dest_files=["res://.godot/imported/hat-bg.png-972a86d8449c11d1a72a4f21b15efd0a.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://b303qa76o5r1m"
path="res://.godot/imported/hat.png-9bb6fa9d1f7f7503ee26b1749cdf7c0a.ctex"
path="res://.godot/imported/hat.png-21e48868d0218210b390afa680a1202d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/hat.png"
dest_files=["res://.godot/imported/hat.png-9bb6fa9d1f7f7503ee26b1749cdf7c0a.ctex"]
source_file="res://external/test portrait/farmer_f/hat.png"
dest_files=["res://.godot/imported/hat.png-21e48868d0218210b390afa680a1202d.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dyeu4kwwnxjn5"
path="res://.godot/imported/hat_fg.png-e2cae14f649780ea2aba38b34358b587.ctex"
path="res://.godot/imported/hat_fg.png-2dddd61ae84da22b32d123d3533338c5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/hat_fg.png"
dest_files=["res://.godot/imported/hat_fg.png-e2cae14f649780ea2aba38b34358b587.ctex"]
source_file="res://external/test portrait/farmer_f/hat_fg.png"
dest_files=["res://.godot/imported/hat_fg.png-2dddd61ae84da22b32d123d3533338c5.ctex"]
[params]

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dbdjaye6srxhx"
path="res://.godot/imported/head.png-df46fa0b8e2741bbf0fad9b3a03fedea.ctex"
path="res://.godot/imported/head.png-47039f8abc285b87bb176b5b43ee9a5f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://external/Test Portrait/Farmer_F/head.png"
dest_files=["res://.godot/imported/head.png-df46fa0b8e2741bbf0fad9b3a03fedea.ctex"]
source_file="res://external/test portrait/farmer_f/head.png"
dest_files=["res://.godot/imported/head.png-47039f8abc285b87bb176b5b43ee9a5f.ctex"]
[params]

Binary file not shown.

View File

@@ -1,5 +0,0 @@
[gd_resource type="Gradient" format=3 uid="uid://bdpm22bjpfwpa"]
[resource]
offsets = PackedFloat32Array(0, 0.25695932, 0.54817986, 0.69164884, 1)
colors = PackedColorArray(0, 0, 0, 1, 0.0012908186, 0.102164544, 0.49609822, 1, 0.07499155, 0.16444942, 0.46347773, 1, 0.2880286, 0.45501614, 0.9395664, 1, 0.06879827, 0.06879828, 0.06879828, 1)

View File

@@ -1,8 +0,0 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://c8cvo15p3vosu"]
[sub_resource type="Gradient" id="Gradient_svc3h"]
offsets = PackedFloat32Array(0, 0.25695932, 0.54817986, 0.69164884, 1)
colors = PackedColorArray(0, 0, 0, 1, 0.0012908186, 0.102164544, 0.49609822, 1, 0.07499155, 0.16444942, 0.46347773, 1, 0.2880286, 0.45501614, 0.9395664, 1, 0.06879827, 0.06879828, 0.06879828, 1)
[resource]
gradient = SubResource("Gradient_svc3h")

View File

@@ -1,8 +0,0 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://bkdvsld7ytk2"]
[sub_resource type="Gradient" id="Gradient_s3ye8"]
offsets = PackedFloat32Array(0, 0.6465324, 1)
colors = PackedColorArray(0, 0, 0, 1, 0.9485459, 0.9485459, 0.9485459, 1, 1, 1, 1, 1)
[resource]
gradient = SubResource("Gradient_s3ye8")

View File

@@ -0,0 +1,6 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://c8cvo15p3vosu"]
[ext_resource type="Gradient" uid="uid://bdpm22bjpfwpa" path="res://external/test portrait/gradients/blue-eyes.tres" id="1_nl7cv"]
[resource]
gradient = ExtResource("1_nl7cv")

View File

@@ -1,8 +1,7 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://s2ok31sncevx"]
[sub_resource type="Gradient" id="Gradient_s3ye8"]
offsets = PackedFloat32Array(0, 0.6465324, 1)
colors = PackedColorArray(0, 0, 0, 1, 0.9485459, 0.9485459, 0.9485459, 1, 1, 1, 1, 1)
offsets = PackedFloat32Array(0, 0.99776286)
[resource]
gradient = SubResource("Gradient_s3ye8")

View File

@@ -0,0 +1,8 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://cq64vxl2sjtyx"]
[sub_resource type="Gradient" id="Gradient_465hm"]
offsets = PackedFloat32Array(0, 0.12751675, 0.23489934, 0.47951806, 0.62650603, 0.76626503, 1)
colors = PackedColorArray(0, 0, 0, 1, 0.26620007, 0.07699999, 0.55, 1, 0.13999999, 0.4553334, 1, 1, 0.3168, 0.99, 0.99, 1, 0.4603812, 0.62107074, 0.983972, 1, 0.81, 1, 1, 1, 0, 0, 0, 1)
[resource]
gradient = SubResource("Gradient_465hm")

View File

@@ -0,0 +1,8 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://c5pwq6q4r3fjs"]
[sub_resource type="Gradient" id="Gradient_0cjbu"]
offsets = PackedFloat32Array(0, 0.20722891, 0.2987952, 0.53493977, 0.6578313)
colors = PackedColorArray(0, 0, 0, 1, 0, 1, 0.116666794, 1, 0.6165441, 0.66801465, 0.006004907, 1, 0.65, 0.65, 0, 1, 0.839, 1, 0.79, 1)
[resource]
gradient = SubResource("Gradient_0cjbu")

View File

@@ -0,0 +1,8 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://c2jnnqayrbyup"]
[sub_resource type="Gradient" id="Gradient_fetdk"]
offsets = PackedFloat32Array(0, 0.18313253, 0.5373494, 0.73493975, 1)
colors = PackedColorArray(0, 0, 0, 1, 0.32992896, 0.32992896, 0.32992896, 1, 0.9485459, 0.9485459, 0.9485459, 1, 1, 1, 1, 1, 1, 1, 1, 1)
[resource]
gradient = SubResource("Gradient_fetdk")

View File

@@ -0,0 +1,8 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://24wfq2fftdnn"]
[sub_resource type="Gradient" id="Gradient_s3ye8"]
offsets = PackedFloat32Array(0, 0.078299776, 0.21923937, 0.3512304, 0.62650603, 1)
colors = PackedColorArray(0, 0, 0, 1, 0.29931465, 0.23565266, 0.25879574, 1, 0.32992896, 0.32992896, 0.32992896, 1, 0.9485459, 0.9485459, 0.9485459, 1, 1, 1, 1, 1, 1, 1, 1, 1)
[resource]
gradient = SubResource("Gradient_s3ye8")

View File

@@ -0,0 +1,8 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://bkdvsld7ytk2"]
[sub_resource type="Gradient" id="Gradient_s3ye8"]
offsets = PackedFloat32Array(0, 0.078299776, 0.21923937, 0.3512304, 0.62650603, 1)
colors = PackedColorArray(0, 0, 0, 1, 0.29931465, 0.23565266, 0.25879574, 1, 0.32992896, 0.32992896, 0.32992896, 1, 0.9485459, 0.9485459, 0.9485459, 1, 1, 1, 1, 1, 1, 1, 1, 1)
[resource]
gradient = SubResource("Gradient_s3ye8")

View File

@@ -0,0 +1,5 @@
[gd_resource type="Gradient" format=3 uid="uid://bl1crpxfmpm1x"]
[resource]
offsets = PackedFloat32Array(0, 0.49604222, 0.89973617, 1)
colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0.68, 1, 0.86, 0.86, 1, 1, 0, 0, 1, 1)

View File

@@ -1,8 +1,8 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://cmi82onbn37hi"]
[sub_resource type="Gradient" id="Gradient_s3ye8"]
offsets = PackedFloat32Array(0, 0.032119915, 0.4025696, 0.89721626, 1)
colors = PackedColorArray(0.5686275, 0.45490196, 0.17254902, 1, 0.69411767, 0.5647059, 0.11764706, 1, 0.9490196, 0.7882353, 0.22352941, 1, 1, 0.87058824, 0.1882353, 1, 1, 1, 1, 1)
offsets = PackedFloat32Array(0, 0.06487696, 0.27740493, 0.753915, 0.9239374, 1)
colors = PackedColorArray(0.5686275, 0.45490196, 0.17254902, 1, 0.69411767, 0.5647059, 0.11764706, 1, 0.95, 0.589, 0.228, 1, 0.9948097, 0.8413576, 0.19236313, 1, 0.9999996, 0.943655, 0.6828502, 1, 1, 1, 1, 1)
[resource]
gradient = SubResource("Gradient_s3ye8")

View File

@@ -0,0 +1,8 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://cd4jsivokd6sk"]
[sub_resource type="Gradient" id="Gradient_u7u0c"]
offsets = PackedFloat32Array(0, 0.49604222, 0.89973617, 1)
colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0.68, 1, 0.86, 0.86, 1, 1, 0, 0, 1, 1)
[resource]
gradient = SubResource("Gradient_u7u0c")

View File

@@ -1,8 +1,8 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://0dwdi7m62trg"]
[sub_resource type="Gradient" id="Gradient_s3ye8"]
offsets = PackedFloat32Array(0, 0.032119915, 0.4025696, 0.89721626, 1)
colors = PackedColorArray(0.5686275, 0.45490196, 0.17254902, 1, 0.69411767, 0.5647059, 0.11764706, 1, 0.9490196, 0.7882353, 0.22352941, 1, 1, 0.87058824, 0.1882353, 1, 1, 1, 1, 1)
offsets = PackedFloat32Array(0, 0.19486082, 0.4261242, 0.8993576, 1)
colors = PackedColorArray(0.5686275, 0.45490196, 0.17254902, 1, 0, 0, 0, 1, 0.9490196, 0, 0.22352941, 1, 1, 0.4, 0.1882353, 1, 1, 1, 1, 1)
[resource]
gradient = SubResource("Gradient_s3ye8")

View File

@@ -0,0 +1,8 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://7eaf7qn7h3w"]
[sub_resource type="Gradient" id="Gradient_8rc2w"]
offsets = PackedFloat32Array(0.33509234, 0.8918206, 0.94459105, 0.9762533)
colors = PackedColorArray(0, 0, 0, 1, 0.23031479, 0.23031497, 0.23031488, 1, 0.5609549, 0.5609549, 0.5609549, 1, 1, 1, 1, 1)
[resource]
gradient = SubResource("Gradient_8rc2w")

View File

@@ -0,0 +1,8 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://bfvn8f1oxqr7w"]
[sub_resource type="Gradient" id="Gradient_8rc2w"]
offsets = PackedFloat32Array(0, 0.53825855, 0.88918203, 0.9630607)
colors = PackedColorArray(0, 0, 0, 1, 0.23031479, 0.23031497, 0.23031488, 1, 0.34407577, 0.34407574, 0.34407574, 1, 0.5609549, 0.5609549, 0.5609549, 1)
[resource]
gradient = SubResource("Gradient_8rc2w")

View File

@@ -0,0 +1,8 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://bqmnbsxgbrcpw"]
[sub_resource type="Gradient" id="Gradient_s3ye8"]
offsets = PackedFloat32Array(0, 0.6147757, 0.9182058, 1)
colors = PackedColorArray(0, 0, 0, 1, 0.59147835, 0.59147835, 0.59147835, 1, 0.86898494, 0.8689849, 0.8689849, 1, 1, 1, 1, 1)
[resource]
gradient = SubResource("Gradient_s3ye8")

8
external/Test Portrait/test.gd vendored Normal file
View File

@@ -0,0 +1,8 @@
extends Control
func _ready() -> void:
$Portrait.set_color(ColorVariant.Types.EYES, "green")
$Portrait.set_color(ColorVariant.Types.SKIN, "dark")
$Portrait.set_color(ColorVariant.Types.HAIR, "blonde")
pass

1
external/Test Portrait/test.gd.uid vendored Normal file
View File

@@ -0,0 +1 @@
uid://cntcpe7ofdvyx

View File

@@ -1,10 +1,7 @@
[gd_resource type="ShaderMaterial" load_steps=4 format=3 uid="uid://bjrc8g3mjxh45"]
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://bjrc8g3mjxh45"]
[ext_resource type="Shader" uid="uid://dbcokq5fn2les" path="res://shaders/trigradient.tres" id="1_1vbiw"]
[ext_resource type="Texture2D" uid="uid://c8cvo15p3vosu" path="res://external/Test Portrait/blue_hair.tres" id="2_1vbiw"]
[ext_resource type="Texture2D" uid="uid://bkdvsld7ytk2" path="res://external/Test Portrait/fair-eyes.tres" id="3_s3g4c"]
[resource]
resource_local_to_scene = true
shader = ExtResource("1_1vbiw")
shader_parameter/Color_Gradient = ExtResource("2_1vbiw")
shader_parameter/Luminosity_Gradient = ExtResource("3_s3g4c")

View File

@@ -1,10 +1,10 @@
[gd_resource type="ShaderMaterial" load_steps=4 format=3 uid="uid://btylsf0bv2b57"]
[ext_resource type="Shader" uid="uid://dbcokq5fn2les" path="res://shaders/trigradient.tres" id="1_fetdk"]
[ext_resource type="Texture2D" uid="uid://c8cvo15p3vosu" path="res://external/Test Portrait/blue_hair.tres" id="2_n5pn1"]
[ext_resource type="Texture2D" uid="uid://bkdvsld7ytk2" path="res://external/Test Portrait/fair-eyes.tres" id="3_kr14x"]
[ext_resource type="Texture2D" uid="uid://c5pwq6q4r3fjs" path="res://external/test portrait/gradients/eyes/(c)green.tres" id="2_0xs1n"]
[ext_resource type="Texture2D" uid="uid://c2jnnqayrbyup" path="res://external/test portrait/gradients/eyes/(l)default.tres" id="3_k6wpl"]
[resource]
shader = ExtResource("1_fetdk")
shader_parameter/Color_Gradient = ExtResource("2_n5pn1")
shader_parameter/Luminosity_Gradient = ExtResource("3_kr14x")
shader_parameter/Color_Gradient = ExtResource("2_0xs1n")
shader_parameter/Luminosity_Gradient = ExtResource("3_k6wpl")

View File

@@ -1,8 +1,8 @@
[gd_resource type="ShaderMaterial" load_steps=4 format=3 uid="uid://ca43sapn4p61w"]
[ext_resource type="Shader" uid="uid://dbcokq5fn2les" path="res://shaders/trigradient.tres" id="1_sifog"]
[ext_resource type="Texture2D" uid="uid://0dwdi7m62trg" path="res://external/Test Portrait/red-hair.tres" id="2_2qy1r"]
[ext_resource type="Texture2D" uid="uid://s2ok31sncevx" path="res://external/Test Portrait/dark-hair.tres" id="3_5udns"]
[ext_resource type="Texture2D" uid="uid://0dwdi7m62trg" path="res://external/test portrait/gradients/hair/(c)red.tres" id="2_2qy1r"]
[ext_resource type="Texture2D" uid="uid://s2ok31sncevx" path="res://external/test portrait/gradients/dark-hair.tres" id="3_5udns"]
[resource]
shader = ExtResource("1_sifog")

View File

@@ -1,10 +1,10 @@
[gd_resource type="ShaderMaterial" load_steps=4 format=3 uid="uid://b4uqjr4midqtn"]
[ext_resource type="Shader" uid="uid://dbcokq5fn2les" path="res://shaders/trigradient.tres" id="1_vrnn4"]
[ext_resource type="Texture2D" uid="uid://0dwdi7m62trg" path="res://external/Test Portrait/red-hair.tres" id="2_3qnj1"]
[ext_resource type="Texture2D" uid="uid://s2ok31sncevx" path="res://external/Test Portrait/dark-hair.tres" id="3_5xyld"]
[ext_resource type="Texture2D" uid="uid://cmi82onbn37hi" path="res://external/test portrait/gradients/hair/(c)blonde.tres" id="2_vrnn4"]
[ext_resource type="Texture2D" uid="uid://s2ok31sncevx" path="res://external/test portrait/gradients/dark-hair.tres" id="3_5xyld"]
[resource]
shader = ExtResource("1_vrnn4")
shader_parameter/Color_Gradient = ExtResource("2_3qnj1")
shader_parameter/Color_Gradient = ExtResource("2_vrnn4")
shader_parameter/Luminosity_Gradient = ExtResource("3_5xyld")

View File

@@ -1,16 +1,6 @@
[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://btx1o4kx78cbx"]
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://btx1o4kx78cbx"]
[ext_resource type="Shader" uid="uid://dbcokq5fn2les" path="res://shaders/trigradient.tres" id="1_5slik"]
[ext_resource type="Gradient" uid="uid://c14ufqed7o6fi" path="res://external/Test Portrait/brown-skin.tres" id="2_5slik"]
[ext_resource type="Gradient" uid="uid://doghspt7i0yml" path="res://external/Test Portrait/dark-skin.tres" id="3_s7k3v"]
[sub_resource type="GradientTexture1D" id="GradientTexture1D_blxgd"]
gradient = ExtResource("2_5slik")
[sub_resource type="GradientTexture1D" id="GradientTexture1D_qqpe0"]
gradient = ExtResource("3_s7k3v")
[ext_resource type="Shader" uid="uid://cru1otvka0qn5" path="res://external/test portrait/variant_color.gdshader" id="1_n3xwv"]
[resource]
shader = ExtResource("1_5slik")
shader_parameter/Color_Gradient = SubResource("GradientTexture1D_blxgd")
shader_parameter/Luminosity_Gradient = SubResource("GradientTexture1D_qqpe0")
shader = ExtResource("1_n3xwv")

View File

@@ -1,16 +1,16 @@
[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://dd6afqqkowc1j"]
[ext_resource type="Shader" uid="uid://dbcokq5fn2les" path="res://shaders/trigradient.tres" id="1_wsqbt"]
[ext_resource type="Gradient" uid="uid://c14ufqed7o6fi" path="res://external/Test Portrait/brown-skin.tres" id="2_xn0dn"]
[ext_resource type="Gradient" uid="uid://doghspt7i0yml" path="res://external/Test Portrait/dark-skin.tres" id="3_l1lmx"]
[ext_resource type="Gradient" uid="uid://d1654yf47rudx" path="res://external/test portrait/gradients/mid-skin.tres" id="2_wsqbt"]
[ext_resource type="Gradient" uid="uid://c5joet51774ii" path="res://external/test portrait/gradients/fair-skin.tres" id="3_xn0dn"]
[sub_resource type="GradientTexture1D" id="GradientTexture1D_blxgd"]
gradient = ExtResource("2_xn0dn")
[sub_resource type="GradientTexture1D" id="GradientTexture1D_l1lmx"]
gradient = ExtResource("2_wsqbt")
[sub_resource type="GradientTexture1D" id="GradientTexture1D_qqpe0"]
gradient = ExtResource("3_l1lmx")
[sub_resource type="GradientTexture1D" id="GradientTexture1D_ndlxs"]
gradient = ExtResource("3_xn0dn")
[resource]
shader = ExtResource("1_wsqbt")
shader_parameter/Color_Gradient = SubResource("GradientTexture1D_blxgd")
shader_parameter/Luminosity_Gradient = SubResource("GradientTexture1D_qqpe0")
shader_parameter/Color_Gradient = SubResource("GradientTexture1D_l1lmx")
shader_parameter/Luminosity_Gradient = SubResource("GradientTexture1D_ndlxs")

View File

@@ -0,0 +1,38 @@
shader_type canvas_item;
render_mode blend_mix;
uniform sampler2D color_gradient;
uniform sampler2D luminosity_gradient;
void vertex() {
}
void fragment() {
vec4 col = texture(TEXTURE, UV);
vec4 cgrad_col = texture(color_gradient, vec2(col.r));
vec3 c = vec3(cgrad_col.xyz);
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));
float d = q.x - min(q.w, q.y);
float e = 1.0e-10;
vec3 hsv = vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
vec4 l_col = texture(luminosity_gradient, vec2(col.g));
vec3 fin_hsv = vec3(hsv.x, hsv.y, l_col.x);
c = fin_hsv;
K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
vec3 p2 = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
vec3 fin_rgb = c.z * mix(K.xxx, clamp(p2 - K.xxx, 0.0, 1.0), c.y);
COLOR.rgb = fin_rgb;
COLOR.a = col.a;
}

View File

@@ -0,0 +1 @@
uid://cru1otvka0qn5