Files
project-rr/characters/man/man_portrait_combat_native.tscn
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

138 lines
6.0 KiB
Plaintext

[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")