Files
project-rr/characters/shortstack/shortstack_dead_native.tscn
T
Leonid PershinandClaude Opus 4.8 04cf5f90b0 ProjectRR — нативный прототип на ассетах ProjectR
- Все 189 скелетов Spine сконвертированы в нативные Godot Skeleton2D (.tscn), без Spine в рантайме
- Меню + сцены: подземелье (карта комнат), просмотр спрайтов, нативные анимации
- Кастомизация цвета (кожа/волосы/глаза) через шейдер
- Вытащенные текстуры/UI/шрифты + нарезка спрайтов из атласа
- Датасет комнат для LoRA, офлайн-инструменты конвертации в tools/

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-03 16:29:21 +03:00

264 lines
16 KiB
Plaintext

[gd_scene format=3]
[ext_resource type="Texture2D" path="res://characters/shortstack/spine/shortstack_dead.png" id="1_0kdko"]
[sub_resource type="Animation" id="Animation_tjr0o"]
length = 0.001
loop_mode = 1
[sub_resource type="AnimationLibrary" id="AnimationLibrary_62h5k"]
_data = {
&"animation": SubResource("Animation_tjr0o")
}
[node name="Native" type="Node2D" unique_id=847701565]
[node name="SpineRoot" type="Node2D" parent="." unique_id=448993160]
position = Vector2(659.4012, 411.87833)
scale = Vector2(1.6978431, -1.6978431)
[node name="Skeleton2D" type="Skeleton2D" parent="SpineRoot" unique_id=410881341]
[node name="root" type="Bone2D" parent="SpineRoot/Skeleton2D" unique_id=902086181]
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=2038538790]
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(164.40826, 21.90784, 173.0744, -9.95087, 111.31512, -22.48181, -2.5395486, -32.91174, -116.66772, -17.8418, -143.0874, -1.4483, -130.71817, 22.14478)
uv = PackedVector2Array(310.4082, 278.09222, 319.0744, 309.95087, 257.31512, 322.4818, 143.46043, 332.91174, 29.33227, 317.8418, 2.9125786, 301.44827, 15.281823, 277.85532)
polygons = [PackedInt32Array(6, 3, 4), PackedInt32Array(5, 6, 4), PackedInt32Array(6, 0, 3), PackedInt32Array(2, 0, 1), PackedInt32Array(0, 2, 3)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1, 1)]
[node name="C_hairG_hairback$0_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=936789041]
modulate = Color(0.18039216, 0.29803923, 0.19215687, 1)
z_index = 1
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-30.82663, -5.31909, -55.13934, -9.50775, -140.74716, -37.1908, -218.74884, -8.75427, -209.64032, 10.35461, -167.71356, 61.58551, -108.34012, 77.42426)
uv = PackedVector2Array(190.17336, 242.31908, 165.86067, 246.5077, 80.252846, 274.1908, 2.2511601, 245.75427, 11.359681, 226.64542, 53.286438, 175.41447, 112.659874, 159.57578)
polygons = [PackedInt32Array(1, 6, 0), PackedInt32Array(2, 5, 6), PackedInt32Array(2, 6, 1), PackedInt32Array(4, 5, 2), PackedInt32Array(3, 4, 2)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1, 1)]
[node name="C_hairF_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1396173308]
modulate = Color(0.18039216, 0.29803923, 0.19215687, 1)
z_index = 2
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-53.962162, 70.78583, -53.94995, 28.48511, -65.40207, 8.8338, -115.31717, 9.11078, -131.37088, 53.04962, -100.0572, 91.25647)
uv = PackedVector2Array(380.03784, 34.214153, 380.05005, 76.51488, 368.59793, 96.16614, 318.68283, 95.88923, 302.62912, 51.95039, 333.9428, 13.743533)
polygons = [PackedInt32Array(4, 1, 3), PackedInt32Array(0, 4, 5), PackedInt32Array(1, 4, 0), PackedInt32Array(2, 3, 1)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1)]
[node name="C_bodyB_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=218561878]
modulate = Color(0.4862745, 0.69411767, 0.3372549, 1)
z_index = 3
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(195.8949, 20.44556, 177.66888, -5.26971, -40.6203, -24.60907, -112.21289, -19.88074, -106.46884, 59.44629, -91.24274, 75.48181, 13.547546, 93.12927)
uv = PackedVector2Array(310.89493, 408.55453, 292.66895, 434.26984, 74.37972, 453.60916, 2.787117, 448.8809, 8.53117, 369.55383, 23.757275, 353.51834, 128.54759, 335.87082)
polygons = [PackedInt32Array(1, 6, 0), PackedInt32Array(2, 5, 6), PackedInt32Array(2, 6, 1), PackedInt32Array(4, 5, 2), PackedInt32Array(3, 4, 2)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1, 1)]
[node name="C_nippleB_nipple$0_#08" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1417481945]
modulate = Color(0.94509804, 0.5686275, 0.4627451, 1)
z_index = 4
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(26.867607, 93.51428, 32.312317, 72.0675, -12.134094, 79.87793, 5.661676, 97.72205)
uv = PackedVector2Array(422.86765, 20.48568, 428.3123, 41.932487, 383.8659, 34.122013, 401.66165, 16.277933)
polygons = [PackedInt32Array(3, 0, 1), PackedInt32Array(2, 3, 1)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_nippleB_nipple$0_#09" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1976567225]
modulate = Color(0.7019608, 0.36862746, 0.27450982, 1)
z_index = 5
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(15.722595, 98.30164, 38.065857, 75.96838, 4.044007, 75.94305, -7.8081737, 87.69745)
uv = PackedVector2Array(411.7226, 15.698353, 434.06592, 38.0316, 400.04398, 38.056877, 388.1919, 26.302519)
polygons = [PackedInt32Array(2, 3, 0), PackedInt32Array(2, 0, 1)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_titsB_L" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=391403283]
z_index = 6
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(95.70679, 52.36053, 73.37146, 38.82996, -21.198551, 64.28845, -20.798523, 73.7533, 7.0028057, 93.92371)
uv = PackedVector2Array(119.70682, 44.63948, 97.371506, 58.170033, 2.801468, 32.71155, 3.201499, 23.246704, 31.002817, 3.0763092)
polygons = [PackedInt32Array(1, 4, 0), PackedInt32Array(2, 3, 4), PackedInt32Array(1, 2, 4)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1)]
[node name="C_pregnant_pregnantsize$0_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1670868987]
modulate = Color(0.4862745, 0.69411767, 0.3372549, 1)
z_index = 7
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(57.966858, 82.96063, 76.20575, 36.79974, 60.13, 16.90967, -3.8578508, 17.00238, -29.885592, 42.5835, 3.6075358, 90.22095)
uv = PackedVector2Array(280.9669, 131.03935, 299.20572, 177.20029, 283.13, 197.0903, 219.14215, 196.99767, 193.11443, 171.4165, 226.6075, 123.779045)
polygons = [PackedInt32Array(3, 4, 5), PackedInt32Array(3, 5, 0), PackedInt32Array(2, 3, 0), PackedInt32Array(1, 2, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1)]
[node name="C_armclothA2_#05" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1921152825]
modulate = Color(0.73333335, 0.6862745, 0.45882353, 1)
z_index = 8
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-43.5318, -7.29938, -86.08566, 14.01257, -59.81046, 24.08514)
uv = PackedVector2Array(295.4682, 67.29938, 252.91432, 45.98743, 279.1895, 35.914845)
polygons = [PackedInt32Array(1, 2, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1)]
[node name="C_legclothB2_#05" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1885188055]
modulate = Color(0.73333335, 0.6862745, 0.45882353, 1)
z_index = 9
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(161.87238, 23.24103, 147.48749, 0.13477, 97.95599, 6.82855, 97.84949, 35.03076, 122.6969, 49.30658)
uv = PackedVector2Array(453.8724, 167.75899, 439.48743, 190.86522, 389.95596, 184.17151, 389.8495, 155.96928, 414.6969, 141.69347)
polygons = [PackedInt32Array(2, 3, 4), PackedInt32Array(1, 2, 4), PackedInt32Array(0, 1, 4)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1)]
[node name="C_hairD_hairfront$0_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=118936969]
modulate = Color(0.18039216, 0.29803923, 0.19215687, 1)
z_index = 10
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-65.1019, 25.07928, -51.95438, -8.17432, -91.4455, -12.18951, -109.87015, 31.59088, -103.10529, 37.70947)
uv = PackedVector2Array(285.89813, 82.92081, 299.04565, 116.174324, 259.5545, 120.18953, 241.12988, 76.40915, 247.89473, 70.29056)
polygons = [PackedInt32Array(0, 3, 4), PackedInt32Array(2, 0, 1), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1)]
[node name="C_eyeB1_#01" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=150514750]
modulate = Color(1, 0.58431375, 0.35686275, 1)
z_index = 11
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-81.87524, 25.59967, -90.46118, 42.4104, -60.738594, 64.7995, -49.282562, 55.24512)
uv = PackedVector2Array(421.1248, 453.40036, 412.53885, 436.5896, 442.26147, 414.20053, 453.71744, 423.7549)
polygons = [PackedInt32Array(3, 0, 1), PackedInt32Array(3, 1, 2)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_faceB2" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=177864415]
z_index = 12
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-49.8335, 30.71759, -67.80798, 19.42932, -73.03271, 34.96173, -50.061405, 46.55078)
uv = PackedVector2Array(426.16653, 232.28244, 408.19202, 243.57066, 402.96732, 228.03825, 425.93857, 216.44922)
polygons = [PackedInt32Array(2, 3, 0), PackedInt32Array(1, 2, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_faceB1_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1528689887]
modulate = Color(0.18039216, 0.29803923, 0.19215687, 1)
z_index = 13
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-92.13181, 37.08441, -85.49966, 43.29907, -60.075993, 66.6731)
uv = PackedVector2Array(155.8682, 156.91557, 162.50037, 150.70093, 187.92403, 127.32692)
polygons = [PackedInt32Array(0, 1, 2)]
bones = ["root", PackedFloat32Array(1, 1, 1)]
[node name="C_hairA_hairfront$0_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=51108108]
modulate = Color(0.18039216, 0.29803923, 0.19215687, 1)
z_index = 14
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-40.584633, 72.41132, -42.193184, 46.38287, -93.65988, 6.15765, -117.08319, 9.90259, -124.73831, 60.47882, -84.82688, 97.0448)
uv = PackedVector2Array(386.4154, 124.58868, 384.80685, 150.61717, 333.34015, 190.84238, 309.9168, 187.09746, 302.2617, 136.52122, 342.17316, 99.95521)
polygons = [PackedInt32Array(1, 5, 0), PackedInt32Array(4, 5, 1), PackedInt32Array(2, 3, 4), PackedInt32Array(1, 2, 4)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1)]
[node name="C_eyeA1_#01" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=55110961]
modulate = Color(1, 0.58431375, 0.35686275, 1)
z_index = 15
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-50.115425, 55.62946, -77.07816, 29.89197, -86.05417, 32.32971, -86.19302, 45.72186, -60.257664, 64.76971)
uv = PackedVector2Array(448.88458, 385.3705, 421.92188, 411.10803, 412.94586, 408.6703, 412.807, 395.27814, 438.74237, 376.23022)
polygons = [PackedInt32Array(3, 1, 2), PackedInt32Array(0, 3, 4), PackedInt32Array(0, 1, 3)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1)]
[node name="C_faceA2" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1843219994]
z_index = 16
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-45.732273, 45.31323, -54.43372, 26.24933, -70.89691, 20.57623, -71.14349, 38.99921)
uv = PackedVector2Array(438.26773, 348.6867, 429.56625, 367.7506, 413.1031, 373.42368, 412.85648, 355.0007)
polygons = [PackedInt32Array(1, 3, 0), PackedInt32Array(2, 3, 1)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_faceA1_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=254717686]
modulate = Color(0.18039216, 0.29803923, 0.19215687, 1)
z_index = 17
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-88.49313, 40.53192, -90.84644, 41.19727, -84.91602, 70.32343, -60.079933, 66.67181)
uv = PackedVector2Array(254.50687, 32.468075, 252.15355, 31.802717, 258.08398, 2.67655, 282.9201, 6.3281994)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(0, 2, 3)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_bodyA_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=948752343]
modulate = Color(0.4862745, 0.69411767, 0.3372549, 1)
z_index = 18
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(56.96759, 19.98157, 89.4848, -21.97681, 82.74664, -28.99731, -22.001709, -29.02942, -60.46008, 15.43518, -60.058594, 50.15656, -23.914122, 65.42755)
uv = PackedVector2Array(119.96758, 107.018456, 152.4848, 148.97687, 145.74657, 155.99728, 40.99827, 156.02946, 2.5398903, 111.56486, 2.941389, 76.843475, 39.08585, 61.572445)
polygons = [PackedInt32Array(2, 0, 1), PackedInt32Array(3, 6, 0), PackedInt32Array(3, 0, 2), PackedInt32Array(4, 5, 6), PackedInt32Array(3, 4, 6)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1, 1)]
[node name="C_bodyclothB_pregnantsize$0_#06" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=644105684]
z_index = 19
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(117.08539, -2.66827, 106.55396, -24.51117, 85.79736, -23.48724, 0.34807885, 26.47589, 11.032468, 48.87952, 49.782288, 49.17773)
uv = PackedVector2Array(310.0854, 252.66832, 299.55396, 274.51114, 278.7974, 273.4872, 193.34805, 223.52415, 204.03246, 201.12051, 242.78232, 200.82224)
polygons = [PackedInt32Array(2, 5, 0), PackedInt32Array(3, 4, 5), PackedInt32Array(2, 3, 5), PackedInt32Array(1, 2, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1)]
[node name="C_legclothA2_#05" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1374425486]
modulate = Color(0.73333335, 0.6862745, 0.45882353, 1)
z_index = 20
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(51.99182, -1.21417, 39.11658, -29.04816, -6.8602285, -29.04797, -7.3663907, 12.17297, 23.4953, 14.67908)
uv = PackedVector2Array(448.99185, 110.214134, 436.1166, 138.04813, 390.13983, 138.04791, 389.63364, 96.82704, 420.49533, 94.32085)
polygons = [PackedInt32Array(2, 3, 4), PackedInt32Array(1, 4, 0), PackedInt32Array(2, 4, 1)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1)]
[node name="C_nippleA_nipple$0_#08" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1416537905]
modulate = Color(0.94509804, 0.5686275, 0.4627451, 1)
z_index = 21
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-10.829592, 36.12268, -30.23587, 16.75616, -57.09094, 30.73718, -44.149235, 57.05603, -17.495913, 57.0224)
uv = PackedVector2Array(249.1704, 34.87734, 229.76413, 54.243866, 202.90904, 40.26284, 215.85077, 13.944011, 242.50409, 13.977659)
polygons = [PackedInt32Array(0, 1, 3), PackedInt32Array(0, 3, 4), PackedInt32Array(2, 3, 1)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1)]
[node name="C_nippleA_nipple$0_#09" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1944793180]
modulate = Color(0.7019608, 0.36862746, 0.27450982, 1)
z_index = 22
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-13.821041, 29.31512, -33.72583, 18.68231, -57.18393, 30.72687, -44.023354, 57.01709, -14.079412, 57.01782)
uv = PackedVector2Array(246.17894, 41.684933, 226.27414, 52.317696, 202.81602, 40.273167, 215.97662, 13.982932, 245.92058, 13.982225)
polygons = [PackedInt32Array(0, 1, 3), PackedInt32Array(0, 3, 4), PackedInt32Array(2, 3, 1)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1)]
[node name="C_titsA_L" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=781491076]
z_index = 23
texture = ExtResource("1_0kdko")
skeleton = NodePath("..")
polygon = PackedVector2Array(-11.662353, 57.83704, 18.81372, 20.08997, -5.8952003, 13.44092, -35.778534, 53.32153, -23.967592, 60.90625)
uv = PackedVector2Array(407.33765, 47.16301, 437.81372, 84.91009, 413.1048, 91.55912, 383.22153, 51.67854, 395.03247, 44.093765)
polygons = [PackedInt32Array(2, 0, 1), PackedInt32Array(3, 4, 0), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1)]
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1859340701]
root_node = NodePath("../SpineRoot/Skeleton2D")
libraries/ = SubResource("AnimationLibrary_62h5k")