Files
project-rr/characters/goblin/goblin_suckle_right_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
5.8 KiB
Plaintext

[gd_scene format=3]
[ext_resource type="Texture2D" path="res://characters/goblin/spine/goblin_suckle_right.png" id="1_6e3v6"]
[sub_resource type="Animation" id="Animation_yfjtv"]
length = 0.001
loop_mode = 1
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ieddj"]
_data = {
&"animation": SubResource("Animation_yfjtv")
}
[node name="Native" type="Node2D" unique_id=848054691]
[node name="SpineRoot" type="Node2D" parent="." unique_id=459086898]
position = Vector2(631.917, 311.6103)
scale = Vector2(9.8488655, -9.8488655)
[node name="Skeleton2D" type="Skeleton2D" parent="SpineRoot" unique_id=1589371703]
[node name="root" type="Bone2D" parent="SpineRoot/Skeleton2D" unique_id=2142149965]
rest = Transform2D(1, 0, 0, 1, 0, 0)
auto_calculate_length_and_angle = false
length = 0.0
bone_angle = 0.0
[node name="B_headA_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=470083873]
texture = ExtResource("1_6e3v6")
skeleton = NodePath("..")
polygon = PackedVector2Array(-1.1667311, 24.32872, 4.985159, 24.30711, 9.937049, 23.07691, 15.144259, 19.42908, 18.43981, 14.94823, 20.44172, 8.84243, 20.43545, 2.23371, 19.58355, -1.72754, 24.55862, -6.84405, 24.47772, -11.61133, 21.74952, -12.8564, 11.910861, -12.02606, 6.0901203, -15.72439, -5.2561398, -15.71615, -13.333, -10.65177, -22.62486, -6.93392, -22.91721, -2.09605, -19.92171, 0.54502, -17.10684, 2.10825, -17.21425, 11.39469, -14.145191, 16.6666, -10.087401, 20.74957, -5.289011, 23.27616, -14.86254, 0.17216, -9.90254, -8.58783, 16.67887, -1.95584, 13.83888, -3.51584, 11.35887, -6.19584, 10.87887, -10.55584, -4.80113, -2.43585, 4.47888, -2.79584)
uv = PackedVector2Array(23.908283, 2.4663067, 30.060154, 2.4879131, 35.012047, 3.7181396, 40.219265, 7.365961, 43.514812, 11.846813, 45.516716, 17.952604, 45.51045, 24.561329, 44.658554, 28.522564, 49.63362, 33.63908, 49.552715, 38.406357, 46.824524, 39.651436, 36.98586, 38.82109, 31.165127, 42.519417, 19.818865, 42.51115, 11.742001, 37.446796, 2.450141, 33.72895, 2.157796, 28.891075, 5.153304, 26.250008, 7.968176, 24.686771, 7.8607235, 15.4003525, 10.9297905, 10.128435, 14.987612, 6.045454, 19.786009, 3.5188837, 10.212469, 26.622875, 15.17247, 35.382862, 41.75387, 28.750866, 38.91387, 30.310863, 36.433872, 32.990864, 35.953873, 37.350864, 20.273874, 29.230877, 29.553879, 29.590862)
polygons = [PackedInt32Array(12, 28, 11), PackedInt32Array(28, 12, 30), PackedInt32Array(14, 24, 13), PackedInt32Array(12, 13, 30), PackedInt32Array(13, 29, 30), PackedInt32Array(13, 24, 29), PackedInt32Array(11, 26, 10), PackedInt32Array(26, 25, 10), PackedInt32Array(10, 25, 8), PackedInt32Array(9, 10, 8), PackedInt32Array(28, 27, 11), PackedInt32Array(11, 27, 26), PackedInt32Array(7, 8, 25), PackedInt32Array(14, 15, 23), PackedInt32Array(23, 15, 17), PackedInt32Array(17, 18, 23), PackedInt32Array(14, 23, 24), PackedInt32Array(28, 30, 27), PackedInt32Array(24, 23, 29), PackedInt32Array(15, 16, 17), PackedInt32Array(27, 30, 26), PackedInt32Array(25, 26, 5), PackedInt32Array(30, 5, 26), PackedInt32Array(3, 4, 30), PackedInt32Array(2, 30, 1), PackedInt32Array(1, 30, 0), PackedInt32Array(30, 29, 0), PackedInt32Array(29, 19, 20), PackedInt32Array(20, 21, 29), PackedInt32Array(21, 22, 29), PackedInt32Array(29, 22, 0), PackedInt32Array(7, 25, 6), PackedInt32Array(2, 3, 30), PackedInt32Array(5, 6, 25), PackedInt32Array(19, 29, 23), PackedInt32Array(23, 18, 19), PackedInt32Array(4, 5, 30)]
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)]
[node name="B_bodyA_#00" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=383254643]
z_index = 1
texture = ExtResource("1_6e3v6")
skeleton = NodePath("..")
polygon = PackedVector2Array(4.87301, -1.73767, 14.63735, -5.25921, 22.7475, -9.46812, 22.80313, -14.19389, 19.5402, -21.55451, 15.330991, -28.25889, 11.919731, -31.03049, 6.4876113, -34.15517, -6.6730285, -34.07447, -12.693729, -31.35839, -16.890368, -27.1431, -19.75844, -20.43402, -22.90154, -12.30335, -22.89573, -6.25112, -14.27799, -3.89985, -4.85932, -1.58646, -17.21616, -14.65748, -12.056159, -14.81747, -12.296159, -23.53749, 16.54384, -14.49747, 9.4238405, -14.49748, 9.303841, -20.01749, -1.4561595, -11.89748, -1.8561591, -21.0575)
uv = PackedVector2Array(79.948044, 10.532815, 89.71239, 14.054349, 97.82254, 18.263256, 97.87817, 22.989023, 94.615234, 30.34965, 90.40604, 37.054024, 86.99477, 39.825638, 81.56265, 42.950294, 68.40202, 42.86961, 62.3813, 40.153545, 58.184666, 35.938236, 55.31658, 29.229168, 52.173504, 21.098494, 52.1793, 15.046251, 60.797043, 12.694998, 70.21572, 10.381601, 57.858868, 23.452633, 63.018875, 23.612612, 62.778877, 32.33262, 91.61887, 23.292618, 84.49887, 23.292618, 84.378876, 28.812618, 73.61888, 20.69262, 73.21887, 29.85262)
polygons = [PackedInt32Array(8, 23, 7), PackedInt32Array(7, 21, 6), PackedInt32Array(7, 23, 21), PackedInt32Array(9, 18, 8), PackedInt32Array(8, 18, 23), PackedInt32Array(9, 10, 18), PackedInt32Array(6, 21, 5), PackedInt32Array(5, 21, 4), PackedInt32Array(19, 21, 20), PackedInt32Array(21, 19, 4), PackedInt32Array(10, 11, 18), PackedInt32Array(11, 16, 18), PackedInt32Array(18, 17, 23), PackedInt32Array(18, 16, 17), PackedInt32Array(4, 19, 3), PackedInt32Array(21, 23, 20), PackedInt32Array(23, 17, 22), PackedInt32Array(11, 12, 16), PackedInt32Array(20, 23, 22), PackedInt32Array(16, 14, 17), PackedInt32Array(17, 15, 22), PackedInt32Array(17, 14, 15), PackedInt32Array(12, 13, 16), PackedInt32Array(16, 13, 14), PackedInt32Array(20, 1, 19), PackedInt32Array(19, 2, 3), PackedInt32Array(19, 1, 2), PackedInt32Array(22, 0, 20), PackedInt32Array(20, 0, 1), PackedInt32Array(22, 15, 0)]
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)]
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1370413995]
root_node = NodePath("../SpineRoot/Skeleton2D")
libraries/ = SubResource("AnimationLibrary_ieddj")