Files
project-rr/characters/goblin/goblin_suckle_left_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

48 lines
6.3 KiB
Plaintext

[gd_scene format=3]
[ext_resource type="Texture2D" path="res://characters/goblin/spine/goblin_suckle_left.png" id="1_yl28n"]
[sub_resource type="Animation" id="Animation_3m1qo"]
length = 0.001
loop_mode = 1
[sub_resource type="AnimationLibrary" id="AnimationLibrary_runyg"]
_data = {
&"animation": SubResource("Animation_3m1qo")
}
[node name="Native" type="Node2D" unique_id=1282865942]
[node name="SpineRoot" type="Node2D" parent="." unique_id=726499213]
position = Vector2(612.9374, 367.2822)
scale = Vector2(10.066246, -10.066246)
[node name="Skeleton2D" type="Skeleton2D" parent="SpineRoot" unique_id=1070221078]
[node name="root" type="Bone2D" parent="SpineRoot/Skeleton2D" unique_id=937254172]
rest = Transform2D(1, 0, 0, 1, 0, 0)
auto_calculate_length_and_angle = false
length = 0.0
bone_angle = 0.0
[node name="B_bodyB_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=89613836]
texture = ExtResource("1_yl28n")
skeleton = NodePath("..")
polygon = PackedVector2Array(13.6593, 2.20018, 18.39266, 0.03619, 18.44362, -15.34947, 16.10578, -19.3161, 10.500291, -24.96737, 4.200351, -27.88704, -5.2864585, -27.67343, -10.999819, -25.25504, -15.805279, -19.08292, -21.70795, -16.11371, -23.17037, -11.55945, -21.86095, -7.31215, -12.63631, -7.18515, -9.14153, -7.93416, -5.3448396, -9.35976, -2.4018397, -6.09799, 1.3339001, -2.83065, 4.9259, 1.49127, 9.40504, 2.6792, -18.03153, -13.93442, -12.162139, -14.57072, -6.878719, -18.56179, -1.7930292, -17.76426, 6.6973004, -14.91831, 10.39315, -10.71361, 14.67586, -3.39362, 12.13687, -5.77603)
uv = PackedVector2Array(83.110435, 17.72121, 87.83565, 19.903147, 87.82829, 35.289185, 85.47543, 39.246986, 79.84845, 44.87709, 73.537346, 47.772957, 64.051254, 47.523403, 58.346954, 45.083332, 53.564857, 38.892933, 47.673344, 35.90131, 46.228172, 31.341461, 47.553684, 27.09907, 56.778923, 27.007027, 60.270912, 27.76927, 64.06225, 29.209276, 67.01764, 25.958614, 70.76584, 22.705385, 74.374275, 18.397018, 78.85793, 17.226055, 51.35805, 33.73592, 57.225113, 34.394478, 62.493484, 38.40562, 67.582245, 37.627335, 76.083496, 34.813538, 79.79529, 30.622797, 84.10578, 23.318928, 81.557755, 25.691748)
polygons = [PackedInt32Array(6, 22, 5), PackedInt32Array(5, 23, 4), PackedInt32Array(5, 22, 23), PackedInt32Array(7, 21, 6), PackedInt32Array(6, 21, 22), PackedInt32Array(7, 8, 21), PackedInt32Array(21, 8, 20), PackedInt32Array(4, 23, 3), PackedInt32Array(23, 24, 3), PackedInt32Array(3, 24, 2), PackedInt32Array(9, 19, 8), PackedInt32Array(8, 19, 20), PackedInt32Array(21, 20, 14), PackedInt32Array(21, 14, 22), PackedInt32Array(14, 20, 13), PackedInt32Array(23, 22, 15), PackedInt32Array(9, 10, 19), PackedInt32Array(24, 26, 2), PackedInt32Array(26, 25, 2), PackedInt32Array(2, 25, 1), PackedInt32Array(22, 14, 15), PackedInt32Array(15, 16, 23), PackedInt32Array(23, 16, 24), PackedInt32Array(19, 12, 20), PackedInt32Array(20, 12, 13), PackedInt32Array(10, 11, 19), PackedInt32Array(19, 11, 12), PackedInt32Array(24, 16, 26), PackedInt32Array(26, 16, 17), PackedInt32Array(26, 17, 18), PackedInt32Array(25, 18, 0), PackedInt32Array(25, 26, 18), PackedInt32Array(25, 0, 1)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)]
[node name="B_headB_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1155074127]
z_index = 1
texture = ExtResource("1_yl28n")
skeleton = NodePath("..")
polygon = PackedVector2Array(7.6775985, 29.33389, 13.580609, 29.27509, 18.564798, 28.02882, 23.388659, 24.80669, 26.96736, 20.03051, 28.39288, 15.87404, 28.54728, 4.92909, 24.95622, -0.91223, 22.00582, -4.79237, 14.99625, -7.07365, 14.265791, -11.73657, 9.649541, -15.26327, -0.86307937, -15.16475, -7.1938696, -11.91719, -12.00668, -7.91294, -11.99451, -3.08536, -9.51675, 0.34136, -9.53638, 4.76218, -8.41133, 9.3894, -8.041421, 18.77002, -3.839371, 24.14537, 1.7107788, 27.83756, -1.8835005, 10.66529, -2.0635202, 7.96529, -1.0835103, 6.38526, 3.9564998, 4.6853, -5.3937, -1.70202, 1.7263002, -6.34202, 9.84631, -6.30201, 13.56633, -5.902, 11.36629, 4.37797, 14.56631, 4.018, 20.64631, -0.10203)
uv = PackedVector2Array(22.16025, 2.430686, 28.063274, 2.4894457, 33.047478, 3.7357426, 37.871338, 6.9578667, 41.450027, 11.734007, 42.87561, 15.890524, 43.029934, 26.835548, 39.438866, 32.6768, 36.488525, 36.556957, 29.47889, 38.83822, 28.748398, 43.50116, 24.13218, 47.027836, 13.619558, 46.929302, 7.288786, 43.681778, 2.4760017, 39.677494, 2.4881258, 34.84988, 4.965929, 31.423187, 4.9461737, 27.002312, 6.0712957, 22.375168, 6.4412575, 12.994516, 10.643272, 7.619215, 16.193434, 3.9270039, 12.599119, 21.09925, 12.419113, 23.799248, 13.399109, 25.37925, 18.43911, 27.079231, 9.088942, 33.466576, 16.208918, 38.106564, 24.328918, 38.066578, 28.048946, 37.66656, 25.848919, 27.386566, 29.048912, 27.74656, 35.12894, 31.866573)
polygons = [PackedInt32Array(22, 20, 21), PackedInt32Array(19, 20, 22), PackedInt32Array(18, 19, 22), PackedInt32Array(23, 18, 22), PackedInt32Array(25, 24, 22), PackedInt32Array(23, 22, 24), PackedInt32Array(0, 22, 21), PackedInt32Array(22, 30, 25), PackedInt32Array(0, 30, 22), PackedInt32Array(1, 30, 0), PackedInt32Array(30, 1, 2), PackedInt32Array(30, 2, 3), PackedInt32Array(31, 30, 3), PackedInt32Array(4, 31, 3), PackedInt32Array(5, 31, 4), PackedInt32Array(6, 31, 5), PackedInt32Array(16, 17, 26), PackedInt32Array(23, 17, 18), PackedInt32Array(24, 17, 23), PackedInt32Array(32, 31, 6), PackedInt32Array(7, 32, 6), PackedInt32Array(24, 26, 17), PackedInt32Array(8, 32, 7), PackedInt32Array(29, 30, 31), PackedInt32Array(29, 31, 32), PackedInt32Array(9, 29, 32), PackedInt32Array(28, 25, 30), PackedInt32Array(28, 30, 29), PackedInt32Array(25, 26, 24), PackedInt32Array(27, 25, 28), PackedInt32Array(27, 26, 25), PackedInt32Array(8, 9, 32), PackedInt32Array(10, 29, 9), PackedInt32Array(26, 15, 16), PackedInt32Array(13, 26, 27), PackedInt32Array(26, 14, 15), PackedInt32Array(13, 14, 26), PackedInt32Array(12, 13, 27), PackedInt32Array(11, 27, 28), PackedInt32Array(12, 27, 11), PackedInt32Array(28, 29, 10), PackedInt32Array(11, 28, 10)]
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)]
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=844167827]
root_node = NodePath("../SpineRoot/Skeleton2D")
libraries/ = SubResource("AnimationLibrary_runyg")