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

39 lines
2.7 KiB
Plaintext

[gd_scene format=3]
[ext_resource type="Texture2D" path="res://characters/goblin/spine/goblin_fetus_body.png" id="1_1o5vg"]
[sub_resource type="Animation" id="Animation_v1soc"]
length = 0.001
loop_mode = 1
[sub_resource type="AnimationLibrary" id="AnimationLibrary_2nu4f"]
_data = {
&"animation": SubResource("Animation_v1soc")
}
[node name="Native" type="Node2D" unique_id=2006170435]
[node name="SpineRoot" type="Node2D" parent="." unique_id=1327006604]
position = Vector2(664.8344, 442.75812)
scale = Vector2(13.627211, -13.627211)
[node name="Skeleton2D" type="Skeleton2D" parent="SpineRoot" unique_id=1830724285]
[node name="root" type="Bone2D" parent="SpineRoot/Skeleton2D" unique_id=1635265588]
rest = Transform2D(1, 0, 0, 1, 0, 0)
auto_calculate_length_and_angle = false
length = 0.0
bone_angle = 0.0
[node name="BabyB_fetalstage$0_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1414216925]
texture = ExtResource("1_1o5vg")
skeleton = NodePath("..")
polygon = PackedVector2Array(-1.4427612, 27.20719, 3.9565887, 26.13773, 7.255539, 22.84458, 12.297959, 15.20664, 12.28148, 9.2512, 10.44255, 6.83604, 11.299, 2.62949, 11.2816, -4.613, 9.17278, -8.84505, 6.0517507, -12.95022, 1.8560107, -15.05776, -5.4102297, -15.06118, -8.620679, -14.00948, -12.81233, -9.88778, -14.55989, -7.04, -15.94279, -1.5812, -15.940961, 12.68491, -14.278881, 17.7457, -7.977181, 20.94462, -7.959241, 23.85758, -4.559281, 27.16624)
uv = PackedVector2Array(16.885742, 2.3518677, 22.285095, 3.4213257, 25.584045, 6.7144775, 30.626465, 14.352417, 30.609985, 20.307861, 28.771057, 22.723022, 29.627502, 26.929565, 29.610107, 34.17206, 27.501282, 38.404114, 24.380249, 42.509277, 20.18451, 44.61682, 12.918274, 44.62024, 9.707825, 43.568542, 5.5161743, 39.44684, 3.7686157, 36.59912, 2.3857117, 31.140259, 2.3875427, 16.874146, 4.0496216, 11.8133545, 10.351318, 8.614441, 10.369263, 5.701477, 13.769226, 2.3928223)
polygons = [PackedInt32Array(3, 5, 2), PackedInt32Array(4, 5, 3), PackedInt32Array(18, 19, 20), PackedInt32Array(18, 20, 0), PackedInt32Array(1, 18, 0), PackedInt32Array(5, 16, 18), PackedInt32Array(16, 5, 15), PackedInt32Array(6, 14, 15), PackedInt32Array(1, 2, 18), PackedInt32Array(18, 2, 5), PackedInt32Array(16, 17, 18), PackedInt32Array(6, 15, 5), PackedInt32Array(7, 8, 6), PackedInt32Array(8, 14, 6), PackedInt32Array(13, 14, 8), PackedInt32Array(12, 13, 11), PackedInt32Array(11, 13, 8), PackedInt32Array(9, 10, 8), PackedInt32Array(8, 10, 11)]
bones = ["root", PackedFloat32Array(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=812918171]
root_node = NodePath("../SpineRoot/Skeleton2D")
libraries/ = SubResource("AnimationLibrary_2nu4f")