ProjectRR — нативный прототип на ассетах ProjectR
- Все 189 скелетов Spine сконвертированы в нативные Godot Skeleton2D (.tscn), без Spine в рантайме - Меню + сцены: подземелье (карта комнат), просмотр спрайтов, нативные анимации - Кастомизация цвета (кожа/волосы/глаза) через шейдер - Вытащенные текстуры/UI/шрифты + нарезка спрайтов из атласа - Датасет комнат для LoRA, офлайн-инструменты конвертации в tools/ Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
[
|
||||
{
|
||||
"Figure": ["Shield"],
|
||||
"State": ["Icon"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\shield_icon",
|
||||
"Animation": ["animation"],
|
||||
"Loop": true,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
]
|
||||
@@ -0,0 +1,51 @@
|
||||
[
|
||||
{
|
||||
"Figure": ["Goblin", "Elf"],
|
||||
"State": ["Wait", "Combination"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\goblin_woman_shield",
|
||||
"Animation": ["idle_0", "idle_1"],
|
||||
"Loop": true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Figure": ["Goblin", "Elf"],
|
||||
"State": ["Knockback", "Combination"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\goblin_woman_shield",
|
||||
"Animation": ["defense_0"],
|
||||
"Loop": false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Figure": ["Goblin", "Elf"],
|
||||
"State": ["Stun", "Combination"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\goblin_woman_shield",
|
||||
"Animation": ["idle_0", "idle_1"],
|
||||
"Loop": true,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"Figure": ["Goblin", "Elf"],
|
||||
"State": ["Map", "Map"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\goblin_woman_shield",
|
||||
"Animation": ["portrait"],
|
||||
"Loop": false,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
|
||||
|
||||
]
|
||||
@@ -0,0 +1,51 @@
|
||||
[
|
||||
{
|
||||
"Figure": ["Goblin", "Human"],
|
||||
"State": ["Wait", "Combination"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\goblin_woman_shield",
|
||||
"Animation": ["idle_0", "idle_1"],
|
||||
"Loop": true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Figure": ["Goblin", "Human"],
|
||||
"State": ["Knockback", "Combination"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\goblin_woman_shield",
|
||||
"Animation": ["defense_0"],
|
||||
"Loop": false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Figure": ["Goblin", "Human"],
|
||||
"State": ["Stun", "Combination"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\goblin_woman_shield",
|
||||
"Animation": ["idle_0", "idle_1"],
|
||||
"Loop": false,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
"Figure": ["Goblin", "Human"],
|
||||
"State": ["Map", "Map"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\goblin_woman_shield",
|
||||
"Animation": ["portrait"],
|
||||
"Loop": false,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
|
||||
]
|
||||
@@ -0,0 +1,32 @@
|
||||
[
|
||||
{
|
||||
"Group": "Shield",
|
||||
"Name": "#Shield",
|
||||
"Text": "#ShieldText",
|
||||
"Script": "CombinationScripts.Shield",
|
||||
"List": [
|
||||
{
|
||||
"Figure": ["Goblin", "Human"],
|
||||
"Size": [3, 1],
|
||||
},
|
||||
{
|
||||
"Figure": ["Goblin", "Elf"],
|
||||
"Size": [3, 1],
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
]
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"Id": "GoblinShield",
|
||||
"Name": "#GoblinShield",
|
||||
"Figure": "Goblin",
|
||||
"Unit": "GoblinShield",
|
||||
|
||||
"Type": "Monster",
|
||||
"Gender": "Male",
|
||||
"Race": "Goblin",
|
||||
|
||||
"SexTime": [30],
|
||||
"BabyGrowthTime": [60],
|
||||
|
||||
"Health": [25],
|
||||
"Armor": [4],
|
||||
"Damage": [1],
|
||||
"CriticalHtiChance": [15],
|
||||
"CriticalHtiMultiplier": [160],
|
||||
"KnockbackStability": [0],
|
||||
"KnockbackDistance": [0],
|
||||
|
||||
"WalkingSpeed": [0],
|
||||
"WalkingSpeedMultiplier": [1],
|
||||
"AttackSpeedMultiplier": [1],
|
||||
|
||||
"Size": [2, 0.5],
|
||||
"Deployment": [3, 1],
|
||||
|
||||
"Script": "CharacterScripts.Shield",
|
||||
"ScriptCombat": "CharacterBehaviourScripts.GoblinShield",
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://characters/goblin_human/spine/shield_icon.png" id="1_rrxt6"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_qtbn0"]
|
||||
length = 0.001
|
||||
loop_mode = 1
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_vjpsr"]
|
||||
_data = {
|
||||
&"animation": SubResource("Animation_qtbn0")
|
||||
}
|
||||
|
||||
[node name="Native" type="Node2D" unique_id=609716214]
|
||||
|
||||
[node name="SpineRoot" type="Node2D" parent="." unique_id=2132298824]
|
||||
position = Vector2(640, 360)
|
||||
scale = Vector2(4.8403363, -4.8403363)
|
||||
|
||||
[node name="Skeleton2D" type="Skeleton2D" parent="SpineRoot" unique_id=1845071758]
|
||||
|
||||
[node name="root" type="Bone2D" parent="SpineRoot/Skeleton2D" unique_id=2038939113]
|
||||
rest = Transform2D(1, 0, 0, 1, 0, 0)
|
||||
auto_calculate_length_and_angle = false
|
||||
length = 0.0
|
||||
bone_angle = 0.0
|
||||
|
||||
[node name="Icon" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1414736584]
|
||||
texture = ExtResource("1_rrxt6")
|
||||
skeleton = NodePath("..")
|
||||
polygon = PackedVector2Array(11.262837, 59.5, 58.5, 4.38682, 58.5, -4.68684, 3.5602427, -59.5, -2.8651474, -59.5, -58.5, -3.59807, -58.5, 3.54284, -21.843351, 48.6706, -2.9108527, 59.5)
|
||||
uv = PackedVector2Array(71.76283, 2, 119, 57.113182, 119, 66.186844, 64.060234, 121.00001, 57.634846, 121.00001, 2, 65.09807, 2, 57.957165, 38.65666, 12.8294, 57.589146, 2)
|
||||
polygons = [PackedInt32Array(5, 6, 7), PackedInt32Array(0, 7, 8), PackedInt32Array(7, 0, 1), PackedInt32Array(2, 4, 1), PackedInt32Array(4, 7, 1), PackedInt32Array(5, 7, 4), PackedInt32Array(3, 4, 2)]
|
||||
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1)]
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=866083629]
|
||||
root_node = NodePath("../SpineRoot/Skeleton2D")
|
||||
libraries/ = SubResource("AnimationLibrary_vjpsr")
|
||||
@@ -0,0 +1,279 @@
|
||||
goblin_woman_shield.png
|
||||
size:816,816
|
||||
filter:Linear,Linear
|
||||
C_armA
|
||||
bounds:152,79,72,178
|
||||
offsets:514,446,1080,1080
|
||||
C_armB
|
||||
bounds:484,559,83,165
|
||||
offsets:533,466,1080,1080
|
||||
C_armclothA_1
|
||||
bounds:766,237,48,44
|
||||
offsets:522,575,1080,1080
|
||||
C_armclothB_1
|
||||
bounds:469,21,50,48
|
||||
offsets:538,572,1080,1080
|
||||
C_body
|
||||
bounds:384,554,98,170
|
||||
offsets:556,334,1080,1080
|
||||
C_chainC
|
||||
bounds:428,393,20,159
|
||||
offsets:559,134,1080,1080
|
||||
C_chainD1
|
||||
bounds:498,71,49,54
|
||||
offsets:378,348,1080,1080
|
||||
C_chainD2
|
||||
bounds:231,535,151,279
|
||||
offsets:373,356,1080,1080
|
||||
C_eyeA1_a
|
||||
bounds:599,445,27,14
|
||||
offsets:596,500,1080,1080
|
||||
C_eyeA1_b
|
||||
bounds:625,79,27,13
|
||||
offsets:597,498,1080,1080
|
||||
C_eyeB1_a
|
||||
bounds:434,265,27,14
|
||||
offsets:596,500,1080,1080
|
||||
C_eyeB1_b
|
||||
bounds:565,439,27,13
|
||||
offsets:597,498,1080,1080
|
||||
C_eyeB2_a
|
||||
bounds:738,173,22,11
|
||||
offsets:599,501,1080,1080
|
||||
C_faceA1_a
|
||||
bounds:717,76,31,38
|
||||
offsets:598,486,1080,1080
|
||||
C_faceA1_b
|
||||
bounds:584,2,31,36
|
||||
offsets:598,485,1080,1080
|
||||
C_faceB1_a
|
||||
bounds:750,80,31,38
|
||||
offsets:598,486,1080,1080
|
||||
C_faceB1_b
|
||||
bounds:617,2,31,36
|
||||
offsets:598,485,1080,1080
|
||||
C_hairA_0
|
||||
bounds:599,461,39,102
|
||||
offsets:574,451,1080,1080
|
||||
C_hairA_1
|
||||
bounds:720,459,38,96
|
||||
offsets:576,456,1080,1080
|
||||
C_hairA_2
|
||||
bounds:722,280,32,82
|
||||
offsets:576,462,1080,1080
|
||||
C_hairA_3
|
||||
bounds:729,186,35,92
|
||||
offsets:573,457,1080,1080
|
||||
C_hairB_0
|
||||
bounds:549,69,33,56
|
||||
offsets:618,496,1080,1080
|
||||
C_hairB_1
|
||||
bounds:468,256,61,64
|
||||
offsets:591,492,1080,1080
|
||||
C_hairB_2
|
||||
bounds:762,413,37,69
|
||||
offsets:618,486,1080,1080
|
||||
C_hairB_3
|
||||
bounds:672,116,64,65
|
||||
offsets:590,489,1080,1080
|
||||
C_hairC_0
|
||||
bounds:346,9,68,44
|
||||
offsets:579,508,1080,1080
|
||||
C_hairC_2
|
||||
bounds:738,120,68,41
|
||||
offsets:579,511,1080,1080
|
||||
C_hairD_0
|
||||
bounds:722,364,38,93
|
||||
offsets:604,461,1080,1080
|
||||
C_hairD_1
|
||||
bounds:399,152,39,97
|
||||
offsets:609,463,1080,1080
|
||||
C_hairD_2
|
||||
bounds:571,159,44,92
|
||||
offsets:609,468,1080,1080
|
||||
C_hairD_3
|
||||
bounds:565,454,32,103
|
||||
offsets:614,457,1080,1080
|
||||
C_hairE_0
|
||||
bounds:628,368,92,89
|
||||
offsets:556,490,1080,1080
|
||||
C_hairE_1
|
||||
bounds:531,330,95,105
|
||||
offsets:553,474,1080,1080
|
||||
C_hairE_2
|
||||
bounds:226,123,115,122
|
||||
offsets:533,457,1080,1080
|
||||
C_hairE_3
|
||||
bounds:231,247,114,286
|
||||
offsets:543,293,1080,1080
|
||||
C_hairF_0
|
||||
bounds:511,160,58,91
|
||||
offsets:525,491,1080,1080
|
||||
C_hairG_1
|
||||
bounds:2,44,62,213
|
||||
offsets:556,271,1080,1080
|
||||
C_headA_0
|
||||
bounds:333,55,81,66
|
||||
offsets:566,479,1080,1080
|
||||
C_headA_1
|
||||
bounds:226,55,105,66
|
||||
offsets:542,479,1080,1080
|
||||
C_legA1
|
||||
bounds:652,557,69,167
|
||||
offsets:572,218,1080,1080
|
||||
C_legA1_L
|
||||
bounds:723,584,59,129
|
||||
offsets:576,233,1080,1080
|
||||
C_legA2
|
||||
bounds:66,88,84,169
|
||||
offsets:554,88,1080,1080
|
||||
C_legB1
|
||||
bounds:569,565,81,159
|
||||
offsets:614,239,1080,1080
|
||||
C_legB1_L
|
||||
bounds:434,281,32,110
|
||||
offsets:660,248,1080,1080
|
||||
C_legB2
|
||||
bounds:450,431,64,121
|
||||
offsets:629,151,1080,1080
|
||||
C_legclothA_1
|
||||
bounds:617,144,53,39
|
||||
offsets:553,120,1080,1080
|
||||
C_nippleA
|
||||
bounds:549,35,33,32
|
||||
offsets:598,429,1080,1080
|
||||
C_nippleB
|
||||
bounds:784,587,22,29
|
||||
offsets:635,439,1080,1080
|
||||
C_pregnant_1
|
||||
bounds:756,283,58,79
|
||||
offsets:599,359,1080,1080
|
||||
C_pregnant_2
|
||||
bounds:440,161,69,93
|
||||
offsets:597,351,1080,1080
|
||||
C_pregnant_3
|
||||
bounds:640,459,78,96
|
||||
offsets:594,349,1080,1080
|
||||
C_pregnant_4
|
||||
bounds:725,715,88,99
|
||||
offsets:592,349,1080,1080
|
||||
C_titsA
|
||||
bounds:760,484,53,54
|
||||
offsets:581,420,1080,1080
|
||||
C_titsA_L
|
||||
bounds:784,663,29,50
|
||||
offsets:590,420,1080,1080
|
||||
C_titsB
|
||||
bounds:416,19,51,53
|
||||
offsets:604,427,1080,1080
|
||||
C_titsB_L
|
||||
bounds:307,2,37,51
|
||||
offsets:617,427,1080,1080
|
||||
M_armA1
|
||||
bounds:617,185,55,93
|
||||
offsets:369,313,1080,1080
|
||||
M_armA2
|
||||
bounds:152,12,71,65
|
||||
offsets:393,315,1080,1080
|
||||
M_armA2_L
|
||||
bounds:723,561,33,21
|
||||
offsets:417,356,1080,1080
|
||||
M_armB1
|
||||
bounds:2,6,62,36
|
||||
offsets:487,284,1080,1080
|
||||
M_armB2
|
||||
bounds:766,163,40,72
|
||||
offsets:483,293,1080,1080
|
||||
M_armB3
|
||||
bounds:567,127,35,30
|
||||
offsets:528,291,1080,1080
|
||||
M_armclothA1
|
||||
bounds:584,75,39,50
|
||||
offsets:384,324,1080,1080
|
||||
M_armclothB1
|
||||
bounds:762,376,45,35
|
||||
offsets:493,285,1080,1080
|
||||
M_bodyA
|
||||
bounds:66,4,84,82
|
||||
offsets:429,316,1080,1080
|
||||
M_bodyB
|
||||
bounds:347,251,85,131
|
||||
offsets:414,238,1080,1080
|
||||
M_bodyclothA
|
||||
bounds:225,6,80,47
|
||||
offsets:412,262,1080,1080
|
||||
M_bodyclothB
|
||||
bounds:516,437,47,120
|
||||
offsets:440,166,1080,1080
|
||||
M_earA
|
||||
bounds:440,128,66,31
|
||||
offsets:412,378,1080,1080
|
||||
M_earB
|
||||
bounds:664,83,51,31
|
||||
offsets:497,376,1080,1080
|
||||
M_faceA
|
||||
bounds:521,2,42,31
|
||||
offsets:498,380,1080,1080
|
||||
M_faceA_L
|
||||
bounds:565,4,17,29
|
||||
offsets:522,382,1080,1080
|
||||
M_faceB
|
||||
bounds:508,127,57,31
|
||||
offsets:481,393,1080,1080
|
||||
M_faceB_L
|
||||
bounds:399,134,39,16
|
||||
offsets:497,407,1080,1080
|
||||
M_faceC_a
|
||||
bounds:343,123,52,19
|
||||
offsets:484,394,1080,1080
|
||||
M_headA
|
||||
bounds:531,253,84,75
|
||||
offsets:452,378,1080,1080
|
||||
M_headA_L
|
||||
bounds:416,74,80,52
|
||||
offsets:455,400,1080,1080
|
||||
M_headB
|
||||
bounds:384,535,33,17
|
||||
offsets:491,377,1080,1080
|
||||
M_headC
|
||||
bounds:521,35,26,34
|
||||
offsets:490,358,1080,1080
|
||||
M_headD
|
||||
bounds:760,540,54,42
|
||||
offsets:471,355,1080,1080
|
||||
M_headE
|
||||
bounds:584,40,38,33
|
||||
offsets:485,361,1080,1080
|
||||
M_legA1
|
||||
bounds:343,144,54,101
|
||||
offsets:399,198,1080,1080
|
||||
M_legA1_L
|
||||
bounds:783,74,17,44
|
||||
offsets:426,230,1080,1080
|
||||
M_legA2
|
||||
bounds:468,322,61,107
|
||||
offsets:388,127,1080,1080
|
||||
M_legA2_L
|
||||
bounds:784,618,19,43
|
||||
offsets:394,168,1080,1080
|
||||
M_legB1
|
||||
bounds:628,280,92,86
|
||||
offsets:446,211,1080,1080
|
||||
M_legB1_L
|
||||
bounds:625,94,37,48
|
||||
offsets:496,230,1080,1080
|
||||
M_legB2
|
||||
bounds:674,183,53,95
|
||||
offsets:485,141,1080,1080
|
||||
M_legB2_L
|
||||
bounds:750,33,17,45
|
||||
offsets:487,175,1080,1080
|
||||
shadow
|
||||
bounds:384,726,339,88
|
||||
offsets:359,81,1080,1080
|
||||
shield
|
||||
bounds:2,259,227,555
|
||||
offsets:471,99,1080,1080
|
||||
shieldB
|
||||
bounds:347,384,79,149
|
||||
offsets:518,251,1080,1080
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 350 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://o2dduyebp27a"
|
||||
path="res://.godot/imported/goblin_woman_shield.png-59971048417c2719558c74e82bb58b0d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://characters/goblin_human/spine/goblin_woman_shield.png"
|
||||
dest_files=["res://.godot/imported/goblin_woman_shield.png-59971048417c2719558c74e82bb58b0d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
Binary file not shown.
@@ -0,0 +1,5 @@
|
||||
shield_icon.png
|
||||
size:124,124
|
||||
filter:Linear,Linear
|
||||
Button_unitmix_1
|
||||
bounds:2,2,117,119
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b71itn3hcghpu"
|
||||
path="res://.godot/imported/shield_icon.png-7808fc2f49eab463fdba023aa01a1bb2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://characters/goblin_human/spine/shield_icon.png"
|
||||
dest_files=["res://.godot/imported/shield_icon.png-7808fc2f49eab463fdba023aa01a1bb2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
[
|
||||
{
|
||||
"Type": "Combination",
|
||||
"Id": "Shield",
|
||||
"Cost": 16,
|
||||
},
|
||||
]
|
||||
Reference in New Issue
Block a user