ProjectRR — нативный прототип на ассетах ProjectR

- Все 189 скелетов Spine сконвертированы в нативные Godot Skeleton2D (.tscn), без Spine в рантайме
- Меню + сцены: подземелье (карта комнат), просмотр спрайтов, нативные анимации
- Кастомизация цвета (кожа/волосы/глаза) через шейдер
- Вытащенные текстуры/UI/шрифты + нарезка спрайтов из атласа
- Датасет комнат для LoRA, офлайн-инструменты конвертации в tools/

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Leonid Pershin
2026-08-03 16:29:21 +03:00
co-authored by Claude Opus 4.8
commit 04cf5f90b0
2193 changed files with 360105 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
{
"Id": "Man",
"Name": "#Man",
"Figure": "Man",
"Gene": "Man",
"Type": "Slave",
"Gender": "Man",
"Race": "Human",
"Priority": [0, 0, 0],
"SexTime": [45],
"BabyGrowthTime": [60],
"Health": [35],
"Damage": [4],
"CriticalHtiChance": [15],
"CriticalHtiMultiplier": [150],
"KnockbackStability": [15],
"KnockbackDistance": [130],
"WalkingSpeed": [320],
"WalkingSpeedMultiplier": [1],
"AttackSpeedMultiplier": [1],
"Size": [1, 0.5],
"Deployment": [2, 1],
"Script": "CharacterScripts.Man",
"ScriptCombat": "CharacterBehaviourScripts.Attacker",
"ScriptRetreat": "CharacterBehaviourScripts.Retreat",
"Skill": [
{
"Hide": true,
"HitType": "Melee",
"State": "Attack",
"Range": [1.5],
},
],
}
+257
View File
@@ -0,0 +1,257 @@
[
{
"Figure": ["Man"],
"State": ["Patrol"],
"Spine": [
{
"Path": "%spine\man_combat",
"Animation": ["walk_0"],
"Loop": true,
"IsCombat": true,
},
],
},
{
"Figure": ["Man"],
"State": ["Chase"],
"Spine": [
{
"Path": "%spine\man_combat",
"Animation": ["walk_0"],
"Loop": true,
"IsCombat": true,
},
],
},
{
"Figure": ["Man"],
"State": ["Attack"],
"Spine": [
{
"Path": "%spine\man_combat",
"Animation": ["attack_0"],
"Loop": true,
"IsCombat": true,
},
],
},
{
"Figure": ["Man"],
"State": ["Wait"],
"Spine": [
{
"Path": "%spine\man_combat",
"Animation": ["idle_0"],
"Loop": true,
"IsCombat": true,
},
],
},
{
"Figure": ["Man"],
"State": ["Knockback"],
"Spine": [
{
"Path": "%spine\man_combat",
"Animation": ["knockback_0"],
"Loop": true,
"IsCombat": true,
},
],
},
{
"Figure": ["Man"],
"State": ["Stun"],
"Spine": [
{
"Path": "%spine\man_combat",
"Animation": ["stun_0"],
"Loop": true,
"IsCombat": true,
},
],
},
{
"Figure": ["Man"],
"State": ["Dead"],
"Spine": [
{
"Path": "%spine\man_dead",
"Animation": ["animation"],
"Loop": true,
},
],
},
{
"Figure": ["Man"],
"State": ["Portrait"],
"Spine": [
{
"Path": "character\baby\spine\human_baby",
"Animation": ["animation"],
"Loop": false,
},
{
"Path": "%spine\man_portrait_combat",
"Animation": ["animation"],
"Loop": false,
},
],
"Script": "ConditionScripts.Portrait",
},
{
"Figure": ["Man"],
"State": ["PortraitCombat"],
"Spine": [
{
"Path": "character\baby\spine\human_baby",
"Animation": ["animation"],
"Loop": false,
},
{
"Path": "%spine\man_portrait_combat",
"Animation": ["animation"],
"Loop": false,
},
],
"Script": "ConditionScripts.Portrait",
},
{
"Figure": ["Man"],
"State": ["Idle"],
"Spine": [
{
"Path": "%spine\man_combat",
"Animation": ["idle_0"],
"Loop": true,
},
],
},
{
"Figure": ["Man"],
"State": ["Baby"],
"Spine": [
{
"Path": "character\baby\spine\human_baby",
"Animation": ["animation"],
"Loop": true,
},
],
},
{
"Figure": ["Man"],
"State": ["Fetus"],
"Spine": [
{
"Path": "character\baby\spine\human_fetus",
"Animation": ["animation"],
"Loop": true,
},
],
},
{
"Figure": ["Man"],
"State": ["FetusHead"],
"Spine": [
{
"Path": "character\baby\spine\human_fetus_head",
"Animation": ["animation"],
"Loop": true,
},
],
},
{
"Figure": ["Man"],
"State": ["FetusBody"],
"Spine": [
{
"Path": "character\baby\spine\human_fetus_body",
"Animation": ["animation"],
"Loop": true,
},
],
},
{
"Figure": ["Man"],
"State": ["SuckleRight"],
"Spine": [
{
"Path": "character\baby\spine\human_suckle_right",
"Animation": ["animation"],
"Loop": true,
},
],
},
{
"Figure": ["Man"],
"State": ["SuckleLeft"],
"Spine": [
{
"Path": "character\baby\spine\human_suckle_left",
"Animation": ["animation"],
"Loop": true,
},
],
},
{
"Figure": ["Man"],
"State": ["SuckleRightHead"],
"Spine": [
{
"Path": "character\baby\spine\human_suckle_right_head",
"Animation": ["animation"],
"Loop": true,
},
],
},
{
"Figure": ["Man"],
"State": ["SuckleRightBody"],
"Spine": [
{
"Path": "character\baby\spine\human_suckle_right_body",
"Animation": ["animation"],
"Loop": true,
},
],
},
{
"Figure": ["Man"],
"State": ["SuckleLeftHead"],
"Spine": [
{
"Path": "character\baby\spine\human_suckle_left_head",
"Animation": ["animation"],
"Loop": true,
},
],
},
{
"Figure": ["Man"],
"State": ["SuckleLeftBody"],
"Spine": [
{
"Path": "character\baby\spine\human_suckle_left_body",
"Animation": ["animation"],
"Loop": true,
},
],
},
]
File diff suppressed because it is too large Load Diff
+101
View File
@@ -0,0 +1,101 @@
[gd_scene format=3]
[ext_resource type="Texture2D" path="res://characters/man/spine/man_dead.png" id="1_cpkpj"]
[sub_resource type="Animation" id="Animation_r25gk"]
length = 0.001
loop_mode = 1
[sub_resource type="AnimationLibrary" id="AnimationLibrary_l715b"]
_data = {
&"animation": SubResource("Animation_r25gk")
}
[node name="Native" type="Node2D" unique_id=1897620376]
[node name="SpineRoot" type="Node2D" parent="." unique_id=368411444]
position = Vector2(682.5842, 399.44354)
scale = Vector2(1.430621, -1.430621)
[node name="Skeleton2D" type="Skeleton2D" parent="SpineRoot" unique_id=577327794]
[node name="root" type="Bone2D" parent="SpineRoot/Skeleton2D" unique_id=1771760043]
rest = Transform2D(1, 0, 0, 1, 0, 0)
auto_calculate_length_and_angle = false
length = 0.0
bone_angle = 0.0
[node name="shadow" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1381818348]
texture = ExtResource("1_cpkpj")
skeleton = NodePath("..")
polygon = PackedVector2Array(198.59277, 13.69922, 216.28076, -12.40997, 73.59424, -23.51697, -154.48929, -22.88666, -263.64413, 5.73608, -213.55649, 17.198, 1.2908889, 25.47003)
uv = PackedVector2Array(464.59277, 445.30078, 482.2808, 471.41, 339.59424, 482.51694, 111.51071, 481.8867, 2.3558779, 453.26392, 52.443516, 441.80197, 267.29086, 433.53003)
polygons = [PackedInt32Array(3, 5, 6), PackedInt32Array(4, 5, 3), PackedInt32Array(2, 6, 0), PackedInt32Array(2, 0, 1), PackedInt32Array(3, 6, 2)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1, 1)]
[node name="M_body" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1308595276]
z_index = 1
texture = ExtResource("1_cpkpj")
skeleton = NodePath("..")
polygon = PackedVector2Array(131.97235, 62.74426, 143.69537, 10.61243, -4.3132286, -30.02588, -176.95047, -30.03241, -161.50867, 1.73242, -154.72305, 10.9118, -275.81323, 2.3114, -271.9425, 19.89899, -236.97012, 54.26666, 48.429436, 73.28558)
uv = PackedVector2Array(409.97232, 337.25583, 421.6954, 389.38757, 273.6868, 430.02588, 101.049515, 430.03244, 116.49132, 398.26758, 123.276924, 389.08826, 2.1867657, 397.68863, 6.057498, 380.10104, 41.02987, 345.73337, 326.42944, 326.71448)
polygons = [PackedInt32Array(5, 8, 9), PackedInt32Array(6, 7, 8), PackedInt32Array(6, 8, 5), PackedInt32Array(2, 5, 9), PackedInt32Array(1, 2, 9), PackedInt32Array(1, 9, 0), PackedInt32Array(2, 3, 4), PackedInt32Array(2, 4, 5)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1)]
[node name="C_hairD_hairfront$0_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=709743142]
z_index = 2
texture = ExtResource("1_cpkpj")
skeleton = NodePath("..")
polygon = PackedVector2Array(212.13776, 47.83203, 204.15515, 3.72113, 151.43805, -17.55878, 114.96814, 41.16266, 129.42609, 84.91687, 193.41095, 85.17426)
uv = PackedVector2Array(100.13775, 172.16797, 92.15521, 216.27892, 39.438046, 237.55879, 2.9681606, 178.83736, 17.42612, 135.08313, 81.41103, 134.82576)
polygons = [PackedInt32Array(4, 5, 3), PackedInt32Array(3, 5, 0), PackedInt32Array(1, 2, 0), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1)]
[node name="C_headA_race$0_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1224912993]
z_index = 3
texture = ExtResource("1_cpkpj")
skeleton = NodePath("..")
polygon = PackedVector2Array(194.99567, 36.22101, 195.03058, 6.98779, 166.64752, -3.19788, 126.66534, -2.88184, 122.01617, 43.49915, 139.448, 62.22601)
uv = PackedVector2Array(74.99565, 91.778946, 75.03061, 121.01214, 46.64751, 131.19786, 6.6654177, 130.88179, 2.016199, 84.50084, 19.44802, 65.77394)
polygons = [PackedInt32Array(4, 2, 3), PackedInt32Array(5, 2, 4), PackedInt32Array(5, 0, 2), PackedInt32Array(1, 2, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1)]
[node name="C_faceB1" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1000315925]
z_index = 4
texture = ExtResource("1_cpkpj")
skeleton = NodePath("..")
polygon = PackedVector2Array(157.69098, 42.64777, 178.09338, 1.84137, 172.02289, 2.04614, 158.1922, 28.06494)
uv = PackedVector2Array(103.69091, 196.35223, 124.09328, 237.15866, 118.022865, 236.95389, 104.19215, 210.9351)
polygons = [PackedInt32Array(0, 1, 3), PackedInt32Array(1, 2, 3)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_hairA_hairfront$0_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1768981623]
z_index = 5
texture = ExtResource("1_cpkpj")
skeleton = NodePath("..")
polygon = PackedVector2Array(208.2337, 39.39752, 207.95477, 11.43488, 171.72467, -6.65027, 127.85425, 21.00677, 136.24298, 53.30719, 178.61908, 57.45691)
uv = PackedVector2Array(208.23373, 277.60248, 207.95479, 305.56506, 171.72469, 323.6502, 127.854294, 295.99316, 136.24301, 263.69275, 178.61908, 259.5431)
polygons = [PackedInt32Array(1, 5, 0), PackedInt32Array(5, 3, 4), PackedInt32Array(2, 5, 1), PackedInt32Array(2, 3, 5)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1)]
[node name="C_armA3_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1027093450]
z_index = 6
texture = ExtResource("1_cpkpj")
skeleton = NodePath("..")
polygon = PackedVector2Array(207.21704, -22.16937, 175.75232, -21.94043, 172.44037, 5.07965, 210.9657, 4.99536)
uv = PackedVector2Array(459.21698, 430.1693, 427.75223, 429.94034, 424.4403, 402.9203, 462.9656, 403.00455)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(3, 0, 2)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="M_arm" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1179292040]
z_index = 7
texture = ExtResource("1_cpkpj")
skeleton = NodePath("..")
polygon = PackedVector2Array(131.05292, 65.02222, 131.05865, 31.76013, 132.17023, 15.33459, 207.7398, 2.70764, 188.10193, -17.28827, 93.66656, -15.93732, 85.12366, 4.59387, 105.01447, 65.19885)
uv = PackedVector2Array(48.052883, 240.9778, 48.05864, 274.23984, 49.17023, 290.66537, 124.73983, 303.29236, 105.10193, 323.28827, 10.666518, 321.9373, 2.1236467, 301.40607, 22.014488, 240.80112)
polygons = [PackedInt32Array(1, 6, 7), PackedInt32Array(1, 7, 0), PackedInt32Array(2, 5, 6), PackedInt32Array(2, 6, 1), PackedInt32Array(4, 2, 3), PackedInt32Array(5, 2, 4)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1)]
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=535853839]
root_node = NodePath("../SpineRoot/Skeleton2D")
libraries/ = SubResource("AnimationLibrary_l715b")
@@ -0,0 +1,137 @@
[gd_scene format=3]
[ext_resource type="Texture2D" path="res://characters/man/spine/man_portrait_combat.png" id="1_yfnuo"]
[sub_resource type="Animation" id="Animation_skry4"]
length = 0.001
loop_mode = 1
[sub_resource type="AnimationLibrary" id="AnimationLibrary_twque"]
_data = {
&"animation": SubResource("Animation_skry4")
}
[node name="Native" type="Node2D" unique_id=62529072]
[node name="SpineRoot" type="Node2D" parent="." unique_id=61673916]
position = Vector2(644.2985, 317.01492)
scale = Vector2(4.2985077, -4.2985077)
[node name="Skeleton2D" type="Skeleton2D" parent="SpineRoot" unique_id=1270473932]
[node name="root" type="Bone2D" parent="SpineRoot/Skeleton2D" unique_id=1386809729]
rest = Transform2D(1, 0, 0, 1, 0, 0)
auto_calculate_length_and_angle = false
length = 0.0
bone_angle = 0.0
[node name="C_hairE_hairback$0_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=2009984693]
texture = ExtResource("1_yfnuo")
skeleton = NodePath("..")
polygon = PackedVector2Array(45, -32, -45, -32, -45.000004, 57, 44.999996, 57)
uv = PackedVector2Array(92, 202, 2, 202, 2, 113.00001, 92, 113.00001)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_armB1" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=50777397]
z_index = 1
texture = ExtResource("1_yfnuo")
skeleton = NodePath("..")
polygon = PackedVector2Array(51.000004, -77, 6.0000033, -77, 6.0000014, -30, 51, -30)
uv = PackedVector2Array(196, 84, 151, 84, 151, 37, 196, 37)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_bodyA" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=527153040]
z_index = 2
texture = ExtResource("1_yfnuo")
skeleton = NodePath("..")
polygon = PackedVector2Array(38.000004, -77, -34.999996, -77, -35, -12, 38, -12)
uv = PackedVector2Array(167.00002, 202, 94, 202, 94, 137, 167.00002, 137)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_hairD_hairfront$0_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1938347119]
z_index = 3
texture = ExtResource("1_yfnuo")
skeleton = NodePath("..")
polygon = PackedVector2Array(48, -27, 26.000002, -27, 25.999998, 39, 48, 39)
uv = PackedVector2Array(99, 110.99999, 77, 110.99999, 77, 45, 99, 45)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_cloth_bodyA1" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1466790537]
z_index = 4
texture = ExtResource("1_yfnuo")
skeleton = NodePath("..")
polygon = PackedVector2Array(22.000002, -52, -27.999998, -52, -27.999998, -27, 22.000002, -27)
uv = PackedVector2Array(201, 35, 151, 35, 151, 10, 201, 10)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_armA2" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=730871942]
z_index = 5
texture = ExtResource("1_yfnuo")
skeleton = NodePath("..")
polygon = PackedVector2Array(-10.999996, -77, -58.999996, -77, -59, -26, -10.999999, -26)
uv = PackedVector2Array(149, 77, 100.99999, 77, 100.99999, 26.000002, 149, 26.000002)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_headA_race$0_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=735480759]
z_index = 6
texture = ExtResource("1_yfnuo")
skeleton = NodePath("..")
polygon = PackedVector2Array(45, -35, -27.999998, -35, -28.000002, 32, 45, 32)
uv = PackedVector2Array(75, 110.99999, 2, 110.99999, 2, 44, 75, 44)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_faceB1" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=819307647]
z_index = 7
texture = ExtResource("1_yfnuo")
skeleton = NodePath("..")
polygon = PackedVector2Array(43, -25, 3.0000012, -25, 2.9999995, 13, 43, 13)
uv = PackedVector2Array(84, 42, 44, 42, 44, 4, 84, 4)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_hairC_hairfront$0_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=2027263142]
z_index = 8
texture = ExtResource("1_yfnuo")
skeleton = NodePath("..")
polygon = PackedVector2Array(38, -4, -10, -4, -10.000002, 45, 37.999996, 45)
uv = PackedVector2Array(198, 135, 150, 135, 150, 86, 198, 86)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_hairB_hairfront$0_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1232157804]
z_index = 9
texture = ExtResource("1_yfnuo")
skeleton = NodePath("..")
polygon = PackedVector2Array(57, -10, 10, -10, 9.999998, 46, 56.999996, 46)
uv = PackedVector2Array(148, 135, 100.99999, 135, 100.99999, 79, 148, 79)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_hairA_hairfront$0_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=2094119786]
z_index = 10
texture = ExtResource("1_yfnuo")
skeleton = NodePath("..")
polygon = PackedVector2Array(4.000001, -24, -28.999998, -24, -29.000002, 32, 3.9999986, 32)
uv = PackedVector2Array(202, 202, 169, 202, 169, 146, 202, 146)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_faceA1" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1988329104]
z_index = 11
texture = ExtResource("1_yfnuo")
skeleton = NodePath("..")
polygon = PackedVector2Array(43, -25, 3.0000012, -25, 2.9999995, 13, 43, 13)
uv = PackedVector2Array(42, 42, 2, 42, 2, 4, 42, 4)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=260263539]
root_node = NodePath("../SpineRoot/Skeleton2D")
libraries/ = SubResource("AnimationLibrary_twque")
+96
View File
@@ -0,0 +1,96 @@
man_combat.png
size:492,492
filter:Linear,Linear
C_armA1
bounds:379,193,55,103
offsets:466,378,1080,1080
C_armA2
bounds:314,199,63,97
offsets:479,455,1080,1080
C_armA3
bounds:454,286,36,48
offsets:468,369,1080,1080
C_armB1
bounds:436,190,54,94
offsets:551,454,1080,1080
C_armB2
bounds:314,112,60,85
offsets:563,395,1080,1080
C_armB3
bounds:337,75,30,35
offsets:598,375,1080,1080
C_bodyA
bounds:165,19,79,107
offsets:510,462,1080,1080
C_bodyB
bounds:362,298,90,98
offsets:505,381,1080,1080
C_cloth_bodyA1
bounds:253,119,54,29
offsets:517,525,1080,1080
C_cloth_bodyA2
bounds:254,409,108,81
offsets:495,390,1080,1080
C_cloth_bodyB1
bounds:2,190,179,123
offsets:436,322,1080,1080
C_faceA1_a
bounds:292,22,43,40
offsets:548,553,1080,1080
C_faceA1_b
bounds:246,70,44,47
offsets:548,548,1080,1080
C_faceA1_c
bounds:431,89,43,46
offsets:548,547,1080,1080
C_faceB1_a
bounds:337,33,43,40
offsets:548,553,1080,1080
C_faceB2_b
bounds:246,21,44,47
offsets:548,548,1080,1080
C_faceB2_c
bounds:292,64,43,46
offsets:548,547,1080,1080
C_hairA_0
bounds:454,336,36,60
offsets:517,553,1080,1080
C_hairB_0
bounds:376,132,50,59
offsets:555,568,1080,1080
C_hairC_0
bounds:428,137,50,51
offsets:536,574,1080,1080
C_hairD_0
bounds:461,419,26,71
offsets:571,550,1080,1080
C_hairE_0
bounds:364,398,95,92
offsets:500,545,1080,1080
C_headA_0
bounds:284,336,76,71
offsets:517,542,1080,1080
C_legA1
bounds:183,128,68,185
offsets:488,258,1080,1080
C_legA2
bounds:2,22,88,166
offsets:469,134,1080,1080
C_legA3
bounds:382,49,48,38
offsets:465,126,1080,1080
C_legB1
bounds:92,13,71,175
offsets:540,262,1080,1080
C_legB2
bounds:253,150,59,163
offsets:554,139,1080,1080
C_legB3
bounds:376,93,53,37
offsets:565,133,1080,1080
shadow
bounds:2,315,280,61
offsets:403,112,1080,1080
weapon
bounds:2,378,250,112
offsets:443,295,1080,1080
Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cd16vqwwtgavt"
path="res://.godot/imported/man_combat.png-7f84c3b810a66720040240586b89d7b5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/man/spine/man_combat.png"
dest_files=["res://.godot/imported/man_combat.png-7f84c3b810a66720040240586b89d7b5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.
+27
View File
@@ -0,0 +1,27 @@
man_dead.png
size:488,488
filter:Linear,Linear
C_armA3
bounds:424,402,39,29
offsets:712,117,1080,1080
C_faceB2_c
bounds:103,196,22,42
offsets:697,141,1080,1080
C_hairA_0
bounds:127,259,82,65
offsets:667,133,1080,1080
C_hairD_0
bounds:2,134,99,104
offsets:654,122,1080,1080
C_headA_0
bounds:2,65,74,67
offsets:662,136,1080,1080
M_arm
bounds:2,240,123,84
offsets:625,122,1080,1080
M_body
bounds:2,326,420,105
offsets:264,109,1080,1080
shadow
bounds:2,433,481,50
offsets:276,116,1080,1080
Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cnkddbqm6jpn4"
path="res://.godot/imported/man_dead.png-d9cc755c0368bcd6b7b4604511482d60.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/man/spine/man_dead.png"
dest_files=["res://.godot/imported/man_dead.png-d9cc755c0368bcd6b7b4604511482d60.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.
@@ -0,0 +1,30 @@
man_portrait_combat.png
size:204,204
filter:Linear,Linear
C_armA2
bounds:101,26,48,51
C_armB1
bounds:151,37,45,47
C_bodyA
bounds:94,137,73,65
offsets:1,0,74,65
C_cloth_bodyA1
bounds:151,10,50,25
C_faceA1_a
bounds:2,4,40,38
C_faceB1_a
bounds:44,4,40,38
C_hairA_0
bounds:169,146,33,56
C_hairB_0
bounds:101,79,47,56
C_hairC_0
bounds:150,86,48,49
C_hairD_0
bounds:77,45,22,66
offsets:0,0,22,67
C_hairE_0
bounds:2,113,90,89
C_headA_0
bounds:2,44,73,67
offsets:0,0,73,69
Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dod5npjfpwo6f"
path="res://.godot/imported/man_portrait_combat.png-f9b21eb096e532e1e8d8530d9902e77c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://characters/man/spine/man_portrait_combat.png"
dest_files=["res://.godot/imported/man_portrait_combat.png-f9b21eb096e532e1e8d8530d9902e77c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.