Add spine and dialogic museums
This commit is contained in:
0
docs/.gitkeep
Normal file
0
docs/.gitkeep
Normal file
0
docs/gyms/.gitkeep
Normal file
0
docs/gyms/.gitkeep
Normal file
0
docs/museums/.gitkeep
Normal file
0
docs/museums/.gitkeep
Normal file
42
docs/museums/dialogic/Advisor.dch
Normal file
42
docs/museums/dialogic/Advisor.dch
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"@path": "res://addons/dialogic/Resources/character.gd",
|
||||
"@subpath": NodePath(""),
|
||||
&"_translation_id": "",
|
||||
&"color": Color(0.8, 0.6, 0.3, 1),
|
||||
&"custom_info": {
|
||||
"prefix": "",
|
||||
"sound_mood_default": "",
|
||||
"sound_moods": {},
|
||||
"style": "",
|
||||
"suffix": ""
|
||||
},
|
||||
&"default_portrait": "pl5",
|
||||
&"description": "A wise and cautious advisor.",
|
||||
&"display_name": "Advisor",
|
||||
&"mirror": false,
|
||||
&"nicknames": [""],
|
||||
&"offset": Vector2(0, 0),
|
||||
&"portraits": {
|
||||
"blink": {
|
||||
"image": "res://addons/dialogic/Example Assets/portraits/Antonio/pl5 blink.png",
|
||||
"offset": Vector2(0, 0),
|
||||
"scene": "res://addons/dialogic/Modules/Character/default_portrait.tscn"
|
||||
},
|
||||
"doubt": {
|
||||
"image": "res://addons/dialogic/Example Assets/portraits/Antonio/pl5 doubt.png",
|
||||
"offset": Vector2(0, 0),
|
||||
"scene": "res://addons/dialogic/Modules/Character/default_portrait.tscn"
|
||||
},
|
||||
"pl5": {
|
||||
"image": "res://addons/dialogic/Example Assets/portraits/Antonio/pl5.png",
|
||||
"offset": Vector2(0, 0),
|
||||
"scene": "res://addons/dialogic/Modules/Character/default_portrait.tscn"
|
||||
},
|
||||
"surprise": {
|
||||
"image": "res://addons/dialogic/Example Assets/portraits/Antonio/pl5 surprise.png",
|
||||
"offset": Vector2(0, 0),
|
||||
"scene": "res://addons/dialogic/Modules/Character/default_portrait.tscn"
|
||||
}
|
||||
},
|
||||
&"scale": 1.0
|
||||
}
|
||||
1
docs/museums/dialogic/Advisor.dch.uid
Normal file
1
docs/museums/dialogic/Advisor.dch.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://djkdsb6n611vd
|
||||
42
docs/museums/dialogic/Merchant.dch
Normal file
42
docs/museums/dialogic/Merchant.dch
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"@path": "res://addons/dialogic/Resources/character.gd",
|
||||
"@subpath": NodePath(""),
|
||||
&"_translation_id": "",
|
||||
&"color": Color(0.3, 0.8, 0.3, 1),
|
||||
&"custom_info": {
|
||||
"prefix": "",
|
||||
"sound_mood_default": "",
|
||||
"sound_moods": {},
|
||||
"style": "",
|
||||
"suffix": ""
|
||||
},
|
||||
&"default_portrait": "happy",
|
||||
&"description": "A wandering merchant with mysterious goods.",
|
||||
&"display_name": "Merchant",
|
||||
&"mirror": false,
|
||||
&"nicknames": [""],
|
||||
&"offset": Vector2(0, 0),
|
||||
&"portraits": {
|
||||
"blink": {
|
||||
"image": "res://addons/dialogic/Example Assets/portraits/Jane/pl3 blink.png",
|
||||
"offset": Vector2(0, 0),
|
||||
"scene": "res://addons/dialogic/Modules/Character/default_portrait.tscn"
|
||||
},
|
||||
"confusion": {
|
||||
"image": "res://addons/dialogic/Example Assets/portraits/Jane/pl3 confusion.png",
|
||||
"offset": Vector2(0, 0),
|
||||
"scene": "res://addons/dialogic/Modules/Character/default_portrait.tscn"
|
||||
},
|
||||
"happy": {
|
||||
"image": "res://addons/dialogic/Example Assets/portraits/Jane/pl3 happy.png",
|
||||
"offset": Vector2(0, 0),
|
||||
"scene": "res://addons/dialogic/Modules/Character/default_portrait.tscn"
|
||||
},
|
||||
"surprise": {
|
||||
"image": "res://addons/dialogic/Example Assets/portraits/Jane/pl3 surprise.png",
|
||||
"offset": Vector2(0, 0),
|
||||
"scene": "res://addons/dialogic/Modules/Character/default_portrait.tscn"
|
||||
}
|
||||
},
|
||||
&"scale": 1.0
|
||||
}
|
||||
1
docs/museums/dialogic/Merchant.dch.uid
Normal file
1
docs/museums/dialogic/Merchant.dch.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://ctp6h133vbn81
|
||||
47
docs/museums/dialogic/Miko.dch
Normal file
47
docs/museums/dialogic/Miko.dch
Normal file
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"@path": "res://addons/dialogic/Resources/character.gd",
|
||||
"@subpath": NodePath(""),
|
||||
&"_translation_id": "",
|
||||
&"color": Color(0.4, 0.6, 1, 1),
|
||||
&"custom_info": {
|
||||
"prefix": "",
|
||||
"sound_mood_default": "",
|
||||
"sound_moods": {},
|
||||
"style": "",
|
||||
"suffix": ""
|
||||
},
|
||||
&"default_portrait": "neutral",
|
||||
&"description": "The main protagonist. Brave and curious.",
|
||||
&"display_name": "Miko",
|
||||
&"mirror": false,
|
||||
&"nicknames": [""],
|
||||
&"offset": Vector2(0, 0),
|
||||
&"portraits": {
|
||||
"anger": {
|
||||
"image": "res://addons/dialogic/Example Assets/portraits/Princess/anger.png",
|
||||
"offset": Vector2(0, 0),
|
||||
"scene": "res://addons/dialogic/Modules/Character/default_portrait.tscn"
|
||||
},
|
||||
"joy": {
|
||||
"image": "res://addons/dialogic/Example Assets/portraits/Princess/joy.png",
|
||||
"offset": Vector2(0, 0),
|
||||
"scene": "res://addons/dialogic/Modules/Character/default_portrait.tscn"
|
||||
},
|
||||
"neutral": {
|
||||
"image": "res://addons/dialogic/Example Assets/portraits/Princess/neutral.png",
|
||||
"offset": Vector2(0, 0),
|
||||
"scene": "res://addons/dialogic/Modules/Character/default_portrait.tscn"
|
||||
},
|
||||
"shock": {
|
||||
"image": "res://addons/dialogic/Example Assets/portraits/Princess/shock.png",
|
||||
"offset": Vector2(0, 0),
|
||||
"scene": "res://addons/dialogic/Modules/Character/default_portrait.tscn"
|
||||
},
|
||||
"smile": {
|
||||
"image": "res://addons/dialogic/Example Assets/portraits/Princess/smile.png",
|
||||
"offset": Vector2(0, 0),
|
||||
"scene": "res://addons/dialogic/Modules/Character/default_portrait.tscn"
|
||||
}
|
||||
},
|
||||
&"scale": 1.0
|
||||
}
|
||||
1
docs/museums/dialogic/Miko.dch.uid
Normal file
1
docs/museums/dialogic/Miko.dch.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bobyxwyl3l81t
|
||||
53
docs/museums/dialogic/Raptor.dch
Normal file
53
docs/museums/dialogic/Raptor.dch
Normal file
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"@path": "res://addons/dialogic/Resources/character.gd",
|
||||
"@subpath": NodePath(""),
|
||||
&"_translation_id": "",
|
||||
&"color": Color(0.4296875, 0, 1, 1),
|
||||
&"custom_info": {
|
||||
"prefix": "",
|
||||
"sound_mood_default": "",
|
||||
"sound_moods": {},
|
||||
"style": "",
|
||||
"suffix": ""
|
||||
},
|
||||
&"default_portrait": "walk",
|
||||
&"description": "",
|
||||
&"display_name": "Raptor",
|
||||
&"mirror": false,
|
||||
&"nicknames": ["Raptor"],
|
||||
&"offset": Vector2(0, 0),
|
||||
&"portraits": {
|
||||
"jump": {
|
||||
"export_overrides": {
|
||||
"image": "",
|
||||
"spine_skeleton_data_file": "\"res://docs/museums/spine/assets/raptor/raptor-data.tres\""
|
||||
},
|
||||
"ignore_char_scale": false,
|
||||
"mirror": false,
|
||||
"offset": Vector2(0, 0),
|
||||
"scale": 1,
|
||||
"scene": "res://core/spine_dialogic_portrait.tscn"
|
||||
},
|
||||
"roar": {
|
||||
"export_overrides": {
|
||||
"image": "",
|
||||
"spine_skeleton_data_file": "\"res://docs/museums/spine/assets/raptor/raptor-data.tres\""
|
||||
},
|
||||
"mirror": false,
|
||||
"offset": Vector2(0, 0),
|
||||
"scale": 1,
|
||||
"scene": "res://core/spine_dialogic_portrait.tscn"
|
||||
},
|
||||
"walk": {
|
||||
"export_overrides": {
|
||||
"image": "",
|
||||
"spine_skeleton_data_file": "\"res://docs/museums/spine/assets/raptor/raptor-data.tres\""
|
||||
},
|
||||
"mirror": false,
|
||||
"offset": Vector2(0, 0),
|
||||
"scale": 1,
|
||||
"scene": "res://core/spine_dialogic_portrait.tscn"
|
||||
}
|
||||
},
|
||||
&"scale": 1.0
|
||||
}
|
||||
1
docs/museums/dialogic/Raptor.dch.uid
Normal file
1
docs/museums/dialogic/Raptor.dch.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bw6qijlpfi3ms
|
||||
35
docs/museums/dialogic/raptor_showcase.dtl
Normal file
35
docs/museums/dialogic/raptor_showcase.dtl
Normal file
@@ -0,0 +1,35 @@
|
||||
# ============================================================
|
||||
# Raptor Portrait Showcase
|
||||
# Demonstrates the three spine-animated portraits:
|
||||
# walk, jump, roar
|
||||
# ============================================================
|
||||
|
||||
join Raptor (walk) center
|
||||
|
||||
Raptor (walk): Watch me walk around. I'm fully animated!
|
||||
|
||||
[wait time="2.0"]
|
||||
|
||||
update Raptor (jump) center
|
||||
|
||||
Raptor (jump): Wheee! I can jump too!
|
||||
|
||||
[wait time="1.5"]
|
||||
|
||||
update Raptor (walk) center
|
||||
|
||||
Raptor (walk): Back to walking...
|
||||
|
||||
[wait time="1.5"]
|
||||
|
||||
update Raptor (roar) center
|
||||
|
||||
Raptor (roar): Roooaaar! Hear me roar!
|
||||
|
||||
[wait time="2.0"]
|
||||
|
||||
update Raptor (walk) center
|
||||
|
||||
Raptor (walk): That's all three portraits. Pretty cool, right?
|
||||
|
||||
[end_timeline]
|
||||
1
docs/museums/dialogic/raptor_showcase.dtl.uid
Normal file
1
docs/museums/dialogic/raptor_showcase.dtl.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dvn3s8fqqthox
|
||||
12
docs/museums/dialogic/raptor_showcase.gd
Normal file
12
docs/museums/dialogic/raptor_showcase.gd
Normal file
@@ -0,0 +1,12 @@
|
||||
extends Node2D
|
||||
|
||||
@export var start_timeline: DialogicTimeline
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
Dialogic.start(start_timeline)
|
||||
pass
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
1
docs/museums/dialogic/raptor_showcase.gd.uid
Normal file
1
docs/museums/dialogic/raptor_showcase.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dihfboq6b0d0g
|
||||
8
docs/museums/dialogic/raptor_showcase.tscn
Normal file
8
docs/museums/dialogic/raptor_showcase.tscn
Normal file
@@ -0,0 +1,8 @@
|
||||
[gd_scene format=3 uid="uid://dlf2wgrgn120w"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dihfboq6b0d0g" path="res://docs/museums/dialogic/raptor_showcase.gd" id="1_soelo"]
|
||||
[ext_resource type="Resource" uid="uid://dvn3s8fqqthox" path="res://docs/museums/dialogic/raptor_showcase.dtl" id="2_5alpn"]
|
||||
|
||||
[node name="Start" type="Node2D" unique_id=165770346]
|
||||
script = ExtResource("1_soelo")
|
||||
start_timeline = ExtResource("2_5alpn")
|
||||
124
docs/museums/dialogic/start_timeline.dtl
Normal file
124
docs/museums/dialogic/start_timeline.dtl
Normal file
@@ -0,0 +1,124 @@
|
||||
# ============================================================
|
||||
# Dialogic 2 Test Timeline — Feature Showcase
|
||||
# ============================================================
|
||||
# Characters available:
|
||||
# Miko — portraits: neutral, smile, joy, anger, shock
|
||||
# Advisor — portraits: pl5, blink, doubt, surprise
|
||||
# Merchant — portraits: happy, blink, surprise, confusion
|
||||
# ============================================================
|
||||
|
||||
# ---- SETUP: Variables --------------------------------------
|
||||
set {coins} = 0
|
||||
set {player_has_key} = false
|
||||
set {met_merchant} = false
|
||||
|
||||
# ---- LABEL: opening ----------------------------------------
|
||||
label opening
|
||||
|
||||
# Join both main characters at the start
|
||||
join Miko center
|
||||
join Advisor right
|
||||
|
||||
Miko (joy): Welcome to the Dialogic 2 Test Timeline!
|
||||
Advisor (pl5): This timeline showcases all major Dialogic features.
|
||||
|
||||
# ---- TEXT: BBCode & text effects --------------------------
|
||||
Miko (joy): Hi there! I'm Miko, and this is a [b]bold[/b] text test.
|
||||
Miko (joy): [speed=0.02]I can speak slowly too...
|
||||
Miko (joy): And now I'm back to normal speed.
|
||||
|
||||
Advisor (pl5): Remember, [color=red]colored text[/color] works as well.
|
||||
Advisor (pl5): [pause=1.0] ...and so do timed pauses.
|
||||
|
||||
# ---- CONDITION: Variable-based branching ------------------
|
||||
if {coins} == 0:
|
||||
Miko (doubt): I don't have any coins yet. Let's find some!
|
||||
Advisor (doubt): We should look around carefully.
|
||||
else:
|
||||
Miko (joy): Nice, I already have some coins!
|
||||
Advisor (pl5): Good. That will come in handy.
|
||||
|
||||
# ---- VARIABLE: Set a variable -----------------------------
|
||||
set {coins} = 10
|
||||
|
||||
Miko (joy): [shake]Look![/shake] I just found 10 coins.
|
||||
|
||||
# ---- LABEL: merchant_encounter ----------------------------
|
||||
label merchant_encounter
|
||||
|
||||
join Merchant left
|
||||
|
||||
Miko (neutral): A merchant appeared. Let's see what he has.
|
||||
Advisor (doubt): Be cautious, Miko. Don't reveal everything you carry.
|
||||
|
||||
Merchant (happy): Welcome, traveler! Would you like to see my wares?
|
||||
|
||||
# ---- CHOICE: Branching dialog -----------------------------
|
||||
- Yes, show me what you've got!
|
||||
set {met_merchant} = true
|
||||
Miko (joy): Absolutely, show me your best items!
|
||||
Merchant (happy): Excellent choice! I have potions, scrolls, and enchanted blades.
|
||||
Merchant (blink): That will be {10/15/20} gold coins, please!
|
||||
set {coins} = -10
|
||||
Miko (shock): Here you go! That was expensive...
|
||||
Advisor (blink): Did you really have to spend all our coins?
|
||||
|
||||
- Not right now, maybe later.
|
||||
Miko (neutral): I'll come back when I have more gold.
|
||||
Merchant (happy): Suit yourself. The door is always open.
|
||||
Advisor (pl5): A wise decision.
|
||||
|
||||
- Use the ancient key to barter. | [if {player_has_key}]
|
||||
Miko (smile): I have this ancient key. Will you trade for it?
|
||||
Merchant (surprise): [shake]A key from the old kingdom?![/shake] Take anything you want!
|
||||
set {player_has_key} = false
|
||||
Miko (joy): That was a great deal!
|
||||
Advisor (surprise): You traded the key?! That was reckless...
|
||||
|
||||
# ---- SIGNAL: Emit a custom signal -------------------------
|
||||
[signal arg=item_bought]
|
||||
|
||||
Merchant (happy): Pleasure doing business with you!
|
||||
Miko (smile): Thanks, merchant!
|
||||
Advisor (pl5): Let's keep moving. We have ground to cover.
|
||||
|
||||
# ---- WAIT: Timed pause (seconds) --------------------------
|
||||
[wait time="1.0"]
|
||||
|
||||
Miko (neutral): Let's keep exploring.
|
||||
|
||||
# ---- JUMP & LABEL: Navigation -----------------------------
|
||||
jump secret_room
|
||||
|
||||
# ---- LABEL: farewell (unreachable via normal flow) --------
|
||||
label farewell
|
||||
Miko (smile): Goodbye for now!
|
||||
Advisor (pl5): Until next time.
|
||||
[end_timeline]
|
||||
|
||||
# ---- LABEL: secret_room -----------------------------------
|
||||
label secret_room
|
||||
|
||||
leave Merchant
|
||||
Miko (surprise): Hey, the merchant disappeared... and there's a hidden door here!
|
||||
Advisor (doubt): Careful, Miko. We don't know what's inside.
|
||||
Miko (neutral): You're right, but we have to check it out.
|
||||
Advisor (pl5): Very well. I'll follow your lead.
|
||||
|
||||
# ---- CONDITION with ELSE ----------------------------------
|
||||
if {player_has_key}:
|
||||
Miko (joy): Good thing we still have the ancient key. Let's open it!
|
||||
Advisor (surprise): The key glows faintly as you approach.
|
||||
Miko (smile): Here goes nothing...
|
||||
[signal arg=door_opened]
|
||||
else:
|
||||
Miko (anger): Darn, we used the key at the shop. How do we open this?
|
||||
Advisor (pl5): Maybe we can find another way around.
|
||||
Miko (doubt): I guess we'll have to search for another entrance.
|
||||
Advisor (doubt): Patience. Every lock has its key.
|
||||
|
||||
# ---- JUMP to farewell label -------------------------------
|
||||
Miko (smile): Well, that's the end of the test timeline!
|
||||
Advisor (pl5): A successful demonstration, I'd say.
|
||||
jump farewell
|
||||
# End
|
||||
1
docs/museums/dialogic/start_timeline.dtl.uid
Normal file
1
docs/museums/dialogic/start_timeline.dtl.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://f2wb7cq7gtv6
|
||||
@@ -0,0 +1,8 @@
|
||||
[gd_resource type="SpineSkeletonDataResource" format=3 uid="uid://d1ordmjpe5kt7"]
|
||||
|
||||
[ext_resource type="SpineAtlasResource" uid="uid://syvy0bxbnwgi" path="res://docs/museums/spine/assets/celestial-circus/celestial-circus.atlas" id="1_fs1an"]
|
||||
[ext_resource type="SpineSkeletonFileResource" uid="uid://doan7yl2by7vm" path="res://docs/museums/spine/assets/celestial-circus/celestial-circus.skel" id="2_sbom4"]
|
||||
|
||||
[resource]
|
||||
atlas_res = ExtResource("1_fs1an")
|
||||
skeleton_file_res = ExtResource("2_sbom4")
|
||||
@@ -0,0 +1,148 @@
|
||||
celestial-circus.png
|
||||
size: 2048, 1024
|
||||
filter: Linear, Linear
|
||||
scale: 0.4
|
||||
arm-back-down
|
||||
bounds: 204, 297, 38, 82
|
||||
arm-back-up
|
||||
bounds: 2, 92, 83, 116
|
||||
arm-front-down
|
||||
bounds: 88, 318, 36, 78
|
||||
arm-front-up
|
||||
bounds: 733, 76, 77, 116
|
||||
bench
|
||||
bounds: 409, 131, 189, 48
|
||||
body-bottom
|
||||
bounds: 562, 260, 154, 124
|
||||
body-top
|
||||
bounds: 433, 203, 126, 132
|
||||
offsets: 0, 0, 126, 133
|
||||
chest
|
||||
bounds: 847, 468, 104, 93
|
||||
cloud-back
|
||||
bounds: 643, 416, 202, 165
|
||||
cloud-front
|
||||
bounds: 624, 582, 325, 196
|
||||
rotate: 180
|
||||
collar
|
||||
bounds: 175, 752, 47, 26
|
||||
ear
|
||||
bounds: 293, 750, 20, 28
|
||||
eye-back-shadow
|
||||
bounds: 474, 768, 14, 10
|
||||
eye-front-shadow
|
||||
bounds: 642, 764, 24, 14
|
||||
eye-reflex-back
|
||||
bounds: 1012, 771, 8, 7
|
||||
eye-reflex-front
|
||||
bounds: 668, 763, 10, 7
|
||||
eye-white-back
|
||||
bounds: 353, 762, 13, 16
|
||||
eye-white-front
|
||||
bounds: 556, 761, 22, 17
|
||||
eyelashes-down-back
|
||||
bounds: 995, 764, 11, 6
|
||||
eyelashes-down-front
|
||||
bounds: 995, 772, 15, 6
|
||||
eyelashes-top-back
|
||||
bounds: 877, 768, 18, 10
|
||||
eyelashes-top-front
|
||||
bounds: 851, 762, 30, 16
|
||||
face
|
||||
bounds: 87, 64, 91, 102
|
||||
offsets: 2, 0, 93, 102
|
||||
feathers-back
|
||||
bounds: 596, 416, 46, 46
|
||||
feathers-front
|
||||
bounds: 101, 460, 72, 86
|
||||
fringe-middle-back
|
||||
bounds: 103, 502, 33, 52
|
||||
fringe-middle-front
|
||||
bounds: 899, 103, 60, 50
|
||||
fringe-side-back
|
||||
bounds: 413, 505, 27, 94
|
||||
fringe-side-front
|
||||
bounds: 14, 557, 26, 93
|
||||
glove-bottom-back
|
||||
bounds: 589, 737, 51, 41
|
||||
glove-bottom-front
|
||||
bounds: 126, 730, 47, 48
|
||||
hair-back-1
|
||||
bounds: 572, 170, 132, 306
|
||||
rotate: 270
|
||||
hair-back-2
|
||||
bounds: 163, 2, 80, 285
|
||||
hair-back-3
|
||||
bounds: 952, 37, 70, 268
|
||||
hair-back-4
|
||||
bounds: 14, 326, 88, 262
|
||||
hair-back-5
|
||||
bounds: 934, 517, 88, 279
|
||||
rotate: 90
|
||||
hair-back-6
|
||||
bounds: 353, 63, 88, 286
|
||||
rotate: 180
|
||||
hair-hat-shadow
|
||||
bounds: 903, 737, 90, 41
|
||||
hand-back
|
||||
bounds: 409, 82, 60, 47
|
||||
hand-front
|
||||
bounds: 99, 398, 53, 60
|
||||
hat-back
|
||||
bounds: 951, 690, 64, 45
|
||||
hat-front
|
||||
bounds: 376, 722, 96, 56
|
||||
head-back
|
||||
bounds: 600, 82, 102, 86
|
||||
jabot
|
||||
bounds: 240, 78, 70, 55
|
||||
leg-back
|
||||
bounds: 812, 130, 210, 333
|
||||
leg-front
|
||||
bounds: 14, 210, 258, 320
|
||||
logo-brooch
|
||||
bounds: 335, 753, 16, 25
|
||||
mouth
|
||||
bounds: 668, 772, 22, 6
|
||||
neck
|
||||
bounds: 515, 73, 39, 56
|
||||
nose
|
||||
bounds: 895, 765, 6, 7
|
||||
nose-highlight
|
||||
bounds: 28, 774, 4, 4
|
||||
nose-shadow
|
||||
bounds: 580, 770, 7, 8
|
||||
pupil-back
|
||||
bounds: 244, 764, 10, 14
|
||||
pupil-front
|
||||
bounds: 14, 760, 12, 18
|
||||
rope-back
|
||||
bounds: 2, 286, 10, 492
|
||||
rope-front
|
||||
bounds: 2, 286, 10, 492
|
||||
rope-front-bottom
|
||||
bounds: 471, 64, 42, 65
|
||||
skirt
|
||||
bounds: 14, 532, 440, 246
|
||||
sock-bow
|
||||
bounds: 258, 746, 33, 32
|
||||
spine-logo-body
|
||||
bounds: 320, 746, 13, 32
|
||||
star-big
|
||||
bounds: 224, 754, 18, 24
|
||||
star-medium
|
||||
bounds: 368, 770, 6, 8
|
||||
star-small
|
||||
bounds: 34, 774, 3, 4
|
||||
underskirt
|
||||
bounds: 414, 333, 445, 228
|
||||
rotate: 270
|
||||
underskirt-back
|
||||
bounds: 243, 125, 433, 171
|
||||
rotate: 90
|
||||
wing-back
|
||||
bounds: 876, 576, 146, 252
|
||||
rotate: 90
|
||||
wing-front
|
||||
bounds: 718, 285, 304, 248
|
||||
rotate: 180
|
||||
@@ -0,0 +1,16 @@
|
||||
[remap]
|
||||
|
||||
importer="spine.atlas"
|
||||
type="SpineAtlasResource"
|
||||
uid="uid://syvy0bxbnwgi"
|
||||
path="res://.godot/imported/celestial-circus.atlas-e2b957b64e61bef3a4e2b6dc5cfd2b3b.spatlas"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/celestial-circus/celestial-circus.atlas"
|
||||
dest_files=["res://.godot/imported/celestial-circus.atlas-e2b957b64e61bef3a4e2b6dc5cfd2b3b.spatlas"]
|
||||
|
||||
[params]
|
||||
|
||||
normal_map_prefix="n"
|
||||
specular_map_prefix="s"
|
||||
BIN
docs/museums/spine/assets/celestial-circus/celestial-circus.png
Normal file
BIN
docs/museums/spine/assets/celestial-circus/celestial-circus.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 825 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d27f2nxof5i18"
|
||||
path="res://.godot/imported/celestial-circus.png-b137f5e89d482ea3542387336fed2f0f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/celestial-circus/celestial-circus.png"
|
||||
dest_files=["res://.godot/imported/celestial-circus.png-b137f5e89d482ea3542387336fed2f0f.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
|
||||
BIN
docs/museums/spine/assets/celestial-circus/celestial-circus.skel
Normal file
BIN
docs/museums/spine/assets/celestial-circus/celestial-circus.skel
Normal file
Binary file not shown.
@@ -0,0 +1,14 @@
|
||||
[remap]
|
||||
|
||||
importer="spine.skel"
|
||||
type="SpineSkeletonFileResource"
|
||||
uid="uid://doan7yl2by7vm"
|
||||
path="res://.godot/imported/celestial-circus.skel-88d4832c09a3a1cbf3a4d345f07f0722.spskel"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/celestial-circus/celestial-circus.skel"
|
||||
dest_files=["res://.godot/imported/celestial-circus.skel-88d4832c09a3a1cbf3a4d345f07f0722.spskel"]
|
||||
|
||||
[params]
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://baym8211e1as0"
|
||||
path="res://.godot/imported/celestial-circus_2.png-10ce6d37d52bd6e8495aa1b68f8b3576.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/celestial-circus/celestial-circus_2.png"
|
||||
dest_files=["res://.godot/imported/celestial-circus_2.png-10ce6d37d52bd6e8495aa1b68f8b3576.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
||||
BIN
docs/museums/spine/assets/footstep.ogg
Normal file
BIN
docs/museums/spine/assets/footstep.ogg
Normal file
Binary file not shown.
19
docs/museums/spine/assets/footstep.ogg.import
Normal file
19
docs/museums/spine/assets/footstep.ogg.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://can7k84o8svum"
|
||||
path="res://.godot/imported/footstep.ogg-2795ae221611df0dd408e9bbdaa8bb95.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/footstep.ogg"
|
||||
dest_files=["res://.godot/imported/footstep.ogg-2795ae221611df0dd408e9bbdaa8bb95.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -0,0 +1,8 @@
|
||||
[gd_resource type="SpineSkeletonDataResource" format=3 uid="uid://btsqcvy7c5y8x"]
|
||||
|
||||
[ext_resource type="SpineAtlasResource" uid="uid://cvu8lycjkd245" path="res://docs/museums/spine/assets/mix-and-match/mix-and-match.atlas" id="1"]
|
||||
[ext_resource type="SpineSkeletonFileResource" uid="uid://ckitsrtfxmo2w" path="res://docs/museums/spine/assets/mix-and-match/mix-and-match-pro.spine-json" id="2"]
|
||||
|
||||
[resource]
|
||||
atlas_res = ExtResource("1")
|
||||
skeleton_file_res = ExtResource("2")
|
||||
8381
docs/museums/spine/assets/mix-and-match/mix-and-match-pro.spine-json
Normal file
8381
docs/museums/spine/assets/mix-and-match/mix-and-match-pro.spine-json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,14 @@
|
||||
[remap]
|
||||
|
||||
importer="spine.json"
|
||||
type="SpineSkeletonFileResource"
|
||||
uid="uid://ckitsrtfxmo2w"
|
||||
path="res://.godot/imported/mix-and-match-pro.spine-json-d43b087c448cd26f3f0e9b350f4314bb.spjson"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/mix-and-match/mix-and-match-pro.spine-json"
|
||||
dest_files=["res://.godot/imported/mix-and-match-pro.spine-json-d43b087c448cd26f3f0e9b350f4314bb.spjson"]
|
||||
|
||||
[params]
|
||||
|
||||
326
docs/museums/spine/assets/mix-and-match/mix-and-match.atlas
Normal file
326
docs/museums/spine/assets/mix-and-match/mix-and-match.atlas
Normal file
@@ -0,0 +1,326 @@
|
||||
mix-and-match.png
|
||||
size: 2048, 512
|
||||
filter: Linear, Linear
|
||||
scale: 0.5
|
||||
base-head
|
||||
bounds: 378, 110, 95, 73
|
||||
boy/arm-front
|
||||
bounds: 345, 55, 36, 115
|
||||
rotate: 180
|
||||
boy/backpack
|
||||
bounds: 498, 258, 119, 153
|
||||
rotate: 270
|
||||
boy/backpack-pocket
|
||||
bounds: 985, 6, 34, 62
|
||||
boy/backpack-strap-front
|
||||
bounds: 888, 6, 38, 88
|
||||
boy/backpack-up
|
||||
bounds: 795, 9, 21, 70
|
||||
boy/body
|
||||
bounds: 250, 171, 97, 132
|
||||
rotate: 90
|
||||
boy/boot-ribbon-front
|
||||
bounds: 396, 366, 9, 11
|
||||
boy/collar
|
||||
bounds: 129, 46, 73, 29
|
||||
boy/ear
|
||||
bounds: 117, 194, 19, 23
|
||||
boy/eye-back-low-eyelid
|
||||
bounds: 773, 276, 17, 6
|
||||
boy/eye-back-pupil
|
||||
bounds: 120, 255, 8, 9
|
||||
boy/eye-back-up-eyelid
|
||||
bounds: 224, 354, 23, 5
|
||||
rotate: 270
|
||||
boy/eye-back-up-eyelid-back
|
||||
bounds: 375, 258, 19, 10
|
||||
boy/eye-front-low-eyelid
|
||||
bounds: 167, 361, 22, 7
|
||||
boy/eye-front-pupil
|
||||
bounds: 494, 353, 9, 9
|
||||
boy/eye-front-up-eyelid
|
||||
bounds: 155, 346, 31, 6
|
||||
rotate: 270
|
||||
boy/eye-front-up-eyelid-back
|
||||
bounds: 322, 368, 26, 9
|
||||
boy/eye-iris-back
|
||||
bounds: 692, 33, 17, 17
|
||||
boy/eye-iris-front
|
||||
bounds: 1003, 75, 18, 18
|
||||
boy/eye-white-back
|
||||
bounds: 1002, 219, 20, 12
|
||||
boy/eye-white-front
|
||||
bounds: 560, 249, 27, 13
|
||||
boy/eyebrow-back
|
||||
bounds: 281, 366, 20, 11
|
||||
boy/eyebrow-front
|
||||
bounds: 254, 366, 25, 11
|
||||
boy/hair-back
|
||||
bounds: 737, 81, 122, 81
|
||||
rotate: 270
|
||||
boy/hair-bangs
|
||||
bounds: 102, 18, 70, 37
|
||||
boy/hair-side
|
||||
bounds: 939, 105, 25, 43
|
||||
boy/hand-backfingers
|
||||
bounds: 494, 45, 19, 21
|
||||
boy/hand-front-fingers
|
||||
bounds: 313, 108, 19, 21
|
||||
boy/hat
|
||||
bounds: 817, 126, 93, 56
|
||||
boy/leg-front
|
||||
bounds: 90, 219, 31, 158
|
||||
rotate: 180
|
||||
boy/mouth-close
|
||||
bounds: 231, 372, 21, 5
|
||||
girl-blue-cape/mouth-close
|
||||
bounds: 231, 372, 21, 5
|
||||
girl-spring-dress/mouth-close
|
||||
bounds: 231, 372, 21, 5
|
||||
girl/mouth-close
|
||||
bounds: 231, 372, 21, 5
|
||||
boy/mouth-smile
|
||||
bounds: 193, 370, 29, 7
|
||||
boy/nose
|
||||
bounds: 303, 367, 17, 10
|
||||
boy/pompom
|
||||
bounds: 820, 40, 48, 43
|
||||
boy/zip
|
||||
bounds: 1006, 260, 14, 23
|
||||
girl-blue-cape/back-eyebrow
|
||||
bounds: 623, 145, 18, 12
|
||||
girl-blue-cape/body-dress
|
||||
bounds: 155, 268, 109, 241
|
||||
offsets: 0, 0, 109, 246
|
||||
rotate: 90
|
||||
girl-blue-cape/body-ribbon
|
||||
bounds: 743, 41, 50, 38
|
||||
girl-blue-cape/cape-back
|
||||
bounds: 383, 184, 134, 193
|
||||
rotate: 180
|
||||
girl-blue-cape/cape-back-up
|
||||
bounds: 518, 139, 123, 106
|
||||
girl-blue-cape/cape-ribbon
|
||||
bounds: 295, 33, 50, 18
|
||||
girl-blue-cape/cape-shoulder-back
|
||||
bounds: 601, 15, 49, 59
|
||||
girl-blue-cape/cape-shoulder-front
|
||||
bounds: 901, 68, 62, 76
|
||||
girl-blue-cape/cape-up-front
|
||||
bounds: 924, 123, 98, 117
|
||||
rotate: 90
|
||||
girl-blue-cape/ear
|
||||
bounds: 951, 286, 19, 23
|
||||
girl-spring-dress/ear
|
||||
bounds: 951, 286, 19, 23
|
||||
girl/ear
|
||||
bounds: 951, 286, 19, 23
|
||||
girl-blue-cape/eye-back-low-eyelid
|
||||
bounds: 350, 371, 17, 6
|
||||
girl-spring-dress/eye-back-low-eyelid
|
||||
bounds: 350, 371, 17, 6
|
||||
girl/eye-back-low-eyelid
|
||||
bounds: 350, 371, 17, 6
|
||||
girl-blue-cape/eye-back-pupil
|
||||
bounds: 972, 291, 8, 9
|
||||
girl-spring-dress/eye-back-pupil
|
||||
bounds: 972, 291, 8, 9
|
||||
girl/eye-back-pupil
|
||||
bounds: 972, 291, 8, 9
|
||||
girl-blue-cape/eye-back-up-eyelid
|
||||
bounds: 72, 107, 24, 12
|
||||
girl-spring-dress/eye-back-up-eyelid
|
||||
bounds: 72, 107, 24, 12
|
||||
girl/eye-back-up-eyelid
|
||||
bounds: 72, 107, 24, 12
|
||||
girl-blue-cape/eye-back-up-eyelid-back
|
||||
bounds: 647, 275, 17, 11
|
||||
girl-spring-dress/eye-back-up-eyelid-back
|
||||
bounds: 647, 275, 17, 11
|
||||
girl/eye-back-up-eyelid-back
|
||||
bounds: 647, 275, 17, 11
|
||||
girl-blue-cape/eye-front-low-eyelid
|
||||
bounds: 587, 254, 18, 6
|
||||
girl-spring-dress/eye-front-low-eyelid
|
||||
bounds: 587, 254, 18, 6
|
||||
girl/eye-front-low-eyelid
|
||||
bounds: 587, 254, 18, 6
|
||||
girl-blue-cape/eye-front-pupil
|
||||
bounds: 640, 368, 9, 9
|
||||
girl-spring-dress/eye-front-pupil
|
||||
bounds: 640, 368, 9, 9
|
||||
girl/eye-front-pupil
|
||||
bounds: 640, 368, 9, 9
|
||||
girl-blue-cape/eye-front-up-eyelid
|
||||
bounds: 2, 26, 30, 14
|
||||
girl-spring-dress/eye-front-up-eyelid
|
||||
bounds: 2, 26, 30, 14
|
||||
girl/eye-front-up-eyelid
|
||||
bounds: 2, 26, 30, 14
|
||||
girl-blue-cape/eye-front-up-eyelid-back
|
||||
bounds: 228, 114, 26, 11
|
||||
girl-spring-dress/eye-front-up-eyelid-back
|
||||
bounds: 228, 114, 26, 11
|
||||
girl/eye-front-up-eyelid-back
|
||||
bounds: 228, 114, 26, 11
|
||||
girl-blue-cape/eye-iris-back
|
||||
bounds: 354, 36, 17, 17
|
||||
girl-blue-cape/eye-iris-front
|
||||
bounds: 1004, 95, 18, 18
|
||||
girl-blue-cape/eye-white-back
|
||||
bounds: 608, 245, 20, 16
|
||||
girl-spring-dress/eye-white-back
|
||||
bounds: 608, 245, 20, 16
|
||||
girl-blue-cape/eye-white-front
|
||||
bounds: 791, 206, 20, 16
|
||||
girl-spring-dress/eye-white-front
|
||||
bounds: 791, 206, 20, 16
|
||||
girl/eye-white-front
|
||||
bounds: 791, 206, 20, 16
|
||||
girl-blue-cape/front-eyebrow
|
||||
bounds: 67, 153, 18, 12
|
||||
girl-blue-cape/hair-back
|
||||
bounds: 813, 184, 117, 98
|
||||
girl-blue-cape/hair-bangs
|
||||
bounds: 378, 68, 91, 40
|
||||
girl-blue-cape/hair-head-side-back
|
||||
bounds: 507, 232, 30, 52
|
||||
rotate: 90
|
||||
girl-blue-cape/hair-head-side-front
|
||||
bounds: 59, 27, 41, 42
|
||||
girl-blue-cape/hair-side
|
||||
bounds: 947, 2, 36, 71
|
||||
rotate: 180
|
||||
girl-blue-cape/hand-front-fingers
|
||||
bounds: 578, 116, 19, 21
|
||||
girl-spring-dress/hand-front-fingers
|
||||
bounds: 578, 116, 19, 21
|
||||
girl-blue-cape/leg-front
|
||||
bounds: 60, 219, 30, 158
|
||||
rotate: 180
|
||||
girl-blue-cape/mouth-smile
|
||||
bounds: 162, 370, 29, 7
|
||||
girl-spring-dress/mouth-smile
|
||||
bounds: 162, 370, 29, 7
|
||||
girl/mouth-smile
|
||||
bounds: 162, 370, 29, 7
|
||||
girl-blue-cape/nose
|
||||
bounds: 972, 302, 11, 7
|
||||
girl-spring-dress/nose
|
||||
bounds: 972, 302, 11, 7
|
||||
girl/nose
|
||||
bounds: 972, 302, 11, 7
|
||||
girl-blue-cape/sleeve-back
|
||||
bounds: 599, 113, 42, 29
|
||||
girl-blue-cape/sleeve-front
|
||||
bounds: 472, 68, 52, 119
|
||||
rotate: 180
|
||||
girl-spring-dress/arm-front
|
||||
bounds: 122, 266, 17, 111
|
||||
girl-spring-dress/back-eyebrow
|
||||
bounds: 904, 170, 18, 12
|
||||
girl-spring-dress/body-up
|
||||
bounds: 951, 311, 64, 66
|
||||
girl-spring-dress/cloak-down
|
||||
bounds: 65, 167, 50, 50
|
||||
girl-spring-dress/cloak-up
|
||||
bounds: 515, 84, 61, 58
|
||||
offsets: 0, 0, 64, 58
|
||||
girl-spring-dress/eye-iris-back
|
||||
bounds: 882, 112, 17, 17
|
||||
girl-spring-dress/eye-iris-front
|
||||
bounds: 932, 211, 18, 18
|
||||
girl-spring-dress/front-eyebrow
|
||||
bounds: 643, 202, 18, 12
|
||||
girl-spring-dress/hair-back
|
||||
bounds: 802, 284, 147, 93
|
||||
girl-spring-dress/hair-bangs
|
||||
bounds: 67, 70, 91, 40
|
||||
girl-spring-dress/hair-head-side-back
|
||||
bounds: 549, 7, 30, 52
|
||||
girl-spring-dress/hair-head-side-front
|
||||
bounds: 451, 28, 41, 42
|
||||
girl-spring-dress/hair-side
|
||||
bounds: 370, 8, 36, 71
|
||||
rotate: 180
|
||||
girl-spring-dress/leg-front
|
||||
bounds: 30, 219, 30, 158
|
||||
rotate: 180
|
||||
girl-spring-dress/neck
|
||||
bounds: 928, 34, 20, 32
|
||||
girl-spring-dress/shoulder-ribbon
|
||||
bounds: 174, 20, 36, 24
|
||||
girl-spring-dress/skirt
|
||||
bounds: 629, 201, 182, 81
|
||||
girl-spring-dress/underskirt
|
||||
bounds: 2, 42, 175, 65
|
||||
rotate: 90
|
||||
girl/arm-front
|
||||
bounds: 986, 280, 36, 115
|
||||
rotate: 90
|
||||
girl/back-eyebrow
|
||||
bounds: 53, 205, 18, 12
|
||||
girl/bag-base
|
||||
bounds: 164, 93, 62, 58
|
||||
girl/bag-strap-front
|
||||
bounds: 141, 282, 12, 95
|
||||
offsets: 0, 1, 12, 96
|
||||
girl/bag-top
|
||||
bounds: 407, 12, 49, 50
|
||||
girl/body
|
||||
bounds: 138, 152, 97, 132
|
||||
girl/boot-ribbon-front
|
||||
bounds: 491, 364, 13, 13
|
||||
girl/eye-iris-back
|
||||
bounds: 237, 255, 17, 17
|
||||
girl/eye-iris-front
|
||||
bounds: 195, 350, 18, 18
|
||||
girl/eye-white-back
|
||||
bounds: 791, 266, 20, 16
|
||||
girl/front-eyebrow
|
||||
bounds: 231, 358, 18, 12
|
||||
girl/hair-back
|
||||
bounds: 653, 284, 147, 93
|
||||
girl/hair-bangs
|
||||
bounds: 577, 72, 91, 40
|
||||
girl/hair-flap-down-front
|
||||
bounds: 178, 27, 70, 65
|
||||
girl/hair-head-side-back
|
||||
bounds: 870, 25, 30, 52
|
||||
girl/hair-head-side-front
|
||||
bounds: 252, 39, 41, 42
|
||||
girl/hair-patch
|
||||
bounds: 820, 85, 66, 41
|
||||
girl/hair-side
|
||||
bounds: 511, 12, 36, 71
|
||||
rotate: 180
|
||||
girl/hair-strand-back-1
|
||||
bounds: 642, 23, 56, 74
|
||||
offsets: 2, 0, 58, 74
|
||||
girl/hair-strand-back-2
|
||||
bounds: 221, 79, 90, 53
|
||||
offsets: 1, 0, 91, 58
|
||||
girl/hair-strand-back-3
|
||||
bounds: 643, 107, 92, 79
|
||||
rotate: 90
|
||||
girl/hair-strand-front-1
|
||||
bounds: 966, 69, 38, 94
|
||||
girl/hair-strand-front-2
|
||||
bounds: 547, 37, 70, 50
|
||||
girl/hair-strand-front-3
|
||||
bounds: 699, 25, 44, 81
|
||||
girl/hand-front-fingers
|
||||
bounds: 231, 179, 19, 21
|
||||
girl/hat
|
||||
bounds: 69, 109, 93, 82
|
||||
rotate: 180
|
||||
girl/leg-front
|
||||
bounds: 2, 219, 30, 158
|
||||
girl/pompom
|
||||
bounds: 295, 53, 48, 43
|
||||
girl/scarf
|
||||
bounds: 217, 126, 119, 51
|
||||
girl/scarf-back
|
||||
bounds: 932, 231, 72, 51
|
||||
girl/zip
|
||||
bounds: 724, 174, 19, 25
|
||||
@@ -0,0 +1,16 @@
|
||||
[remap]
|
||||
|
||||
importer="spine.atlas"
|
||||
type="SpineAtlasResource"
|
||||
uid="uid://cvu8lycjkd245"
|
||||
path="res://.godot/imported/mix-and-match.atlas-3907472f2fddce2b3ee909c34175130a.spatlas"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/mix-and-match/mix-and-match.atlas"
|
||||
dest_files=["res://.godot/imported/mix-and-match.atlas-3907472f2fddce2b3ee909c34175130a.spatlas"]
|
||||
|
||||
[params]
|
||||
|
||||
normal_map_prefix="n"
|
||||
specular_map_prefix="s"
|
||||
BIN
docs/museums/spine/assets/mix-and-match/mix-and-match.png
Normal file
BIN
docs/museums/spine/assets/mix-and-match/mix-and-match.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 351 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dkpeve6qcxa70"
|
||||
path="res://.godot/imported/mix-and-match.png-d5a897ebe2930a03819bf9801689876f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/mix-and-match/mix-and-match.png"
|
||||
dest_files=["res://.godot/imported/mix-and-match.png-d5a897ebe2930a03819bf9801689876f.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
|
||||
@@ -0,0 +1,15 @@
|
||||
[remap]
|
||||
|
||||
importer="spine.atlas"
|
||||
type="SpineAtlasResource"
|
||||
uid="uid://c75mtwn6dnkwp"
|
||||
path="res://.godot/imported/Raggedy Spineboy.atlas-07f7c6b30431397bcf472b18d48851e0.spatlas"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/raggedyspineboy/Raggedy Spineboy.atlas"
|
||||
dest_files=["res://.godot/imported/Raggedy Spineboy.atlas-07f7c6b30431397bcf472b18d48851e0.spatlas"]
|
||||
|
||||
[params]
|
||||
|
||||
normal_map_prefix="n"
|
||||
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://couyrsq850nh6"
|
||||
path="res://.godot/imported/Raggedy Spineboy.png-8982b59aad5b612b7ed1a5da8b447d00.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/raggedyspineboy/Raggedy Spineboy.png"
|
||||
dest_files=["res://.godot/imported/Raggedy Spineboy.png-8982b59aad5b612b7ed1a5da8b447d00.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
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
|
||||
@@ -0,0 +1,8 @@
|
||||
[gd_resource type="SpineSkeletonDataResource" load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://assets/raggedyspineboy/Raggedy Spineboy.atlas" type="SpineAtlasResource" id=1]
|
||||
[ext_resource path="res://assets/raggedyspineboy/raggedy spineboy.spine-json" type="SpineSkeletonFileResource" id=2]
|
||||
|
||||
[resource]
|
||||
atlas_res = ExtResource( 1 )
|
||||
skeleton_file_res = ExtResource( 2 )
|
||||
@@ -0,0 +1,14 @@
|
||||
[remap]
|
||||
|
||||
importer="spine.json"
|
||||
type="SpineSkeletonFileResource"
|
||||
uid="uid://2iqykoiop2tc"
|
||||
path="res://.godot/imported/raggedy spineboy.spine-json-d90ee4b829503274afa3dbf64c369460.spjson"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/raggedyspineboy/raggedy spineboy.spine-json"
|
||||
dest_files=["res://.godot/imported/raggedy spineboy.spine-json-d90ee4b829503274afa3dbf64c369460.spjson"]
|
||||
|
||||
[params]
|
||||
|
||||
BIN
docs/museums/spine/assets/raptor/light-sprite.png
Normal file
BIN
docs/museums/spine/assets/raptor/light-sprite.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.7 KiB |
40
docs/museums/spine/assets/raptor/light-sprite.png.import
Normal file
40
docs/museums/spine/assets/raptor/light-sprite.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cggfs567rn1ay"
|
||||
path="res://.godot/imported/light-sprite.png-1af54860ca551b2e2cf5502116dc200f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/raptor/light-sprite.png"
|
||||
dest_files=["res://.godot/imported/light-sprite.png-1af54860ca551b2e2cf5502116dc200f.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
|
||||
BIN
docs/museums/spine/assets/raptor/n_raptor.png
Normal file
BIN
docs/museums/spine/assets/raptor/n_raptor.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 518 KiB |
40
docs/museums/spine/assets/raptor/n_raptor.png.import
Normal file
40
docs/museums/spine/assets/raptor/n_raptor.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dnjt8gyvsw0l8"
|
||||
path="res://.godot/imported/n_raptor.png-bf214064d3bc9cfa5783f08a9aae76da.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/raptor/n_raptor.png"
|
||||
dest_files=["res://.godot/imported/n_raptor.png-bf214064d3bc9cfa5783f08a9aae76da.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
|
||||
9
docs/museums/spine/assets/raptor/raptor-data.tres
Normal file
9
docs/museums/spine/assets/raptor/raptor-data.tres
Normal file
@@ -0,0 +1,9 @@
|
||||
[gd_resource type="SpineSkeletonDataResource" format=3 uid="uid://c53t4xfil8g8g"]
|
||||
|
||||
[ext_resource type="SpineAtlasResource" uid="uid://dhtyf5vltqsjg" path="res://docs/museums/spine/assets/raptor/raptor.atlas" id="2"]
|
||||
[ext_resource type="SpineSkeletonFileResource" uid="uid://dor8huwld4f84" path="res://docs/museums/spine/assets/raptor/raptor-pro.skel" id="2_ssu6e"]
|
||||
|
||||
[resource]
|
||||
atlas_res = ExtResource("2")
|
||||
skeleton_file_res = ExtResource("2_ssu6e")
|
||||
default_mix = 0.2
|
||||
BIN
docs/museums/spine/assets/raptor/raptor-pro.skel
Normal file
BIN
docs/museums/spine/assets/raptor/raptor-pro.skel
Normal file
Binary file not shown.
14
docs/museums/spine/assets/raptor/raptor-pro.skel.import
Normal file
14
docs/museums/spine/assets/raptor/raptor-pro.skel.import
Normal file
@@ -0,0 +1,14 @@
|
||||
[remap]
|
||||
|
||||
importer="spine.skel"
|
||||
type="SpineSkeletonFileResource"
|
||||
uid="uid://dor8huwld4f84"
|
||||
path="res://.godot/imported/raptor-pro.skel-6ae8a6479e7ce05e4941e7bb5d2c0f0b.spskel"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/raptor/raptor-pro.skel"
|
||||
dest_files=["res://.godot/imported/raptor-pro.skel-6ae8a6479e7ce05e4941e7bb5d2c0f0b.spskel"]
|
||||
|
||||
[params]
|
||||
|
||||
85
docs/museums/spine/assets/raptor/raptor.atlas
Normal file
85
docs/museums/spine/assets/raptor/raptor.atlas
Normal file
@@ -0,0 +1,85 @@
|
||||
raptor.png
|
||||
size: 1024, 512
|
||||
filter: Linear, Linear
|
||||
scale: 0.5
|
||||
back-arm
|
||||
bounds: 206, 49, 46, 25
|
||||
back-bracer
|
||||
bounds: 498, 42, 39, 28
|
||||
back-hand
|
||||
bounds: 400, 55, 36, 34
|
||||
back-knee
|
||||
bounds: 498, 72, 49, 67
|
||||
back-thigh
|
||||
bounds: 254, 40, 39, 24
|
||||
eyes-open
|
||||
bounds: 232, 328, 47, 45
|
||||
front-arm
|
||||
bounds: 350, 63, 48, 26
|
||||
front-bracer
|
||||
bounds: 163, 56, 41, 29
|
||||
front-hand
|
||||
bounds: 956, 231, 41, 38
|
||||
front-open-hand
|
||||
bounds: 770, 329, 43, 44
|
||||
front-thigh
|
||||
bounds: 897, 240, 57, 29
|
||||
gun
|
||||
bounds: 915, 106, 107, 103
|
||||
gun-nohand
|
||||
bounds: 916, 271, 105, 102
|
||||
head
|
||||
bounds: 626, 81, 136, 149
|
||||
lower-leg
|
||||
bounds: 551, 42, 73, 98
|
||||
mouth-grind
|
||||
bounds: 2, 64, 47, 30
|
||||
mouth-smile
|
||||
bounds: 841, 127, 47, 30
|
||||
neck
|
||||
bounds: 281, 352, 18, 21
|
||||
raptor-back-arm
|
||||
bounds: 80, 11, 82, 86
|
||||
raptor-body
|
||||
bounds: 2, 140, 632, 233
|
||||
raptor-front-arm
|
||||
bounds: 911, 2, 81, 102
|
||||
raptor-front-leg
|
||||
bounds: 524, 182, 191, 257
|
||||
rotate: 90
|
||||
raptor-hindleg-back
|
||||
bounds: 745, 158, 169, 215
|
||||
rotate: 180
|
||||
raptor-horn
|
||||
bounds: 2, 293, 182, 80
|
||||
raptor-horn-back
|
||||
bounds: 174, 123, 176, 77
|
||||
raptor-jaw
|
||||
bounds: 772, 35, 126, 138
|
||||
rotate: 270
|
||||
raptor-jaw-tooth
|
||||
bounds: 686, 242, 37, 48
|
||||
raptor-mouth-inside
|
||||
bounds: 755, 39, 36, 41
|
||||
raptor-saddle-strap-back
|
||||
bounds: 626, 26, 54, 74
|
||||
raptor-saddle-strap-front
|
||||
bounds: 2, 96, 57, 95
|
||||
raptor-saddle-w-shadow
|
||||
bounds: 2, 88, 162, 171
|
||||
rotate: 90
|
||||
raptor-tail-shadow
|
||||
bounds: 159, 58, 189, 63
|
||||
raptor-tongue
|
||||
bounds: 685, 33, 86, 64
|
||||
stirrup-back
|
||||
bounds: 783, 204, 44, 35
|
||||
stirrup-front
|
||||
bounds: 185, 323, 45, 50
|
||||
stirrup-strap
|
||||
bounds: 636, 217, 49, 46
|
||||
torso
|
||||
bounds: 442, 48, 54, 91
|
||||
visor
|
||||
bounds: 356, 91, 131, 84
|
||||
rotate: 90
|
||||
16
docs/museums/spine/assets/raptor/raptor.atlas.import
Normal file
16
docs/museums/spine/assets/raptor/raptor.atlas.import
Normal file
@@ -0,0 +1,16 @@
|
||||
[remap]
|
||||
|
||||
importer="spine.atlas"
|
||||
type="SpineAtlasResource"
|
||||
uid="uid://dhtyf5vltqsjg"
|
||||
path="res://.godot/imported/raptor.atlas-cf96533187782b749bc06e166649c114.spatlas"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/raptor/raptor.atlas"
|
||||
dest_files=["res://.godot/imported/raptor.atlas-cf96533187782b749bc06e166649c114.spatlas"]
|
||||
|
||||
[params]
|
||||
|
||||
normal_map_prefix="n"
|
||||
specular_map_prefix="s"
|
||||
BIN
docs/museums/spine/assets/raptor/raptor.png
Normal file
BIN
docs/museums/spine/assets/raptor/raptor.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 408 KiB |
40
docs/museums/spine/assets/raptor/raptor.png.import
Normal file
40
docs/museums/spine/assets/raptor/raptor.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ucvdpil67hul"
|
||||
path="res://.godot/imported/raptor.png-6d19fe129bbc42395bd492136111d161.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/raptor/raptor.png"
|
||||
dest_files=["res://.godot/imported/raptor.png-6d19fe129bbc42395bd492136111d161.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
|
||||
20
docs/museums/spine/assets/spineboy/spineboy-data-res.tres
Normal file
20
docs/museums/spine/assets/spineboy/spineboy-data-res.tres
Normal file
@@ -0,0 +1,20 @@
|
||||
[gd_resource type="SpineSkeletonDataResource" format=3 uid="uid://cb6rn6vonqbx0"]
|
||||
|
||||
[ext_resource type="SpineAtlasResource" uid="uid://dt2kctrit34y0" path="res://docs/museums/spine/assets/spineboy/spineboy.atlas" id="2"]
|
||||
[ext_resource type="SpineSkeletonFileResource" uid="uid://bngulrxfavqyn" path="res://docs/museums/spine/assets/spineboy/spineboy-pro.spine-json" id="2_fkogq"]
|
||||
|
||||
[sub_resource type="SpineAnimationMix" id="1"]
|
||||
from = "idle"
|
||||
to = "run"
|
||||
mix = 0.2
|
||||
|
||||
[sub_resource type="SpineAnimationMix" id="2"]
|
||||
from = "run"
|
||||
to = "idle"
|
||||
mix = 0.2
|
||||
|
||||
[resource]
|
||||
atlas_res = ExtResource("2")
|
||||
skeleton_file_res = ExtResource("2_fkogq")
|
||||
default_mix = 0.1
|
||||
animation_mixes = [SubResource("1"), SubResource("2")]
|
||||
BIN
docs/museums/spine/assets/spineboy/spineboy-pro.skel
Normal file
BIN
docs/museums/spine/assets/spineboy/spineboy-pro.skel
Normal file
Binary file not shown.
14
docs/museums/spine/assets/spineboy/spineboy-pro.skel.import
Normal file
14
docs/museums/spine/assets/spineboy/spineboy-pro.skel.import
Normal file
@@ -0,0 +1,14 @@
|
||||
[remap]
|
||||
|
||||
importer="spine.skel"
|
||||
type="SpineSkeletonFileResource"
|
||||
uid="uid://cth0eypg16cgi"
|
||||
path="res://.godot/imported/spineboy-pro.skel-a3be0a1e3d61ac4033486271479d78df.spskel"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/spineboy/spineboy-pro.skel"
|
||||
dest_files=["res://.godot/imported/spineboy-pro.skel-a3be0a1e3d61ac4033486271479d78df.spskel"]
|
||||
|
||||
[params]
|
||||
|
||||
8798
docs/museums/spine/assets/spineboy/spineboy-pro.spine-json
Normal file
8798
docs/museums/spine/assets/spineboy/spineboy-pro.spine-json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,14 @@
|
||||
[remap]
|
||||
|
||||
importer="spine.json"
|
||||
type="SpineSkeletonFileResource"
|
||||
uid="uid://bngulrxfavqyn"
|
||||
path="res://.godot/imported/spineboy-pro.spine-json-d2bd1ebb8910bfb23807a23eb2ac9203.spjson"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/spineboy/spineboy-pro.spine-json"
|
||||
dest_files=["res://.godot/imported/spineboy-pro.spine-json-d2bd1ebb8910bfb23807a23eb2ac9203.spjson"]
|
||||
|
||||
[params]
|
||||
|
||||
84
docs/museums/spine/assets/spineboy/spineboy.atlas
Normal file
84
docs/museums/spine/assets/spineboy/spineboy.atlas
Normal file
@@ -0,0 +1,84 @@
|
||||
spineboy.png
|
||||
size: 1024, 256
|
||||
filter: Linear, Linear
|
||||
scale: 0.5
|
||||
crosshair
|
||||
bounds: 186, 17, 45, 45
|
||||
eye-indifferent
|
||||
bounds: 137, 17, 47, 45
|
||||
eye-surprised
|
||||
bounds: 623, 45, 47, 45
|
||||
front-bracer
|
||||
bounds: 613, 3, 29, 40
|
||||
front-fist-closed
|
||||
bounds: 278, 2, 38, 41
|
||||
front-fist-open
|
||||
bounds: 233, 18, 43, 44
|
||||
front-foot
|
||||
bounds: 72, 39, 63, 35
|
||||
front-shin
|
||||
bounds: 952, 41, 41, 92
|
||||
front-thigh
|
||||
bounds: 995, 120, 23, 56
|
||||
front-upper-arm
|
||||
bounds: 995, 69, 23, 49
|
||||
goggles
|
||||
bounds: 167, 64, 131, 83
|
||||
gun
|
||||
bounds: 300, 45, 105, 102
|
||||
head
|
||||
bounds: 29, 76, 136, 149
|
||||
hoverboard-board
|
||||
bounds: 167, 149, 246, 76
|
||||
hoverboard-thruster
|
||||
bounds: 674, 8, 30, 32
|
||||
hoverglow-small
|
||||
bounds: 813, 60, 137, 38
|
||||
mouth-grind
|
||||
bounds: 416, 13, 47, 30
|
||||
mouth-oooo
|
||||
bounds: 367, 13, 47, 30
|
||||
mouth-smile
|
||||
bounds: 318, 13, 47, 30
|
||||
muzzle-glow
|
||||
bounds: 706, 15, 25, 25
|
||||
muzzle-ring
|
||||
bounds: 2, 120, 25, 105
|
||||
muzzle01
|
||||
bounds: 554, 50, 67, 40
|
||||
muzzle02
|
||||
bounds: 484, 48, 68, 42
|
||||
muzzle03
|
||||
bounds: 685, 42, 83, 53
|
||||
muzzle04
|
||||
bounds: 407, 45, 75, 45
|
||||
muzzle05
|
||||
bounds: 2, 36, 68, 38
|
||||
neck
|
||||
bounds: 2, 97, 18, 21
|
||||
portal-bg
|
||||
bounds: 550, 92, 133, 133
|
||||
portal-flare1
|
||||
bounds: 484, 16, 56, 30
|
||||
portal-flare2
|
||||
bounds: 810, 27, 57, 31
|
||||
portal-flare3
|
||||
bounds: 869, 28, 58, 30
|
||||
portal-shade
|
||||
bounds: 415, 92, 133, 133
|
||||
portal-streaks1
|
||||
bounds: 685, 97, 126, 128
|
||||
portal-streaks2
|
||||
bounds: 813, 100, 125, 125
|
||||
rear-bracer
|
||||
bounds: 644, 7, 28, 36
|
||||
rear-foot
|
||||
bounds: 554, 18, 57, 30
|
||||
rear-shin
|
||||
bounds: 770, 6, 38, 89
|
||||
rear-thigh
|
||||
bounds: 991, 178, 28, 47
|
||||
rear-upper-arm
|
||||
bounds: 995, 23, 20, 44
|
||||
torso
|
||||
bounds: 940, 135, 49, 90
|
||||
16
docs/museums/spine/assets/spineboy/spineboy.atlas.import
Normal file
16
docs/museums/spine/assets/spineboy/spineboy.atlas.import
Normal file
@@ -0,0 +1,16 @@
|
||||
[remap]
|
||||
|
||||
importer="spine.atlas"
|
||||
type="SpineAtlasResource"
|
||||
uid="uid://dt2kctrit34y0"
|
||||
path="res://.godot/imported/spineboy.atlas-8bfc5686ae8068db3bf52dbbb2cc68da.spatlas"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/spineboy/spineboy.atlas"
|
||||
dest_files=["res://.godot/imported/spineboy.atlas-8bfc5686ae8068db3bf52dbbb2cc68da.spatlas"]
|
||||
|
||||
[params]
|
||||
|
||||
normal_map_prefix="n"
|
||||
specular_map_prefix="s"
|
||||
BIN
docs/museums/spine/assets/spineboy/spineboy.png
Normal file
BIN
docs/museums/spine/assets/spineboy/spineboy.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 237 KiB |
40
docs/museums/spine/assets/spineboy/spineboy.png.import
Normal file
40
docs/museums/spine/assets/spineboy/spineboy.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bh5imhdfuc6m0"
|
||||
path="res://.godot/imported/spineboy.png-3004ea4fcbc3577c90e3ea6fd7e9517f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://docs/museums/spine/assets/spineboy/spineboy.png"
|
||||
dest_files=["res://.godot/imported/spineboy.png-3004ea4fcbc3577c90e3ea6fd7e9517f.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
|
||||
7
docs/museums/spine/default_env.tres
Normal file
7
docs/museums/spine/default_env.tres
Normal file
@@ -0,0 +1,7 @@
|
||||
[gd_resource type="Environment" load_steps=2 format=2]
|
||||
|
||||
[sub_resource type="ProceduralSky" id=1]
|
||||
|
||||
[resource]
|
||||
background_mode = 2
|
||||
background_sky = SubResource( 1 )
|
||||
17
docs/museums/spine/examples/01-helloworld/helloworld.tscn
Normal file
17
docs/museums/spine/examples/01-helloworld/helloworld.tscn
Normal file
@@ -0,0 +1,17 @@
|
||||
[gd_scene format=3 uid="uid://d0v5rhv2ysej8"]
|
||||
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://docs/museums/spine/assets/spineboy/spineboy-data-res.tres" id="3"]
|
||||
|
||||
[node name="Node2D" type="Node2D" unique_id=1221230663]
|
||||
|
||||
[node name="Spineboy" type="SpineSprite" parent="." unique_id=538013976]
|
||||
skeleton_data_res = ExtResource("3")
|
||||
bones_color = Color(0.968627, 1, 0, 0.501961)
|
||||
paths_color = Color(1, 0.498039, 0, 0.466667)
|
||||
paths_clipping = Color(0.8, 0, 0, 0.5)
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
position = Vector2(505, 466)
|
||||
scale = Vector2(0.466832, 0.466832)
|
||||
@@ -0,0 +1,4 @@
|
||||
extends SpineSprite
|
||||
|
||||
func _ready():
|
||||
get_animation_state().set_animation("walk", true, 0)
|
||||
@@ -0,0 +1 @@
|
||||
uid://bqoowjvbanswg
|
||||
@@ -0,0 +1,39 @@
|
||||
extends Node2D
|
||||
|
||||
@onready var footstep_audio: AudioStreamPlayer = $FootstepAudio
|
||||
|
||||
func _animation_started(sprite: SpineSprite, animation_state: SpineAnimationState, track_entry: SpineTrackEntry):
|
||||
print("Animation started: " + track_entry.get_animation().get_name())
|
||||
|
||||
func _animation_interrupted(sprite: SpineSprite, animation_state: SpineAnimationState, track_entry: SpineTrackEntry):
|
||||
print("Animation interrupted: " + track_entry.get_animation().get_name())
|
||||
|
||||
func _animation_ended(sprite: SpineSprite, animation_state: SpineAnimationState, track_entry: SpineTrackEntry):
|
||||
print("Animation ended: " + track_entry.get_animation().get_name())
|
||||
|
||||
func _animation_completed(sprite: SpineSprite, animation_state: SpineAnimationState, track_entry: SpineTrackEntry):
|
||||
print("Animation completed: " + track_entry.get_animation().get_name())
|
||||
|
||||
func _animation_disposed(sprite: SpineSprite, animation_state: SpineAnimationState, track_entry: SpineTrackEntry):
|
||||
print("Animation disposed: " + track_entry.get_animation().get_name())
|
||||
|
||||
func _animation_event(sprite: SpineSprite, animation_state: SpineAnimationState, track_entry: SpineTrackEntry, event: SpineEvent):
|
||||
print("Animation event: " + track_entry.get_animation().get_name() + ", " + event.get_data().get_event_name())
|
||||
if (event.get_data().get_event_name() == "footstep"):
|
||||
footstep_audio.play()
|
||||
|
||||
func _ready():
|
||||
var spineboy = $Spineboy
|
||||
spineboy.animation_started.connect(_animation_started)
|
||||
spineboy.animation_interrupted.connect(_animation_interrupted)
|
||||
spineboy.animation_ended.connect(_animation_ended)
|
||||
spineboy.animation_completed.connect(_animation_completed)
|
||||
spineboy.animation_disposed.connect(_animation_disposed)
|
||||
spineboy.animation_event.connect(_animation_event)
|
||||
|
||||
var animation_state = spineboy.get_animation_state()
|
||||
animation_state.set_animation("jump", false, 0)
|
||||
animation_state.add_animation("walk", 0, true, 0)
|
||||
animation_state.add_animation("run", 2, true, 0)
|
||||
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
uid://y8pd4giv7cmt
|
||||
@@ -0,0 +1,18 @@
|
||||
[gd_scene format=3 uid="uid://c738i3nbdkn0h"]
|
||||
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://docs/museums/spine/assets/spineboy/spineboy-data-res.tres" id="2"]
|
||||
[ext_resource type="AudioStream" uid="uid://can7k84o8svum" path="res://docs/museums/spine/assets/footstep.ogg" id="3"]
|
||||
|
||||
[node name="Node2D" type="Node2D" unique_id=1601974791]
|
||||
|
||||
[node name="Spineboy" type="SpineSprite" parent="." unique_id=1213124179]
|
||||
skeleton_data_res = ExtResource("2")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
position = Vector2(473, 487)
|
||||
scale = Vector2(0.575051, 0.575051)
|
||||
|
||||
[node name="FootstepAudio" type="AudioStreamPlayer" parent="." unique_id=282578071]
|
||||
stream = ExtResource("3")
|
||||
@@ -0,0 +1,22 @@
|
||||
extends SpineSprite
|
||||
|
||||
func _ready():
|
||||
var data = get_skeleton().get_data()
|
||||
var custom_skin = new_skin("custom-skin")
|
||||
var skin_base = data.find_skin("skin-base")
|
||||
custom_skin.add_skin(skin_base)
|
||||
custom_skin.add_skin(data.find_skin("nose/short"))
|
||||
custom_skin.add_skin(data.find_skin("eyelids/girly"))
|
||||
custom_skin.add_skin(data.find_skin("eyes/violet"))
|
||||
custom_skin.add_skin(data.find_skin("hair/brown"))
|
||||
custom_skin.add_skin(data.find_skin("clothes/hoodie-orange"))
|
||||
custom_skin.add_skin(data.find_skin("legs/pants-jeans"))
|
||||
custom_skin.add_skin(data.find_skin("accessories/bag"))
|
||||
custom_skin.add_skin(data.find_skin("accessories/hat-red-yellow"))
|
||||
get_skeleton().set_skin(custom_skin);
|
||||
|
||||
for el in custom_skin.get_attachments():
|
||||
var entry: SpineSkinEntry = el
|
||||
print(str(entry.get_slot_index()) + " " + entry.get_name())
|
||||
|
||||
get_animation_state().set_animation("dance", true, 0)
|
||||
@@ -0,0 +1 @@
|
||||
uid://cgv3vry706p84
|
||||
@@ -0,0 +1,16 @@
|
||||
[gd_scene format=3 uid="uid://dodvuj07fsynd"]
|
||||
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://btsqcvy7c5y8x" path="res://docs/museums/spine/assets/mix-and-match/mix-and-match-data.tres" id="2"]
|
||||
[ext_resource type="Script" uid="uid://cgv3vry706p84" path="res://docs/museums/spine/examples/03-mix-and-match/mix-and-match.gd" id="2_clsj7"]
|
||||
|
||||
[node name="Node2D" type="Node2D" unique_id=2006583665]
|
||||
|
||||
[node name="MixAndMatch" type="SpineSprite" parent="." unique_id=1522896059]
|
||||
skeleton_data_res = ExtResource("2")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
position = Vector2(532.982, 480.287)
|
||||
scale = Vector2(0.441932, 0.441932)
|
||||
script = ExtResource("2_clsj7")
|
||||
@@ -0,0 +1,16 @@
|
||||
[gd_scene format=3 uid="uid://bgdpghp11j3kg"]
|
||||
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://docs/museums/spine/assets/spineboy/spineboy-data-res.tres" id="1"]
|
||||
[ext_resource type="Script" uid="uid://djgow48y0sfrs" path="res://docs/museums/spine/examples/04-simple-input/spineboy-simple-input.gd" id="2_nao5a"]
|
||||
|
||||
[node name="Node2D" type="Node2D" unique_id=674511270]
|
||||
|
||||
[node name="Spineboy" type="SpineSprite" parent="." unique_id=1820819420]
|
||||
skeleton_data_res = ExtResource("1")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
position = Vector2(501.503, 472.035)
|
||||
scale = Vector2(0.518624, 0.518624)
|
||||
script = ExtResource("2_nao5a")
|
||||
@@ -0,0 +1,19 @@
|
||||
extends SpineSprite
|
||||
|
||||
func _ready():
|
||||
get_animation_state().set_animation("idle", true, 0)
|
||||
|
||||
func _process(_delta):
|
||||
if Input.is_action_just_pressed("ui_left"):
|
||||
get_animation_state().set_animation("run", true, 0)
|
||||
get_skeleton().set_scale_x(-1)
|
||||
|
||||
if Input.is_action_just_released("ui_left"):
|
||||
get_animation_state().set_animation("idle", true, 0)
|
||||
|
||||
if (Input.is_action_just_pressed("ui_right")):
|
||||
get_animation_state().set_animation("run", true, 0)
|
||||
get_skeleton().set_scale_x(1)
|
||||
|
||||
if Input.is_action_just_released("ui_right"):
|
||||
get_animation_state().set_animation("idle", true, 0)
|
||||
@@ -0,0 +1 @@
|
||||
uid://djgow48y0sfrs
|
||||
@@ -0,0 +1,11 @@
|
||||
extends Node2D
|
||||
|
||||
@onready var spineboy: SpineSprite = $Spineboy
|
||||
@onready var crosshair_bone: SpineBoneNode = $Spineboy/CrosshairBone
|
||||
|
||||
func _ready():
|
||||
spineboy.get_animation_state().set_animation("walk", true, 0)
|
||||
spineboy.get_animation_state().set_animation("aim", true, 1)
|
||||
|
||||
func _process(_delta):
|
||||
crosshair_bone.global_position = get_viewport().get_mouse_position()
|
||||
@@ -0,0 +1 @@
|
||||
uid://d0elhdqlsl71d
|
||||
@@ -0,0 +1,23 @@
|
||||
[gd_scene format=3 uid="uid://borp2l17n5xw1"]
|
||||
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://docs/museums/spine/assets/spineboy/spineboy-data-res.tres" id="2"]
|
||||
[ext_resource type="Script" uid="uid://d0elhdqlsl71d" path="res://docs/museums/spine/examples/05-mouse-following/mouse-following.gd" id="2_34rgh"]
|
||||
|
||||
[node name="Node2D" type="Node2D" unique_id=1482411552]
|
||||
script = ExtResource("2_34rgh")
|
||||
|
||||
[node name="Spineboy" type="SpineSprite" parent="." unique_id=1478267410]
|
||||
skeleton_data_res = ExtResource("2")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
position = Vector2(147, 493)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
|
||||
[node name="CrosshairBone" type="SpineBoneNode" parent="Spineboy" unique_id=292478074]
|
||||
bone_mode = 1
|
||||
bone_name = "crosshair"
|
||||
show_behind_parent = true
|
||||
position = Vector2(302.333, -569.714)
|
||||
rotation = -0.000872665
|
||||
@@ -0,0 +1,5 @@
|
||||
extends Node2D
|
||||
|
||||
func _ready():
|
||||
var spineboy: SpineSprite = $Spineboy
|
||||
spineboy.get_animation_state().set_animation("walk", true, 0)
|
||||
@@ -0,0 +1 @@
|
||||
uid://jn3m3i55x7gg
|
||||
@@ -0,0 +1,27 @@
|
||||
[gd_scene format=3 uid="uid://bir7yvf0qwdge"]
|
||||
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://docs/museums/spine/assets/spineboy/spineboy-data-res.tres" id="1"]
|
||||
[ext_resource type="Script" uid="uid://jn3m3i55x7gg" path="res://docs/museums/spine/examples/06-bone-following/bone-following.gd" id="2"]
|
||||
[ext_resource type="Texture2D" uid="uid://dooue2ov32xt3" path="res://icon.svg" id="3"]
|
||||
|
||||
[node name="Node2D" type="Node2D" unique_id=965182892]
|
||||
script = ExtResource("2")
|
||||
|
||||
[node name="Spineboy" type="SpineSprite" parent="." unique_id=2084711622]
|
||||
skeleton_data_res = ExtResource("1")
|
||||
preview_skin = "Default"
|
||||
preview_animation = ""
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
position = Vector2(478, 483)
|
||||
scale = Vector2(0.58461, 0.58461)
|
||||
|
||||
[node name="GunTipBone" type="SpineBoneNode" parent="Spineboy" unique_id=1826381494]
|
||||
bone_name = "gun-tip"
|
||||
show_behind_parent = true
|
||||
position = Vector2(214.34015, -162.08942)
|
||||
rotation = 0.7131082
|
||||
scale = Vector2(0.9999999, -1.0000001)
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="Spineboy/GunTipBone" unique_id=2083405906]
|
||||
texture = ExtResource("3")
|
||||
11
docs/museums/spine/examples/07-slot-node/slot-node.gd
Normal file
11
docs/museums/spine/examples/07-slot-node/slot-node.gd
Normal file
@@ -0,0 +1,11 @@
|
||||
extends Node2D
|
||||
|
||||
@onready var spineboy: SpineSprite = $Spineboy
|
||||
@onready var raptor: SpineSprite = $Spineboy/GunSlot/Raptor
|
||||
@onready var tiny_spineboy: SpineSprite = $Spineboy/FrontFistSlot/TinySpineboy
|
||||
|
||||
func _ready():
|
||||
var entry = spineboy.get_animation_state().set_animation("run", true, 0)
|
||||
entry.set_time_scale(0.1)
|
||||
raptor.get_animation_state().set_animation("walk", true, 0)
|
||||
tiny_spineboy.get_animation_state().set_animation("walk", true, 0)
|
||||
@@ -0,0 +1 @@
|
||||
uid://cyqbvgy3ak4v6
|
||||
59
docs/museums/spine/examples/07-slot-node/slot-node.tscn
Normal file
59
docs/museums/spine/examples/07-slot-node/slot-node.tscn
Normal file
@@ -0,0 +1,59 @@
|
||||
[gd_scene format=3 uid="uid://bhht8dees2pyq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cyqbvgy3ak4v6" path="res://docs/museums/spine/examples/07-slot-node/slot-node.gd" id="1"]
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://docs/museums/spine/assets/spineboy/spineboy-data-res.tres" id="2"]
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://c53t4xfil8g8g" path="res://docs/museums/spine/assets/raptor/raptor-data.tres" id="3"]
|
||||
[ext_resource type="Texture2D" uid="uid://dooue2ov32xt3" path="res://icon.svg" id="4"]
|
||||
|
||||
[node name="Node2D" type="Node2D" unique_id=1053987390]
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Spineboy" type="SpineSprite" parent="." unique_id=1493770367]
|
||||
skeleton_data_res = ExtResource("2")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
position = Vector2(474, 506)
|
||||
scale = Vector2(0.560712, 0.560712)
|
||||
|
||||
[node name="GunSlot" type="SpineSlotNode" parent="Spineboy" unique_id=1904042535]
|
||||
slot_name = "gun"
|
||||
show_behind_parent = true
|
||||
position = Vector2(40.8752, -276.036)
|
||||
rotation = 0.837234
|
||||
|
||||
[node name="Raptor" type="SpineSprite" parent="Spineboy/GunSlot" unique_id=37242989]
|
||||
skeleton_data_res = ExtResource("3")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
position = Vector2(84.6909, -67.9174)
|
||||
scale = Vector2(0.193472, 0.193472)
|
||||
|
||||
[node name="EyeSlot" type="SpineSlotNode" parent="Spineboy" unique_id=258812187]
|
||||
slot_name = "eye"
|
||||
show_behind_parent = true
|
||||
position = Vector2(-23.4598, -402.301)
|
||||
rotation = -1.71793
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="Spineboy/EyeSlot" unique_id=188427405]
|
||||
position = Vector2(84.4734, 43.4469)
|
||||
rotation = 1.66344
|
||||
texture = ExtResource("4")
|
||||
|
||||
[node name="FrontFistSlot" type="SpineSlotNode" parent="Spineboy" unique_id=171733589]
|
||||
slot_name = "front-fist"
|
||||
show_behind_parent = true
|
||||
position = Vector2(-29.0298, -241.577)
|
||||
rotation = 0.995187
|
||||
|
||||
[node name="TinySpineboy" type="SpineSprite" parent="Spineboy/FrontFistSlot" unique_id=1500136576]
|
||||
skeleton_data_res = ExtResource("2")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
position = Vector2(-2.64624, -10.8111)
|
||||
scale = Vector2(0.193389, 0.193389)
|
||||
@@ -0,0 +1,33 @@
|
||||
extends Node2D
|
||||
|
||||
@onready var player = $AnimationPlayer
|
||||
@onready var spineboy = $Spineboy
|
||||
|
||||
var speed = 400;
|
||||
var velocity_x = 0;
|
||||
|
||||
func _ready():
|
||||
player.play("cutscene")
|
||||
pass
|
||||
|
||||
func _process(delta):
|
||||
if (!player.is_playing()):
|
||||
if Input.is_action_just_released("ui_left"):
|
||||
spineboy.get_animation_state().set_animation("idle", true, 0)
|
||||
velocity_x = 0
|
||||
|
||||
if Input.is_action_just_released("ui_right"):
|
||||
spineboy.get_animation_state().set_animation("idle", true, 0)
|
||||
velocity_x = 0
|
||||
|
||||
if (Input.is_action_just_pressed("ui_right")):
|
||||
spineboy.get_animation_state().set_animation("run", true, 0)
|
||||
spineboy.get_skeleton().set_scale_x(1)
|
||||
velocity_x = 1
|
||||
|
||||
if Input.is_action_just_pressed("ui_left"):
|
||||
spineboy.get_animation_state().set_animation("run", true, 0)
|
||||
spineboy.get_skeleton().set_scale_x(-1)
|
||||
velocity_x = -1
|
||||
|
||||
spineboy.position.x += velocity_x * speed * delta
|
||||
@@ -0,0 +1 @@
|
||||
uid://dq4tj8mk4vpqh
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,44 @@
|
||||
[gd_scene format=3 uid="uid://b4p2vn7bwm52a"]
|
||||
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://docs/museums/spine/assets/spineboy/spineboy-data-res.tres" id="1"]
|
||||
|
||||
[sub_resource type="Shader" id="1"]
|
||||
code = "shader_type canvas_item;
|
||||
|
||||
void fragment() {
|
||||
COLOR = texture(TEXTURE, UV);
|
||||
COLOR.r = 0.0;
|
||||
}"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="2"]
|
||||
shader = SubResource("1")
|
||||
|
||||
[sub_resource type="Shader" id="3"]
|
||||
code = "shader_type canvas_item;
|
||||
|
||||
void fragment() {
|
||||
COLOR = texture(TEXTURE, UV);
|
||||
COLOR.b = 0.0;
|
||||
}"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="4"]
|
||||
shader = SubResource("3")
|
||||
|
||||
[node name="Node2D" type="Node2D" unique_id=128822378]
|
||||
|
||||
[node name="SpineSprite" type="SpineSprite" parent="." unique_id=1332652767]
|
||||
skeleton_data_res = ExtResource("1")
|
||||
normal_material = SubResource("2")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
position = Vector2(501, 507)
|
||||
scale = Vector2(0.546374, 0.546373)
|
||||
|
||||
[node name="GunSlot" type="SpineSlotNode" parent="SpineSprite" unique_id=1275601575]
|
||||
normal_material = SubResource("4")
|
||||
slot_name = "gun"
|
||||
show_behind_parent = true
|
||||
position = Vector2(40.8753, -276.036)
|
||||
rotation = 0.837234
|
||||
@@ -0,0 +1,4 @@
|
||||
extends Node2D
|
||||
|
||||
func _ready():
|
||||
$SpineSprite.get_animation_state().set_animation("walk");
|
||||
@@ -0,0 +1 @@
|
||||
uid://dhqla6kxkv0ce
|
||||
27
docs/museums/spine/examples/10-2d-lighting/2d-lighting.tscn
Normal file
27
docs/museums/spine/examples/10-2d-lighting/2d-lighting.tscn
Normal file
@@ -0,0 +1,27 @@
|
||||
[gd_scene format=3 uid="uid://rt2llskmx7xm"]
|
||||
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://c53t4xfil8g8g" path="res://docs/museums/spine/assets/raptor/raptor-data.tres" id="1"]
|
||||
[ext_resource type="Texture2D" uid="uid://cggfs567rn1ay" path="res://docs/museums/spine/assets/raptor/light-sprite.png" id="2"]
|
||||
[ext_resource type="Script" uid="uid://dhqla6kxkv0ce" path="res://docs/museums/spine/examples/10-2d-lighting/2d-lighting.gd" id="3"]
|
||||
|
||||
[node name="Node2D" type="Node2D" unique_id=1849486266]
|
||||
script = ExtResource("3")
|
||||
|
||||
[node name="SpineSprite" type="SpineSprite" parent="." unique_id=967171539]
|
||||
skeleton_data_res = ExtResource("1")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
position = Vector2(576, 506)
|
||||
scale = Vector2(0.458967, 0.458967)
|
||||
|
||||
[node name="Light2D" type="PointLight2D" parent="." unique_id=447652711]
|
||||
position = Vector2(691, 283)
|
||||
scale = Vector2(1.51563, 1.51563)
|
||||
color = Color(1, 0.0117647, 0.0117647, 1)
|
||||
texture = ExtResource("2")
|
||||
height = 100.0
|
||||
|
||||
[node name="CanvasModulate" type="CanvasModulate" parent="." unique_id=1888774714]
|
||||
color = Color(0.223529, 0.160784, 0.160784, 1)
|
||||
26
docs/museums/spine/examples/11-bone-node/bone-node.gd
Normal file
26
docs/museums/spine/examples/11-bone-node/bone-node.gd
Normal file
@@ -0,0 +1,26 @@
|
||||
extends Node2D
|
||||
|
||||
@onready var spineboy = $SpineSprite
|
||||
@onready var center_bone = $SpineSprite/HoverboardCenterBone
|
||||
@onready var center_ray = $SpineSprite/HoverboardCenterBone/CenterRay
|
||||
@onready var target_bone = $SpineSprite/HoverboardTargetBone
|
||||
@onready var target_ray = $SpineSprite/HoverboardTargetBone/TargetRay
|
||||
@onready var hip_bone = $SpineSprite/HipBone
|
||||
var center_hip_distance = 0
|
||||
|
||||
func _ready():
|
||||
spineboy.get_animation_state().set_animation("hoverboard", true, 0)
|
||||
spineboy.update_skeleton(0);
|
||||
center_hip_distance = hip_bone.global_position.y - center_bone.global_position.y
|
||||
|
||||
func _physics_process(delta):
|
||||
if target_ray.is_colliding():
|
||||
target_bone.global_position.y = target_ray.get_collision_point().y - 30
|
||||
|
||||
if center_ray.is_colliding():
|
||||
center_bone.global_position.y = center_ray.get_collision_point().y - 30
|
||||
|
||||
if abs(hip_bone.global_position.y - center_bone.global_position.y) - abs(center_hip_distance) < 20:
|
||||
hip_bone.global_position.y = center_bone.global_position.y + center_hip_distance
|
||||
|
||||
spineboy.global_position.x += delta * 150;
|
||||
@@ -0,0 +1 @@
|
||||
uid://dpp8doijia0ii
|
||||
53
docs/museums/spine/examples/11-bone-node/bone-node.tscn
Normal file
53
docs/museums/spine/examples/11-bone-node/bone-node.tscn
Normal file
@@ -0,0 +1,53 @@
|
||||
[gd_scene format=3 uid="uid://chrw4i0nksphn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dpp8doijia0ii" path="res://docs/museums/spine/examples/11-bone-node/bone-node.gd" id="1"]
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://docs/museums/spine/assets/spineboy/spineboy-data-res.tres" id="2"]
|
||||
|
||||
[node name="Node2D" type="Node2D" unique_id=367328645]
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="SpineSprite" type="SpineSprite" parent="." unique_id=1148185683]
|
||||
skeleton_data_res = ExtResource("2")
|
||||
update_mode = 1
|
||||
preview_skin = "Default"
|
||||
preview_animation = "hoverboard"
|
||||
preview_frame = true
|
||||
preview_time = 0.0
|
||||
position = Vector2(13, 569)
|
||||
scale = Vector2(0.278096, 0.278096)
|
||||
|
||||
[node name="HoverboardCenterBone" type="SpineBoneNode" parent="SpineSprite" unique_id=727054300]
|
||||
bone_mode = 1
|
||||
bone_name = "hoverboard-controller"
|
||||
show_behind_parent = true
|
||||
position = Vector2(-10.1996, -68.2213)
|
||||
rotation = -0.00403465
|
||||
|
||||
[node name="CenterRay" type="RayCast2D" parent="SpineSprite/HoverboardCenterBone" unique_id=1808453320]
|
||||
target_position = Vector2(0, 10000)
|
||||
|
||||
[node name="HoverboardTargetBone" type="SpineBoneNode" parent="SpineSprite" unique_id=1807276564]
|
||||
bone_mode = 1
|
||||
bone_name = "board-ik"
|
||||
show_behind_parent = true
|
||||
position = Vector2(258.903, -71.9176)
|
||||
rotation = -0.000872665
|
||||
|
||||
[node name="TargetRay" type="RayCast2D" parent="SpineSprite/HoverboardTargetBone" unique_id=1417066321]
|
||||
position = Vector2(-3.59872, 3.59277)
|
||||
target_position = Vector2(0, 10000)
|
||||
|
||||
[node name="HipBone" type="SpineBoneNode" parent="SpineSprite" unique_id=1093270661]
|
||||
bone_mode = 1
|
||||
bone_name = "hip"
|
||||
show_behind_parent = true
|
||||
position = Vector2(-53.7338, -279.363)
|
||||
rotation = -0.000872665
|
||||
|
||||
[node name="Polygon2D" type="Polygon2D" parent="." unique_id=877226877]
|
||||
polygon = PackedVector2Array(0, 596, 309, 471, 516, 515, 762, 447, 984, 504, 1023, 505, 1024, 596)
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="Polygon2D" unique_id=114416425]
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Polygon2D/StaticBody2D" unique_id=1562584718]
|
||||
polygon = PackedVector2Array(3, 592, 304, 469, 516, 514, 762, 443, 984, 499, 1252, 498, 1280, 596)
|
||||
32
docs/museums/spine/examples/12-physics/physics.gd
Normal file
32
docs/museums/spine/examples/12-physics/physics.gd
Normal file
@@ -0,0 +1,32 @@
|
||||
extends Node2D
|
||||
|
||||
@onready var celestial_circus: SpineSprite = $"celestial-circus"
|
||||
|
||||
var last_x = -1
|
||||
var last_y = -1
|
||||
var isMouseOver = false
|
||||
|
||||
func _ready():
|
||||
celestial_circus.get_animation_state().set_animation("wind-idle", true, 0)
|
||||
celestial_circus.get_animation_state().set_animation("eyeblink-long", true, 1)
|
||||
celestial_circus.get_animation_state().set_animation("stars", true, 2)
|
||||
|
||||
func _process(_delta):
|
||||
if (Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT) and isMouseOver):
|
||||
var pos = get_viewport().get_mouse_position()
|
||||
if (last_x != -1):
|
||||
var dx = pos.x - last_x
|
||||
var dy = pos.y - last_y
|
||||
celestial_circus.global_position += Vector2(dx, dy)
|
||||
celestial_circus.get_skeleton().physics_translate(dx * 1 / celestial_circus.scale.x, dy * 1 / celestial_circus.scale.y)
|
||||
last_x = pos.x
|
||||
last_y = pos.y
|
||||
else:
|
||||
last_x = -1
|
||||
last_y = -1
|
||||
|
||||
func _on_area_2d_mouse_entered():
|
||||
isMouseOver = true
|
||||
|
||||
func _on_area_2d_mouse_exited():
|
||||
isMouseOver = false
|
||||
1
docs/museums/spine/examples/12-physics/physics.gd.uid
Normal file
1
docs/museums/spine/examples/12-physics/physics.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://0uo0citk3n4f
|
||||
31
docs/museums/spine/examples/12-physics/physics.tscn
Normal file
31
docs/museums/spine/examples/12-physics/physics.tscn
Normal file
@@ -0,0 +1,31 @@
|
||||
[gd_scene format=3 uid="uid://re2mg31p3vln"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://0uo0citk3n4f" path="res://docs/museums/spine/examples/12-physics/physics.gd" id="1_7guqn"]
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://d1ordmjpe5kt7" path="res://docs/museums/spine/assets/celestial-circus/celestial-circus-data.tres" id="2_t2blj"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_do8w3"]
|
||||
size = Vector2(270, 573)
|
||||
|
||||
[node name="Node2D" type="Node2D" unique_id=165002328]
|
||||
script = ExtResource("1_7guqn")
|
||||
|
||||
[node name="celestial-circus" type="SpineSprite" parent="." unique_id=2141137119]
|
||||
skeleton_data_res = ExtResource("2_t2blj")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
position = Vector2(600, 485)
|
||||
scale = Vector2(0.25, 0.25)
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="celestial-circus" unique_id=525144279]
|
||||
show_behind_parent = true
|
||||
scale = Vector2(4, 4)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="celestial-circus/Area2D" unique_id=1673342862]
|
||||
show_behind_parent = true
|
||||
position = Vector2(0, -158.5)
|
||||
shape = SubResource("RectangleShape2D_do8w3")
|
||||
|
||||
[connection signal="mouse_entered" from="celestial-circus/Area2D" to="." method="_on_area_2d_mouse_entered"]
|
||||
[connection signal="mouse_exited" from="celestial-circus/Area2D" to="." method="_on_area_2d_mouse_exited"]
|
||||
@@ -0,0 +1,6 @@
|
||||
[gd_scene format=3 uid="uid://dr1u7vj8mm6ed"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cvtny4hsitjbo" path="res://docs/museums/spine/examples/13-load-from-disk/load_from_disk.gd" id="1_krs2n"]
|
||||
|
||||
[node name="Load-from-disk" type="Node2D" unique_id=41040463]
|
||||
script = ExtResource("1_krs2n")
|
||||
@@ -0,0 +1,24 @@
|
||||
extends Node2D
|
||||
|
||||
func _ready():
|
||||
# Load the skeleton file
|
||||
var skeleton_file_res = SpineSkeletonFileResource.new();
|
||||
skeleton_file_res.load_from_file("/Users/badlogic/workspaces/spine-runtimes/examples/coin/export/coin-pro.skel");
|
||||
|
||||
# Load the atlas file
|
||||
var atlas_res = SpineAtlasResource.new();
|
||||
atlas_res.load_from_atlas_file("/Users/badlogic/workspaces/spine-runtimes/examples/coin/export/coin.atlas");
|
||||
|
||||
# Create a skeleton data resource, you can share this across multiple sprites
|
||||
var skeleton_data_res = SpineSkeletonDataResource.new();
|
||||
skeleton_data_res.skeleton_file_res = skeleton_file_res;
|
||||
skeleton_data_res.atlas_res = atlas_res
|
||||
|
||||
# Create a sprite from the skeleton data and add it as a child
|
||||
var sprite = SpineSprite.new();
|
||||
sprite.skeleton_data_res = skeleton_data_res;
|
||||
sprite.position.x = 200;
|
||||
sprite.position.y = 200;
|
||||
sprite.get_animation_state().set_animation("animation", true, 0);
|
||||
self.add_child(sprite)
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
uid://cvtny4hsitjbo
|
||||
0
docs/zoos/.gitkeep
Normal file
0
docs/zoos/.gitkeep
Normal file
Reference in New Issue
Block a user