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:
Leonid Pershin
2026-08-03 16:29:21 +03:00
co-authored by Claude Opus 4.8
commit 04cf5f90b0
2193 changed files with 360105 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d2faeuoaq6ars"
path="res://.godot/imported/build_castle_1.png-88f5a3cf649443df0a6b8d610e4e3c54.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://dataset/10_projectr/build_castle_1.png"
dest_files=["res://.godot/imported/build_castle_1.png-88f5a3cf649443df0a6b8d610e4e3c54.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
+1
View File
@@ -0,0 +1 @@
projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, castle exterior, stone building, battlements
Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b15ak1crvi4a3"
path="res://.godot/imported/build_castle_2.png-379ce7553ea204f9916303b385265a37.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://dataset/10_projectr/build_castle_2.png"
dest_files=["res://.godot/imported/build_castle_2.png-379ce7553ea204f9916303b385265a37.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
+1
View File
@@ -0,0 +1 @@
projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, castle wall, stone building
Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://nbvoroo7h3bq"
path="res://.godot/imported/build_tower_1.png-071e7fb2000c4123a0088806271ab525.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://dataset/10_projectr/build_tower_1.png"
dest_files=["res://.godot/imported/build_tower_1.png-071e7fb2000c4123a0088806271ab525.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
+1
View File
@@ -0,0 +1 @@
projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, defense tower, tall stacked wooden structure, building
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bmpdmu8yr8v3d"
path="res://.godot/imported/build_tower_2.png-50119a4ee575c4b359026b8011a85cb5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://dataset/10_projectr/build_tower_2.png"
dest_files=["res://.godot/imported/build_tower_2.png-50119a4ee575c4b359026b8011a85cb5.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
+1
View File
@@ -0,0 +1 @@
projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, defense tower building, wooden structure
Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cfregulbu8fwb"
path="res://.godot/imported/room_backwall_1.png-1b32c1f89fd749a2ed7e38863ed5356d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://dataset/10_projectr/room_backwall_1.png"
dest_files=["res://.godot/imported/room_backwall_1.png-1b32c1f89fd749a2ed7e38863ed5356d.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
+1
View File
@@ -0,0 +1 @@
projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, room back wall, wooden interior panels
Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bbvdbpnekwsx5"
path="res://.godot/imported/room_backwall_2.png-5430be026811afdf1394a4ab064cc762.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://dataset/10_projectr/room_backwall_2.png"
dest_files=["res://.godot/imported/room_backwall_2.png-5430be026811afdf1394a4ab064cc762.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
+1
View File
@@ -0,0 +1 @@
projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, room back wall, wooden interior panels
Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dvja41wxpnqc5"
path="res://.godot/imported/room_bedroom.png-d43d6b1f866cb872c745e49015c7348d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://dataset/10_projectr/room_bedroom.png"
dest_files=["res://.godot/imported/room_bedroom.png-d43d6b1f866cb872c745e49015c7348d.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
+1
View File
@@ -0,0 +1 @@
projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, bedroom, cross-section room interior with a bed
Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://pi4w7oof70b"
path="res://.godot/imported/room_empty_1.png-b8dbb3027239a674fd84e3a0c22880f1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://dataset/10_projectr/room_empty_1.png"
dest_files=["res://.godot/imported/room_empty_1.png-b8dbb3027239a674fd84e3a0c22880f1.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
+1
View File
@@ -0,0 +1 @@
projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, empty dungeon room, cross-section interior, dark stone brick walls, stone tiled floor, wooden side beams
Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b6bct1ohfd50d"
path="res://.godot/imported/room_empty_2.png-c171b1b16b5dfd4d20804109fe1fcff5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://dataset/10_projectr/room_empty_2.png"
dest_files=["res://.godot/imported/room_empty_2.png-c171b1b16b5dfd4d20804109fe1fcff5.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
+1
View File
@@ -0,0 +1 @@
projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, empty dungeon room, cross-section interior, stone brick walls, stone floor
Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dkmxeycj50lhp"
path="res://.godot/imported/room_equipment.png-b44f8678efa36bc4904bd14ddc7fa1a2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://dataset/10_projectr/room_equipment.png"
dest_files=["res://.godot/imported/room_equipment.png-b44f8678efa36bc4904bd14ddc7fa1a2.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
+1
View File
@@ -0,0 +1 @@
projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, cross-section room interior with apparatus equipment
Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://hafcdh5yj7ur"
path="res://.godot/imported/room_frame.png-2a103c25d51c4e1ce285442d60c1b3ed.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://dataset/10_projectr/room_frame.png"
dest_files=["res://.godot/imported/room_frame.png-2a103c25d51c4e1ce285442d60c1b3ed.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
+1
View File
@@ -0,0 +1 @@
projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, room border frame, wooden posts and beams, empty
Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://gvfg877ihrv3"
path="res://.godot/imported/room_furnished.png-ec93bdfa1333b49d7808edb696d6ba3c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://dataset/10_projectr/room_furnished.png"
dest_files=["res://.godot/imported/room_furnished.png-ec93bdfa1333b49d7808edb696d6ba3c.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
+1
View File
@@ -0,0 +1 @@
projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, furnished room interior with wooden furniture
Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bhxcoft1rgk7a"
path="res://.godot/imported/room_lit.png-1ec0ada9ebbd334c629422768e15d026.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://dataset/10_projectr/room_lit.png"
dest_files=["res://.godot/imported/room_lit.png-1ec0ada9ebbd334c629422768e15d026.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
+1
View File
@@ -0,0 +1 @@
projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, room interior with hanging light and warm glow
+32
View File
@@ -0,0 +1,32 @@
# Датасет для LoRA — комнаты и строения ProjectR
Стартовый датасет для обучения **style-LoRA** в стиле построек игры (для генерации новых
комнат/строений в ComfyUI без рисования).
## Что внутри
`10_projectr/` — 13 изображений (1024×1024, альфа убрана на тёмный фон) + подписи `.txt`:
- **комнаты** (интерьер-разрез): пустые, спальня, с оборудованием, задние стены, с освещением, рамка, обставленная;
- **строения**: башня обороны (2 ракурса), замок (2 ракурса).
Имя папки `10_projectr` = **10 повторов** на изображение (формат kohya_ss).
Триггер-слово в подписях: **`projectr`**.
> Датасет намеренно маленький (в игре мало типов комнат). Для style-LoRA этого хватает,
> но разнообразие ограничено — можно дополнить своими рендерами/скринами того же стиля.
## Как обучать (kohya_ss / sd-scripts)
1. Базовая модель: аниме/2D-чекпойнт (**Illustrious / NoobAI / Pony / SDXL**).
2. Тип: **LoRA**, разрешение **1024**, бакетинг вкл.
3. Данные: указать родительскую папку `dataset/` (kohya сам прочитает `10_projectr`).
4. Ориентиры: 10 повторов × 13 = 130 шагов/эпоху; **1015 эпох**; LR ~1e-4 (UNet),
text encoder ~5e-5; batch 12; network dim 1632.
5. Проверка: генерируй с `projectr, cross-section room, stone brick walls, ...`
и **ControlNet (lineart/canny)** по `assets/room_sliced/Frame.png` — чтобы новые
комнаты держали единый ракурс и стыковались в сетку (как в `RoomMap`).
## Дополнить датасет
Положи новые PNG + одноимённые `.txt` в `10_projectr/`. Формат подписи:
`projectr, 2d game asset, cel shaded, thick black outline, flat colors, front view, <что на картинке>`.