Files
project-rr/characters/human/woman_portrait_combat1_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

204 lines
9.2 KiB
Plaintext

[gd_scene format=3]
[ext_resource type="Texture2D" path="res://characters/human/spine/woman_portrait_combat1.png" id="1_gua2u"]
[sub_resource type="Animation" id="Animation_1jr3k"]
length = 0.001
loop_mode = 1
[sub_resource type="AnimationLibrary" id="AnimationLibrary_r1hsg"]
_data = {
&"animation": SubResource("Animation_1jr3k")
}
[node name="Native" type="Node2D" unique_id=1762586641]
[node name="SpineRoot" type="Node2D" parent="." unique_id=915920066]
position = Vector2(651.52, 352.32)
scale = Vector2(3.84, -3.84)
[node name="Skeleton2D" type="Skeleton2D" parent="SpineRoot" unique_id=1279283422]
[node name="root" type="Bone2D" parent="SpineRoot/Skeleton2D" unique_id=1866783323]
rest = Transform2D(1, 0, 0, 1, 0, 0)
auto_calculate_length_and_angle = false
length = 0.0
bone_angle = 0.0
[node name="C_hairG_hairback$0_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=721357548]
modulate = Color(0.9647059, 0.91764706, 1, 1)
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(-18.999996, -77, -46.999996, -77, -47, -35, -18.999998, -35)
uv = PackedVector2Array(164, 84, 136, 84, 136, 42, 164, 42)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_hairF_hairback$0_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=179362203]
modulate = Color(0.9647059, 0.91764706, 1, 1)
z_index = 1
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(-25.999998, -24, -59, -24, -59.000004, 64, -26.000002, 64)
uv = PackedVector2Array(241, 180, 208.00002, 180, 208.00002, 92, 241, 92)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_hairE_hairback$0_#02" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1204835625]
modulate = Color(0.9647059, 0.91764706, 1, 1)
z_index = 2
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(39, -15, -45, -15, -45.000004, 73, 38.999996, 73)
uv = PackedVector2Array(290, 406, 206, 406, 206, 318, 290, 318)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_armB1_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=541058406]
modulate = Color(1, 0.9411765, 0.9019608, 1)
z_index = 3
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(36.000004, -77, 3.3657768e-06, -77, 9.1793913e-07, -21, 36, -21)
uv = PackedVector2Array(38.000004, 58.000004, 2, 58.000004, 2, 2, 38.000004, 2)
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=199607306]
z_index = 4
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(33.000004, -77, -34.999996, -77, -35, 4, 33, 4)
uv = PackedVector2Array(70, 141, 2, 141, 2, 60.000004, 70, 60.000004)
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=529395102]
modulate = Color(0.9647059, 0.91764706, 1, 1)
z_index = 5
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(48.000004, -50, 21.000002, -50, 20.999998, 55, 47.999996, 55)
uv = PackedVector2Array(99, 141, 72.00001, 141, 72.00001, 36.000004, 99, 36.000004)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_cloth_bodyA3" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=694366353]
z_index = 6
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(53.000004, -77, -25.999996, -77, -25.999998, -38, 53, -38)
uv = PackedVector2Array(355, 223, 276, 223, 276, 184, 355, 184)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_armA2_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=2023014927]
modulate = Color(1, 0.9411765, 0.9019608, 1)
z_index = 7
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(-18.999996, -77, -58.999996, -77, -59, -19, -19, -19)
uv = PackedVector2Array(397, 224.00002, 357, 224.00002, 357, 166, 397, 166)
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=1537357577]
z_index = 8
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(19.000002, -41, -34, -41, -34, -11, 19, -11)
uv = PackedVector2Array(125, 34, 72.00001, 34, 72.00001, 4, 125, 4)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_headA_ear$0_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1382954596]
modulate = Color(1, 0.9411765, 0.9019608, 1)
z_index = 9
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(39, -19, -34, -19, -34.000004, 48, 38.999996, 48)
uv = PackedVector2Array(290, 316, 217, 316, 217, 249, 290, 249)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_eyeB2" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=785971505]
z_index = 10
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(33, 5, -8, 5, -8.000001, 19, 33, 19)
uv = PackedVector2Array(310, 60.000004, 269, 60.000004, 269, 46, 310, 46)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_eyeB1_#01" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1017037984]
modulate = Color(0.36862746, 0.1764706, 0.50980395, 1)
z_index = 11
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(34, 4, -10, 4, -10.000001, 21, 34, 21)
uv = PackedVector2Array(358, 163, 314, 163, 314, 146, 358, 146)
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=2101428301]
z_index = 12
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(37, -9, -2.9999995, -9, -3.0000012, 29, 37, 29)
uv = PackedVector2Array(335, 44, 295, 44, 295, 6, 335, 6)
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=1339437761]
modulate = Color(0.9647059, 0.91764706, 1, 1)
z_index = 13
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(41, 13, -19, 13, -19.000002, 61, 40.999996, 61)
uv = PackedVector2Array(352, 272.99997, 292, 272.99997, 292, 225, 352, 225)
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=63424076]
modulate = Color(0.9647059, 0.91764706, 1, 1)
z_index = 14
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(42, 9, 12, 9, 11.999997, 62, 41.999996, 62)
uv = PackedVector2Array(70, 58.000004, 40, 58.000004, 40, 5, 70, 5)
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=500025912]
modulate = Color(0.9647059, 0.91764706, 1, 1)
z_index = 15
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(8.000002, -52, -27.999998, -52, -28.000002, 58, 7.9999976, 58)
uv = PackedVector2Array(132, 253.99998, 96, 253.99998, 96, 144.00002, 132, 144.00002)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="C_eyeA1_#01" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=765695628]
modulate = Color(0.36862746, 0.1764706, 0.50980395, 1)
z_index = 16
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(34, 4, -10, 4, -10.000001, 21, 34, 21)
uv = PackedVector2Array(320, 182, 276, 182, 276, 165, 320, 165)
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=1909915305]
z_index = 17
texture = ExtResource("1_gua2u")
skeleton = NodePath("..")
polygon = PackedVector2Array(37, -9, -2.9999995, -9, -3.0000012, 29, 37, 29)
uv = PackedVector2Array(314, 119, 274, 119, 274, 80.99999, 314, 80.99999)
polygons = [PackedInt32Array(0, 1, 2), PackedInt32Array(2, 3, 0)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1)]
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=33707064]
root_node = NodePath("../SpineRoot/Skeleton2D")
libraries/ = SubResource("AnimationLibrary_r1hsg")