mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-17 04:21:39 +08:00
Merge branch '4.1' into 4.2-beta
This commit is contained in:
commit
0590c0e989
4
.github/workflows/spine-godot-v4.yml
vendored
4
.github/workflows/spine-godot-v4.yml
vendored
@ -13,8 +13,8 @@ env:
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
AWS_EC2_METADATA_DISABLED: true
|
||||
EM_VERSION: 3.1.18
|
||||
GODOT_TAG: master
|
||||
GODOT_VERSION: 4.0.beta
|
||||
GODOT_TAG: 4.0-stable
|
||||
GODOT_VERSION: 4.0.stable
|
||||
|
||||
jobs:
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# spine-godot
|
||||
|
||||
The spine-godot runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [Godot](https://godotengine.org/). spine-godot is based on [spine-cpp](../spine-cpp).
|
||||
The spine-godot runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [Godot](https://godotengine.org/) 3.5.x and 4.0.x respectively. spine-godot is based on [spine-cpp](../spine-cpp).
|
||||
|
||||
# See the [spine-godot documentation](http://esotericsoftware.com/spine-godot) for in-depth information.
|
||||
|
||||
@ -18,77 +18,4 @@ For the official legal terms governing the Spine Runtimes, please read the [Spin
|
||||
|
||||
spine-godot works with data exported from Spine 4.1.xx.
|
||||
|
||||
spine-godot supports all Spine features, except two-color tinting and the screen blend mode.
|
||||
|
||||
## Setup
|
||||
|
||||
spine-godot works with the latest stable Godot 3.5 release. It requires compilation of Godot, as spine-godot is implemented as a module.
|
||||
|
||||
> *NOTE:* spine-godot also compiles and works against Godot 4.x. However, we currently can not guarantee stability, as Godot 4.x is still heavily in flux.
|
||||
|
||||
### Pre-built Godot editor and export template binaries
|
||||
|
||||
We provide prebuilt Godot editor and export template binaries for Godot 3.5.1-stable:
|
||||
|
||||
* [Godot Editor Windows](https://spine-godot.s3.eu-central-1.amazonaws.com/4.1/3.5.1-stable/godot-editor-windows.zip)
|
||||
* [Godot Editor Linux](https://spine-godot.s3.eu-central-1.amazonaws.com/4.1/3.5.1-stable/godot-editor-linux.zip)
|
||||
* [Godot Editor macOS](https://spine-godot.s3.eu-central-1.amazonaws.com/4.1/3.5.1-stable/godot-editor-macos.zip)
|
||||
* [Godot export templates for Windows, Linux, macOS, Web, Android, iOS](https://spine-godot.s3.eu-central-1.amazonaws.com/4.1/3.5.1-stable/spine-godot-templates-4.1-3.5-stable.tpz)
|
||||
|
||||
We also provide prebuilt Godot editor and export template binaries for the Godot master branch:
|
||||
|
||||
* [Godot 4.0 Editor Windows](https://spine-godot.s3.eu-central-1.amazonaws.com/4.1/master/godot-editor-windows.zip)
|
||||
* [Godot 4.0 Editor Linux](https://spine-godot.s3.eu-central-1.amazonaws.com/4.1/master/godot-editor-linux.zip)
|
||||
* [Godot 4.0 Editor macOS](https://spine-godot.s3.eu-central-1.amazonaws.com/4.1/master/godot-editor-macos.zip)
|
||||
* [Godot 4.0 Export templates for Windows, Linux, macOS, Web, Android, iOS](https://spine-godot.s3.eu-central-1.amazonaws.com/4.1/master/spine-godot-templates-4.1-master.tpz)
|
||||
|
||||
Note that Godot 4.0 is unstable. Use Godot 3.5.1 for production for now.
|
||||
|
||||
### Building the Godot editor and export templates locally
|
||||
|
||||
If you want to build the Godot editor and export templates yourself, either because you want to add custom engine modules or for engine development, you can use the shell scripts in the `spine-godot/build` folder.
|
||||
|
||||
> *NOTE:* Make sure you have all build dependencies installed before attempting this, as per the [official instructions by Godot](https://docs.godotengine.org/en/stable/development/compiling/index.html).
|
||||
|
||||
To build a Godot editor binary, run the following in a Bash shell (use Git Bash on Windows):
|
||||
|
||||
```
|
||||
cd spine-godot
|
||||
./build/setup.sh 3.4.4-stable false
|
||||
./build/build.sh release_debug
|
||||
```
|
||||
|
||||
The first argument to `setup.sh` is the Godot repository branch or commit hash you want to build the Godot editor from. The second argument specifies whether you want to compile the editor for development, which will include support for Live++ on Windows, and disable many modules so compilation is faster.
|
||||
|
||||
The first argument to `build.sh` specifies the optimization level of the resulting binary. Supported values are `debug`, which allows full debugging but may be slow due to missing optimizations, and `release_debug`, which is generally used for release builds of the Godot editor.
|
||||
|
||||
The resulting Godot editor binary can then be found in `spine-godot/godot/bin`.
|
||||
|
||||
To build the export template for a specific platform, run the following in a Bash shell (use Git Bash on Windows):
|
||||
|
||||
```
|
||||
cd spine-godot
|
||||
./build/setup.sh 3.5-stable false
|
||||
./build/build-templates.sh windows
|
||||
```
|
||||
|
||||
The first argument to `setup.sh` is the Godot repository branch or commit hash you want to build the Godot editor from. The second argument must be `false`.
|
||||
|
||||
The first argument to `built-templates.sh` is the platform to compile the template for. Valid values are `windows`, `linux`, `macos`, `web`, `android`, and `ios`. Note that macOS and iOS export templates can only be build on a machine running macOS. See the [official instructions by Godot](https://docs.godotengine.org/en/stable/development/compiling/index.html).
|
||||
|
||||
The resulting Godot export template binary can then be found in `spine-godot/godot/bin`.
|
||||
|
||||
### Building the Godot editor and export templates via GitHub Actions
|
||||
This repository contains a GitHub workflow in `.github/workflows/spine-godot.yml` and `.github/workflows/spine-godot-v4.yml` that allows building all Godot editor and export template binaries through GitHub actions for Godot 3.5.x and Godot 4.0. This may be simpler than compiling these artifacts locally. To use the GitHub workflow:
|
||||
|
||||
1. Clone this repository
|
||||
2. Enable GitHub workflows on the cloned repository
|
||||
3. Manually trigger the `spine-godot` or `spine-godot-v4` workflow.
|
||||
|
||||
The resulting binaries will be attached as artifacts to a successful workflow run.
|
||||
|
||||
## Example
|
||||
Sample projects for both Godot 3.5.x and Godot 4.x are provided in the `example/` and `example-v4/` folders respectively. They illustrate all spine-godot functionality and can be opened and exported with the pre-built or custom build Godot editor and export template binaries.
|
||||
|
||||
|
||||
|
||||
spine-godot supports all Spine features, except two-color tinting and the screen blend mode.
|
||||
@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/mix-and-match.png-c2d8e28d9f2efc380ff8b95a22d
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
|
||||
@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/light-sprite.png-346e910021b52658f1de723e4c80
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
|
||||
@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/n_raptor.png-d9af68b4a56af2b4319bb485e366dc90
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
|
||||
@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/raptor.png-505be50f63fd1d0fb9175a9efbb9776c.c
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
|
||||
@ -1,20 +1,20 @@
|
||||
[gd_resource type="SpineSkeletonDataResource" load_steps=5 format=2]
|
||||
[gd_resource type="SpineSkeletonDataResource" load_steps=5 format=3 uid="uid://cb6rn6vonqbx0"]
|
||||
|
||||
[ext_resource path="res://assets/spineboy/spineboy.atlas" type="SpineAtlasResource" id=1]
|
||||
[ext_resource path="res://assets/spineboy/spineboy-pro.spine-json" type="SpineSkeletonFileResource" id=2]
|
||||
[ext_resource type="SpineAtlasResource" uid="uid://dt2kctrit34y0" path="res://assets/spineboy/spineboy.atlas" id="1"]
|
||||
[ext_resource type="SpineSkeletonFileResource" uid="uid://bngulrxfavqyn" path="res://assets/spineboy/spineboy-pro.spine-json" id="2"]
|
||||
|
||||
[sub_resource type="SpineAnimationMix" id=1]
|
||||
[sub_resource type="SpineAnimationMix" id="1"]
|
||||
from = "idle"
|
||||
to = "run"
|
||||
mix = 0.2
|
||||
|
||||
[sub_resource type="SpineAnimationMix" id=2]
|
||||
[sub_resource type="SpineAnimationMix" id="2"]
|
||||
from = "run"
|
||||
to = "idle"
|
||||
mix = 0.2
|
||||
|
||||
[resource]
|
||||
atlas_res = ExtResource( 1 )
|
||||
skeleton_file_res = ExtResource( 2 )
|
||||
atlas_res = ExtResource("1")
|
||||
skeleton_file_res = ExtResource("2")
|
||||
default_mix = 0.1
|
||||
animation_mixes = [ SubResource( 1 ), SubResource( 2 ) ]
|
||||
animation_mixes = [SubResource("1"), SubResource("2")]
|
||||
|
||||
@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/spineboy.png-436dbd6da2b707b6828ede17b7871f43
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
|
||||
@ -1,18 +1,19 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://d0v5rhv2ysej8"]
|
||||
|
||||
[ext_resource type="Script" path="res://examples/01-helloworld/spineboy-helloworld.gd" id="1"]
|
||||
[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="3"]
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="3"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
|
||||
[node name="Spineboy" type="SpineSprite" parent="."]
|
||||
position = Vector2(505, 466)
|
||||
scale = Vector2(0.466832, 0.466832)
|
||||
skeleton_data_res = ExtResource( "3" )
|
||||
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 = "run"
|
||||
preview_frame = true
|
||||
preview_time = 0.24
|
||||
script = ExtResource( "1" )
|
||||
script = ExtResource("1")
|
||||
|
||||
@ -1,19 +1,20 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://c738i3nbdkn0h"]
|
||||
|
||||
[ext_resource type="Script" path="res://examples/02-animation-state-listeners/animation-state-listeners.gd" id="1"]
|
||||
[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
|
||||
[ext_resource type="AudioStream" uid="uid://can7k84o8svum" path="res://assets/footstep.ogg" id="3"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
script = ExtResource( "1" )
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Spineboy" type="SpineSprite" parent="."]
|
||||
position = Vector2(473, 487)
|
||||
scale = Vector2(0.575051, 0.575051)
|
||||
skeleton_data_res = ExtResource( "2" )
|
||||
skeleton_data_res = ExtResource("2")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
|
||||
[node name="FootstepAudio" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( "3" )
|
||||
stream = ExtResource("3")
|
||||
|
||||
@ -8,8 +8,9 @@
|
||||
[node name="MixAndMatch" type="SpineSprite" parent="."]
|
||||
position = Vector2(532.982, 480.287)
|
||||
scale = Vector2(0.441932, 0.441932)
|
||||
skeleton_data_res = ExtResource( "1" )
|
||||
skeleton_data_res = ExtResource("1")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
script = ExtResource( "2" )
|
||||
script = ExtResource("2")
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://bgdpghp11j3kg"]
|
||||
|
||||
[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
|
||||
[ext_resource type="Script" path="res://examples/04-simple-input/spineboy-simple-input.gd" id="2"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
@ -8,8 +8,9 @@
|
||||
[node name="Spineboy" type="SpineSprite" parent="."]
|
||||
position = Vector2(501.503, 472.035)
|
||||
scale = Vector2(0.518624, 0.518624)
|
||||
skeleton_data_res = ExtResource( "1" )
|
||||
skeleton_data_res = ExtResource("1")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
script = ExtResource( "2" )
|
||||
script = ExtResource("2")
|
||||
|
||||
@ -1,15 +1,16 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://borp2l17n5xw1"]
|
||||
|
||||
[ext_resource type="Script" path="res://examples/05-mouse-following/mouse-following.gd" id="1"]
|
||||
[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
script = ExtResource( "1" )
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Spineboy" type="SpineSprite" parent="."]
|
||||
position = Vector2(481, 457)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
skeleton_data_res = ExtResource( "2" )
|
||||
skeleton_data_res = ExtResource("2")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
|
||||
@ -1,16 +1,17 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://bir7yvf0qwdge"]
|
||||
|
||||
[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
|
||||
[ext_resource type="Script" path="res://examples/06-bone-following/bone-following.gd" id="2"]
|
||||
[ext_resource type="Texture2D" uid="uid://8ud5n2ywp5ba" path="res://icon.png" id="3"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
script = ExtResource( "2" )
|
||||
script = ExtResource("2")
|
||||
|
||||
[node name="Spineboy" type="SpineSprite" parent="."]
|
||||
position = Vector2(478, 483)
|
||||
scale = Vector2(0.58461, 0.58461)
|
||||
skeleton_data_res = ExtResource( "1" )
|
||||
skeleton_data_res = ExtResource("1")
|
||||
preview_skin = "Default"
|
||||
preview_animation = ""
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
@ -19,7 +20,8 @@ preview_time = 0.0
|
||||
show_behind_parent = true
|
||||
position = Vector2(214.298, -162.047)
|
||||
rotation = 0.713316
|
||||
scale = Vector2(1, 1)
|
||||
bone_name = "gun-tip"
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="Spineboy/GunTipBone"]
|
||||
texture = ExtResource( "3" )
|
||||
texture = ExtResource("3")
|
||||
|
||||
@ -1,17 +1,18 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://bhht8dees2pyq"]
|
||||
|
||||
[ext_resource type="Script" path="res://examples/07-slot-node/slot-node.gd" id="1"]
|
||||
[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
|
||||
[ext_resource type="SpineSkeletonDataResource" path="res://assets/raptor/raptor-data.tres" id="3"]
|
||||
[ext_resource type="Texture2D" uid="uid://8ud5n2ywp5ba" path="res://icon.png" id="4"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
script = ExtResource( "1" )
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Spineboy" type="SpineSprite" parent="."]
|
||||
position = Vector2(474, 506)
|
||||
scale = Vector2(0.560712, 0.560712)
|
||||
skeleton_data_res = ExtResource( "2" )
|
||||
skeleton_data_res = ExtResource("2")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
@ -20,12 +21,14 @@ preview_time = 0.0
|
||||
show_behind_parent = true
|
||||
position = Vector2(40.8753, -276.036)
|
||||
rotation = 0.837234
|
||||
scale = Vector2(1, 1)
|
||||
slot_name = "gun"
|
||||
|
||||
[node name="Raptor" type="SpineSprite" parent="Spineboy/GunSlot"]
|
||||
position = Vector2(84.6909, -67.9174)
|
||||
scale = Vector2(0.193472, 0.193472)
|
||||
skeleton_data_res = ExtResource( "3" )
|
||||
skeleton_data_res = ExtResource("3")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
@ -34,23 +37,26 @@ preview_time = 0.0
|
||||
show_behind_parent = true
|
||||
position = Vector2(-23.4598, -402.301)
|
||||
rotation = -1.71793
|
||||
scale = Vector2(1, 1)
|
||||
slot_name = "eye"
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="Spineboy/EyeSlot"]
|
||||
position = Vector2(84.4734, 43.4469)
|
||||
rotation = 1.66344
|
||||
texture = ExtResource( "4" )
|
||||
texture = ExtResource("4")
|
||||
|
||||
[node name="FrontFistSlot" type="SpineSlotNode" parent="Spineboy"]
|
||||
show_behind_parent = true
|
||||
position = Vector2(-29.0298, -241.577)
|
||||
rotation = 0.995187
|
||||
scale = Vector2(1, 1)
|
||||
slot_name = "front-fist"
|
||||
|
||||
[node name="TinySpineboy" type="SpineSprite" parent="Spineboy/FrontFistSlot"]
|
||||
position = Vector2(-2.64624, -10.8111)
|
||||
scale = Vector2(0.193389, 0.193389)
|
||||
skeleton_data_res = ExtResource( "2" )
|
||||
skeleton_data_res = ExtResource("2")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
[gd_scene load_steps=68 format=3 uid="uid://dmddd1ll1y0bm"]
|
||||
|
||||
[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
|
||||
[ext_resource type="Script" path="res://examples/08-animation-player/animation-player.gd" id="2"]
|
||||
[ext_resource type="SpineSkeletonDataResource" path="res://assets/raptor/raptor-data.tres" id="3"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_t6m4d"]
|
||||
[sub_resource type="Animation" id="Animation_u8r30"]
|
||||
resource_name = "aim_looped"
|
||||
length = 0.5
|
||||
tracks/0/type = "value"
|
||||
@ -32,7 +32,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_njcku"]
|
||||
[sub_resource type="Animation" id="Animation_pcd73"]
|
||||
resource_name = "aim"
|
||||
length = 0.5
|
||||
tracks/0/type = "value"
|
||||
@ -60,7 +60,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_uj85l"]
|
||||
[sub_resource type="Animation" id="Animation_anfvj"]
|
||||
resource_name = "death_looped"
|
||||
length = 4.9333
|
||||
tracks/0/type = "value"
|
||||
@ -88,7 +88,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_irg42"]
|
||||
[sub_resource type="Animation" id="Animation_se2p7"]
|
||||
resource_name = "death"
|
||||
length = 4.9333
|
||||
tracks/0/type = "value"
|
||||
@ -116,7 +116,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_u0h4m"]
|
||||
[sub_resource type="Animation" id="Animation_g26yh"]
|
||||
resource_name = "hoverboard_looped"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@ -143,7 +143,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ksgd8"]
|
||||
[sub_resource type="Animation" id="Animation_dx8qa"]
|
||||
resource_name = "hoverboard"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@ -170,7 +170,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_onrph"]
|
||||
[sub_resource type="Animation" id="Animation_vy3tq"]
|
||||
resource_name = "idle_looped"
|
||||
length = 1.6667
|
||||
tracks/0/type = "value"
|
||||
@ -198,7 +198,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_uq46m"]
|
||||
[sub_resource type="Animation" id="Animation_urltx"]
|
||||
resource_name = "idle"
|
||||
length = 1.6667
|
||||
tracks/0/type = "value"
|
||||
@ -226,7 +226,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_vm3do"]
|
||||
[sub_resource type="Animation" id="Animation_7xfju"]
|
||||
resource_name = "idle-turn_looped"
|
||||
length = 0.2667
|
||||
tracks/0/type = "value"
|
||||
@ -254,7 +254,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_tlrtt"]
|
||||
[sub_resource type="Animation" id="Animation_bdf5o"]
|
||||
resource_name = "idle-turn"
|
||||
length = 0.2667
|
||||
tracks/0/type = "value"
|
||||
@ -282,7 +282,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_8gf4p"]
|
||||
[sub_resource type="Animation" id="Animation_2orbb"]
|
||||
resource_name = "jump_looped"
|
||||
length = 1.3333
|
||||
tracks/0/type = "value"
|
||||
@ -310,7 +310,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_e3mt7"]
|
||||
[sub_resource type="Animation" id="Animation_3iuuy"]
|
||||
resource_name = "jump"
|
||||
length = 1.3333
|
||||
tracks/0/type = "value"
|
||||
@ -338,7 +338,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_q7d0d"]
|
||||
[sub_resource type="Animation" id="Animation_imcsw"]
|
||||
resource_name = "portal_looped"
|
||||
length = 3.1667
|
||||
tracks/0/type = "value"
|
||||
@ -366,7 +366,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_hu1qx"]
|
||||
[sub_resource type="Animation" id="Animation_k3ycw"]
|
||||
resource_name = "portal"
|
||||
length = 3.1667
|
||||
tracks/0/type = "value"
|
||||
@ -394,7 +394,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_4qvwn"]
|
||||
[sub_resource type="Animation" id="Animation_uxgvr"]
|
||||
resource_name = "run_looped"
|
||||
length = 0.6667
|
||||
tracks/0/type = "value"
|
||||
@ -422,7 +422,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_rcbj7"]
|
||||
[sub_resource type="Animation" id="Animation_4rtac"]
|
||||
resource_name = "run"
|
||||
length = 0.6667
|
||||
tracks/0/type = "value"
|
||||
@ -450,7 +450,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_xaopv"]
|
||||
[sub_resource type="Animation" id="Animation_jonld"]
|
||||
resource_name = "run-to-idle_looped"
|
||||
length = 0.2667
|
||||
tracks/0/type = "value"
|
||||
@ -478,7 +478,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_hhaj8"]
|
||||
[sub_resource type="Animation" id="Animation_pc8cu"]
|
||||
resource_name = "run-to-idle"
|
||||
length = 0.2667
|
||||
tracks/0/type = "value"
|
||||
@ -506,7 +506,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2epiy"]
|
||||
[sub_resource type="Animation" id="Animation_je08p"]
|
||||
resource_name = "shoot_looped"
|
||||
length = 0.6333
|
||||
tracks/0/type = "value"
|
||||
@ -534,7 +534,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_xvf75"]
|
||||
[sub_resource type="Animation" id="Animation_o7hy8"]
|
||||
resource_name = "shoot"
|
||||
length = 0.6333
|
||||
tracks/0/type = "value"
|
||||
@ -562,7 +562,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ailgk"]
|
||||
[sub_resource type="Animation" id="Animation_rfed2"]
|
||||
resource_name = "walk_looped"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@ -589,7 +589,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_1ifml"]
|
||||
[sub_resource type="Animation" id="Animation_6jfr5"]
|
||||
resource_name = "walk"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@ -616,7 +616,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_13jvi"]
|
||||
[sub_resource type="Animation" id="Animation_871iw"]
|
||||
resource_name = "RESET"
|
||||
length = 0.5
|
||||
tracks/0/type = "value"
|
||||
@ -644,35 +644,35 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3juul"]
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_v5cr7"]
|
||||
_data = {
|
||||
"-- Empty --": SubResource( "Animation_13jvi" ),
|
||||
"RESET": SubResource( "Animation_13jvi" ),
|
||||
"aim": SubResource( "Animation_njcku" ),
|
||||
"aim_looped": SubResource( "Animation_t6m4d" ),
|
||||
"death": SubResource( "Animation_irg42" ),
|
||||
"death_looped": SubResource( "Animation_uj85l" ),
|
||||
"hoverboard": SubResource( "Animation_ksgd8" ),
|
||||
"hoverboard_looped": SubResource( "Animation_u0h4m" ),
|
||||
"idle": SubResource( "Animation_uq46m" ),
|
||||
"idle-turn": SubResource( "Animation_tlrtt" ),
|
||||
"idle-turn_looped": SubResource( "Animation_vm3do" ),
|
||||
"idle_looped": SubResource( "Animation_onrph" ),
|
||||
"jump": SubResource( "Animation_e3mt7" ),
|
||||
"jump_looped": SubResource( "Animation_8gf4p" ),
|
||||
"portal": SubResource( "Animation_hu1qx" ),
|
||||
"portal_looped": SubResource( "Animation_q7d0d" ),
|
||||
"run": SubResource( "Animation_rcbj7" ),
|
||||
"run-to-idle": SubResource( "Animation_hhaj8" ),
|
||||
"run-to-idle_looped": SubResource( "Animation_xaopv" ),
|
||||
"run_looped": SubResource( "Animation_4qvwn" ),
|
||||
"shoot": SubResource( "Animation_xvf75" ),
|
||||
"shoot_looped": SubResource( "Animation_2epiy" ),
|
||||
"walk": SubResource( "Animation_1ifml" ),
|
||||
"walk_looped": SubResource( "Animation_ailgk" )
|
||||
"-- Empty --": SubResource("Animation_871iw"),
|
||||
"RESET": SubResource("Animation_871iw"),
|
||||
"aim": SubResource("Animation_pcd73"),
|
||||
"aim_looped": SubResource("Animation_u8r30"),
|
||||
"death": SubResource("Animation_se2p7"),
|
||||
"death_looped": SubResource("Animation_anfvj"),
|
||||
"hoverboard": SubResource("Animation_dx8qa"),
|
||||
"hoverboard_looped": SubResource("Animation_g26yh"),
|
||||
"idle": SubResource("Animation_urltx"),
|
||||
"idle-turn": SubResource("Animation_bdf5o"),
|
||||
"idle-turn_looped": SubResource("Animation_7xfju"),
|
||||
"idle_looped": SubResource("Animation_vy3tq"),
|
||||
"jump": SubResource("Animation_3iuuy"),
|
||||
"jump_looped": SubResource("Animation_2orbb"),
|
||||
"portal": SubResource("Animation_k3ycw"),
|
||||
"portal_looped": SubResource("Animation_imcsw"),
|
||||
"run": SubResource("Animation_4rtac"),
|
||||
"run-to-idle": SubResource("Animation_pc8cu"),
|
||||
"run-to-idle_looped": SubResource("Animation_jonld"),
|
||||
"run_looped": SubResource("Animation_uxgvr"),
|
||||
"shoot": SubResource("Animation_o7hy8"),
|
||||
"shoot_looped": SubResource("Animation_je08p"),
|
||||
"walk": SubResource("Animation_6jfr5"),
|
||||
"walk_looped": SubResource("Animation_rfed2")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_43jug"]
|
||||
[sub_resource type="Animation" id="Animation_bqfyv"]
|
||||
resource_name = "aim_looped"
|
||||
length = 0.5
|
||||
tracks/0/type = "value"
|
||||
@ -700,7 +700,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_npdlv"]
|
||||
[sub_resource type="Animation" id="Animation_wa8y8"]
|
||||
resource_name = "aim"
|
||||
length = 0.5
|
||||
tracks/0/type = "value"
|
||||
@ -728,7 +728,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_v5dry"]
|
||||
[sub_resource type="Animation" id="Animation_lqflw"]
|
||||
resource_name = "death_looped"
|
||||
length = 4.9333
|
||||
tracks/0/type = "value"
|
||||
@ -756,7 +756,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_wthcu"]
|
||||
[sub_resource type="Animation" id="Animation_mybt4"]
|
||||
resource_name = "death"
|
||||
length = 4.9333
|
||||
tracks/0/type = "value"
|
||||
@ -784,7 +784,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_0t4px"]
|
||||
[sub_resource type="Animation" id="Animation_lgcur"]
|
||||
resource_name = "hoverboard_looped"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@ -811,7 +811,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_cflga"]
|
||||
[sub_resource type="Animation" id="Animation_qg507"]
|
||||
resource_name = "hoverboard"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@ -838,7 +838,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_4l5af"]
|
||||
[sub_resource type="Animation" id="Animation_gro4g"]
|
||||
resource_name = "idle_looped"
|
||||
length = 1.6667
|
||||
tracks/0/type = "value"
|
||||
@ -866,7 +866,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_3kd2q"]
|
||||
[sub_resource type="Animation" id="Animation_r4l52"]
|
||||
resource_name = "idle"
|
||||
length = 1.6667
|
||||
tracks/0/type = "value"
|
||||
@ -894,7 +894,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_pcovu"]
|
||||
[sub_resource type="Animation" id="Animation_dxou3"]
|
||||
resource_name = "idle-turn_looped"
|
||||
length = 0.2667
|
||||
tracks/0/type = "value"
|
||||
@ -922,7 +922,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ji8c3"]
|
||||
[sub_resource type="Animation" id="Animation_mtm0j"]
|
||||
resource_name = "idle-turn"
|
||||
length = 0.2667
|
||||
tracks/0/type = "value"
|
||||
@ -950,7 +950,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_hxqi7"]
|
||||
[sub_resource type="Animation" id="Animation_57vbo"]
|
||||
resource_name = "jump_looped"
|
||||
length = 1.3333
|
||||
tracks/0/type = "value"
|
||||
@ -978,7 +978,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_h822y"]
|
||||
[sub_resource type="Animation" id="Animation_jaxeo"]
|
||||
resource_name = "jump"
|
||||
length = 1.3333
|
||||
tracks/0/type = "value"
|
||||
@ -1006,7 +1006,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_8f1h5"]
|
||||
[sub_resource type="Animation" id="Animation_p8eks"]
|
||||
resource_name = "portal_looped"
|
||||
length = 3.1667
|
||||
tracks/0/type = "value"
|
||||
@ -1034,7 +1034,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_i0wgj"]
|
||||
[sub_resource type="Animation" id="Animation_gn2h2"]
|
||||
resource_name = "portal"
|
||||
length = 3.1667
|
||||
tracks/0/type = "value"
|
||||
@ -1062,7 +1062,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_0q41s"]
|
||||
[sub_resource type="Animation" id="Animation_qyc51"]
|
||||
resource_name = "run_looped"
|
||||
length = 0.6667
|
||||
tracks/0/type = "value"
|
||||
@ -1090,7 +1090,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_og3lw"]
|
||||
[sub_resource type="Animation" id="Animation_wimlj"]
|
||||
resource_name = "run"
|
||||
length = 0.6667
|
||||
tracks/0/type = "value"
|
||||
@ -1118,7 +1118,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_q7ndl"]
|
||||
[sub_resource type="Animation" id="Animation_xpssf"]
|
||||
resource_name = "run-to-idle_looped"
|
||||
length = 0.2667
|
||||
tracks/0/type = "value"
|
||||
@ -1146,7 +1146,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_nxlcc"]
|
||||
[sub_resource type="Animation" id="Animation_cv1an"]
|
||||
resource_name = "run-to-idle"
|
||||
length = 0.2667
|
||||
tracks/0/type = "value"
|
||||
@ -1174,7 +1174,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_riqly"]
|
||||
[sub_resource type="Animation" id="Animation_y0ah7"]
|
||||
resource_name = "shoot_looped"
|
||||
length = 0.6333
|
||||
tracks/0/type = "value"
|
||||
@ -1202,7 +1202,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_e7tup"]
|
||||
[sub_resource type="Animation" id="Animation_6lofo"]
|
||||
resource_name = "shoot"
|
||||
length = 0.6333
|
||||
tracks/0/type = "value"
|
||||
@ -1230,7 +1230,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_5q6ru"]
|
||||
[sub_resource type="Animation" id="Animation_gpmbs"]
|
||||
resource_name = "walk_looped"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@ -1257,7 +1257,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_rbpim"]
|
||||
[sub_resource type="Animation" id="Animation_8kta1"]
|
||||
resource_name = "walk"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@ -1284,7 +1284,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_n4owa"]
|
||||
[sub_resource type="Animation" id="Animation_arooe"]
|
||||
resource_name = "RESET"
|
||||
length = 0.5
|
||||
tracks/0/type = "value"
|
||||
@ -1312,35 +1312,35 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_weodw"]
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_fa8i5"]
|
||||
_data = {
|
||||
"-- Empty --": SubResource( "Animation_n4owa" ),
|
||||
"RESET": SubResource( "Animation_n4owa" ),
|
||||
"aim": SubResource( "Animation_npdlv" ),
|
||||
"aim_looped": SubResource( "Animation_43jug" ),
|
||||
"death": SubResource( "Animation_wthcu" ),
|
||||
"death_looped": SubResource( "Animation_v5dry" ),
|
||||
"hoverboard": SubResource( "Animation_cflga" ),
|
||||
"hoverboard_looped": SubResource( "Animation_0t4px" ),
|
||||
"idle": SubResource( "Animation_3kd2q" ),
|
||||
"idle-turn": SubResource( "Animation_ji8c3" ),
|
||||
"idle-turn_looped": SubResource( "Animation_pcovu" ),
|
||||
"idle_looped": SubResource( "Animation_4l5af" ),
|
||||
"jump": SubResource( "Animation_h822y" ),
|
||||
"jump_looped": SubResource( "Animation_hxqi7" ),
|
||||
"portal": SubResource( "Animation_i0wgj" ),
|
||||
"portal_looped": SubResource( "Animation_8f1h5" ),
|
||||
"run": SubResource( "Animation_og3lw" ),
|
||||
"run-to-idle": SubResource( "Animation_nxlcc" ),
|
||||
"run-to-idle_looped": SubResource( "Animation_q7ndl" ),
|
||||
"run_looped": SubResource( "Animation_0q41s" ),
|
||||
"shoot": SubResource( "Animation_e7tup" ),
|
||||
"shoot_looped": SubResource( "Animation_riqly" ),
|
||||
"walk": SubResource( "Animation_rbpim" ),
|
||||
"walk_looped": SubResource( "Animation_5q6ru" )
|
||||
"-- Empty --": SubResource("Animation_arooe"),
|
||||
"RESET": SubResource("Animation_arooe"),
|
||||
"aim": SubResource("Animation_wa8y8"),
|
||||
"aim_looped": SubResource("Animation_bqfyv"),
|
||||
"death": SubResource("Animation_mybt4"),
|
||||
"death_looped": SubResource("Animation_lqflw"),
|
||||
"hoverboard": SubResource("Animation_qg507"),
|
||||
"hoverboard_looped": SubResource("Animation_lgcur"),
|
||||
"idle": SubResource("Animation_r4l52"),
|
||||
"idle-turn": SubResource("Animation_mtm0j"),
|
||||
"idle-turn_looped": SubResource("Animation_dxou3"),
|
||||
"idle_looped": SubResource("Animation_gro4g"),
|
||||
"jump": SubResource("Animation_jaxeo"),
|
||||
"jump_looped": SubResource("Animation_57vbo"),
|
||||
"portal": SubResource("Animation_gn2h2"),
|
||||
"portal_looped": SubResource("Animation_p8eks"),
|
||||
"run": SubResource("Animation_wimlj"),
|
||||
"run-to-idle": SubResource("Animation_cv1an"),
|
||||
"run-to-idle_looped": SubResource("Animation_xpssf"),
|
||||
"run_looped": SubResource("Animation_qyc51"),
|
||||
"shoot": SubResource("Animation_6lofo"),
|
||||
"shoot_looped": SubResource("Animation_y0ah7"),
|
||||
"walk": SubResource("Animation_8kta1"),
|
||||
"walk_looped": SubResource("Animation_gpmbs")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_g0fba"]
|
||||
[sub_resource type="Animation" id="Animation_hsvha"]
|
||||
resource_name = "gun-grab_looped"
|
||||
length = 0.666667
|
||||
tracks/0/type = "value"
|
||||
@ -1368,7 +1368,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_tnmwm"]
|
||||
[sub_resource type="Animation" id="Animation_5dt73"]
|
||||
resource_name = "gun-grab"
|
||||
length = 0.666667
|
||||
tracks/0/type = "value"
|
||||
@ -1396,7 +1396,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_scefx"]
|
||||
[sub_resource type="Animation" id="Animation_hsxuq"]
|
||||
resource_name = "gun-holster_looped"
|
||||
length = 0.666667
|
||||
tracks/0/type = "value"
|
||||
@ -1424,7 +1424,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_6lq4v"]
|
||||
[sub_resource type="Animation" id="Animation_5hjd5"]
|
||||
resource_name = "gun-holster"
|
||||
length = 0.666667
|
||||
tracks/0/type = "value"
|
||||
@ -1452,7 +1452,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_b7ns0"]
|
||||
[sub_resource type="Animation" id="Animation_304i6"]
|
||||
resource_name = "jump_looped"
|
||||
length = 1.53333
|
||||
tracks/0/type = "value"
|
||||
@ -1480,7 +1480,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_l4kgf"]
|
||||
[sub_resource type="Animation" id="Animation_rn17q"]
|
||||
resource_name = "jump"
|
||||
length = 1.53333
|
||||
tracks/0/type = "value"
|
||||
@ -1508,7 +1508,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_jt8r5"]
|
||||
[sub_resource type="Animation" id="Animation_qxmqu"]
|
||||
resource_name = "roar_looped"
|
||||
length = 2.13333
|
||||
tracks/0/type = "value"
|
||||
@ -1536,7 +1536,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_wlr0r"]
|
||||
[sub_resource type="Animation" id="Animation_awgy1"]
|
||||
resource_name = "roar"
|
||||
length = 2.13333
|
||||
tracks/0/type = "value"
|
||||
@ -1564,7 +1564,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_0e04p"]
|
||||
[sub_resource type="Animation" id="Animation_d43gs"]
|
||||
resource_name = "walk_looped"
|
||||
length = 1.26667
|
||||
tracks/0/type = "value"
|
||||
@ -1592,7 +1592,7 @@ tracks/1/keys = {
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ysb1x"]
|
||||
[sub_resource type="Animation" id="Animation_g6qku"]
|
||||
resource_name = "walk"
|
||||
length = 1.26667
|
||||
tracks/0/type = "value"
|
||||
@ -1620,7 +1620,7 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_j5g3u"]
|
||||
[sub_resource type="Animation" id="Animation_73tbf"]
|
||||
resource_name = "RESET"
|
||||
length = 0.5
|
||||
tracks/0/type = "value"
|
||||
@ -1648,20 +1648,20 @@ tracks/1/keys = {
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_nir4m"]
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_to4p6"]
|
||||
_data = {
|
||||
"-- Empty --": SubResource( "Animation_j5g3u" ),
|
||||
"RESET": SubResource( "Animation_j5g3u" ),
|
||||
"gun-grab": SubResource( "Animation_tnmwm" ),
|
||||
"gun-grab_looped": SubResource( "Animation_g0fba" ),
|
||||
"gun-holster": SubResource( "Animation_6lq4v" ),
|
||||
"gun-holster_looped": SubResource( "Animation_scefx" ),
|
||||
"jump": SubResource( "Animation_l4kgf" ),
|
||||
"jump_looped": SubResource( "Animation_b7ns0" ),
|
||||
"roar": SubResource( "Animation_wlr0r" ),
|
||||
"roar_looped": SubResource( "Animation_jt8r5" ),
|
||||
"walk": SubResource( "Animation_ysb1x" ),
|
||||
"walk_looped": SubResource( "Animation_0e04p" )
|
||||
"-- Empty --": SubResource("Animation_73tbf"),
|
||||
"RESET": SubResource("Animation_73tbf"),
|
||||
"gun-grab": SubResource("Animation_5dt73"),
|
||||
"gun-grab_looped": SubResource("Animation_hsvha"),
|
||||
"gun-holster": SubResource("Animation_5hjd5"),
|
||||
"gun-holster_looped": SubResource("Animation_hsxuq"),
|
||||
"jump": SubResource("Animation_rn17q"),
|
||||
"jump_looped": SubResource("Animation_304i6"),
|
||||
"roar": SubResource("Animation_awgy1"),
|
||||
"roar_looped": SubResource("Animation_qxmqu"),
|
||||
"walk": SubResource("Animation_g6qku"),
|
||||
"walk_looped": SubResource("Animation_d43gs")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="25"]
|
||||
@ -1885,18 +1885,19 @@ tracks/3/keys = {
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3lgey"]
|
||||
_data = {
|
||||
"RESET": SubResource( "25" ),
|
||||
"cutscene": SubResource( "1" ),
|
||||
"slow-moonwalk": SubResource( "83" )
|
||||
"RESET": SubResource("25"),
|
||||
"cutscene": SubResource("1"),
|
||||
"slow-moonwalk": SubResource("83")
|
||||
}
|
||||
|
||||
[node name="Node2D2" type="Node2D"]
|
||||
script = ExtResource( "2" )
|
||||
script = ExtResource("2")
|
||||
|
||||
[node name="Spineboy" type="SpineSprite" parent="."]
|
||||
position = Vector2(72.0001, 520)
|
||||
scale = Vector2(0.323942, 0.323942)
|
||||
skeleton_data_res = ExtResource( "1" )
|
||||
skeleton_data_res = ExtResource("1")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
@ -1907,7 +1908,7 @@ debug = true
|
||||
|
||||
[node name="Spineboy Track 0" type="AnimationPlayer" parent="Spineboy/SpineAnimationTrack"]
|
||||
libraries = {
|
||||
"": SubResource( "AnimationLibrary_3juul" )
|
||||
"": SubResource("AnimationLibrary_v5cr7")
|
||||
}
|
||||
|
||||
[node name="SpineAnimationTrack2" type="SpineAnimationTrack" parent="Spineboy"]
|
||||
@ -1917,13 +1918,14 @@ debug = true
|
||||
|
||||
[node name="Spineboy Track 1" type="AnimationPlayer" parent="Spineboy/SpineAnimationTrack2"]
|
||||
libraries = {
|
||||
"": SubResource( "AnimationLibrary_weodw" )
|
||||
"": SubResource("AnimationLibrary_fa8i5")
|
||||
}
|
||||
|
||||
[node name="Raptor" type="SpineSprite" parent="."]
|
||||
position = Vector2(1284, 520)
|
||||
scale = Vector2(-0.328761, 0.328761)
|
||||
skeleton_data_res = ExtResource( "3" )
|
||||
skeleton_data_res = ExtResource("3")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
@ -1933,10 +1935,10 @@ track_index = 0
|
||||
|
||||
[node name="Raptor Track 0" type="AnimationPlayer" parent="Raptor/SpineAnimationTrack"]
|
||||
libraries = {
|
||||
"": SubResource( "AnimationLibrary_nir4m" )
|
||||
"": SubResource("AnimationLibrary_to4p6")
|
||||
}
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
"": SubResource( "AnimationLibrary_3lgey" )
|
||||
"": SubResource("AnimationLibrary_3lgey")
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://b4p2vn7bwm52a"]
|
||||
|
||||
[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
|
||||
|
||||
[sub_resource type="Shader" id="1"]
|
||||
code = "shader_type canvas_item;
|
||||
@ -11,7 +11,7 @@ void fragment() {
|
||||
}"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="2"]
|
||||
shader = SubResource( "1" )
|
||||
shader = SubResource("1")
|
||||
|
||||
[sub_resource type="Shader" id="3"]
|
||||
code = "shader_type canvas_item;
|
||||
@ -22,15 +22,16 @@ void fragment() {
|
||||
}"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="4"]
|
||||
shader = SubResource( "3" )
|
||||
shader = SubResource("3")
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
|
||||
[node name="SpineSprite" type="SpineSprite" parent="."]
|
||||
position = Vector2(501, 507)
|
||||
scale = Vector2(0.546374, 0.546373)
|
||||
skeleton_data_res = ExtResource( "1" )
|
||||
normal_material = SubResource( "2" )
|
||||
skeleton_data_res = ExtResource("1")
|
||||
normal_material = SubResource("2")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
@ -39,5 +40,6 @@ preview_time = 0.0
|
||||
show_behind_parent = true
|
||||
position = Vector2(40.8753, -276.036)
|
||||
rotation = 0.837234
|
||||
scale = Vector2(1, 1)
|
||||
slot_name = "gun"
|
||||
normal_material = SubResource( "4" )
|
||||
normal_material = SubResource("4")
|
||||
|
||||
@ -5,21 +5,23 @@
|
||||
[ext_resource type="Script" path="res://examples/10-2d-lighting/2d-lighting.gd" id="3"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
script = ExtResource( "3" )
|
||||
script = ExtResource("3")
|
||||
|
||||
[node name="SpineSprite" type="SpineSprite" parent="."]
|
||||
position = Vector2(576, 506)
|
||||
scale = Vector2(0.458967, 0.458967)
|
||||
skeleton_data_res = ExtResource( "1" )
|
||||
skeleton_data_res = ExtResource("1")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
|
||||
[node name="Light2D" type="PointLight2D" parent="."]
|
||||
position = Vector2(822, 270)
|
||||
position = Vector2(691, 283)
|
||||
scale = Vector2(1.51563, 1.51563)
|
||||
color = Color(1, 0.0117647, 0.0117647, 1)
|
||||
texture = ExtResource( "2" )
|
||||
texture = ExtResource("2")
|
||||
height = 100.0
|
||||
|
||||
[node name="CanvasModulate" type="CanvasModulate" parent="."]
|
||||
color = Color(0.145098, 0.0980392, 0.0980392, 1)
|
||||
color = Color(0.223529, 0.160784, 0.160784, 1)
|
||||
|
||||
@ -2,18 +2,25 @@ extends Node2D
|
||||
|
||||
@onready var spineboy = $SpineSprite
|
||||
@onready var center_bone = $SpineSprite/HoverboardCenterBone
|
||||
@onready var center_ray = $SpineSprite/HoverboardCenterBone/RayCast2D
|
||||
@onready var center_ray = $SpineSprite/HoverboardCenterBone/CenterRay
|
||||
@onready var target_bone = $SpineSprite/HoverboardTargetBone
|
||||
@onready var target_ray = $SpineSprite/HoverboardTargetBone/RayCast2D
|
||||
@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 - 50
|
||||
if center_ray.is_colliding():
|
||||
center_bone.global_position.y = center_ray.get_collision_point().y - 50
|
||||
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;
|
||||
spineboy.global_position.y = center_bone.global_position.y
|
||||
|
||||
@ -1,39 +1,45 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://chrw4i0nksphn"]
|
||||
|
||||
[ext_resource type="Script" path="res://examples/11-bone-node/bone-node.gd" id="1"]
|
||||
[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
script = ExtResource( "1" )
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="SpineSprite" type="SpineSprite" parent="."]
|
||||
position = Vector2(8, 553)
|
||||
position = Vector2(13, 569)
|
||||
scale = Vector2(0.278096, 0.278096)
|
||||
skeleton_data_res = ExtResource( "2" )
|
||||
skeleton_data_res = ExtResource("2")
|
||||
update_mode = 1
|
||||
preview_skin = "Default"
|
||||
preview_animation = "hoverboard"
|
||||
preview_frame = true
|
||||
preview_time = 0.0
|
||||
|
||||
[node name="HoverboardCenterBone" type="SpineBoneNode" parent="SpineSprite"]
|
||||
show_behind_parent = true
|
||||
position = Vector2(-10.1996, -68.2213)
|
||||
rotation = -0.00403465
|
||||
bone_name = "hoverboard-controller"
|
||||
bone_mode = 1
|
||||
|
||||
[node name="RayCast2D" type="RayCast2D" parent="SpineSprite/HoverboardCenterBone"]
|
||||
[node name="CenterRay" type="RayCast2D" parent="SpineSprite/HoverboardCenterBone"]
|
||||
target_position = Vector2(0, 10000)
|
||||
|
||||
[node name="HoverboardTargetBone" type="SpineBoneNode" parent="SpineSprite"]
|
||||
show_behind_parent = true
|
||||
position = Vector2(262.499, 0)
|
||||
position = Vector2(258.903, -71.9176)
|
||||
rotation = -0.000872665
|
||||
bone_name = "board-ik"
|
||||
bone_mode = 1
|
||||
|
||||
[node name="RayCast2D" type="RayCast2D" parent="SpineSprite/HoverboardTargetBone"]
|
||||
[node name="TargetRay" type="RayCast2D" parent="SpineSprite/HoverboardTargetBone"]
|
||||
position = Vector2(-3.59872, 3.59277)
|
||||
target_position = Vector2(0, 10000)
|
||||
|
||||
[node name="HipBone" type="SpineBoneNode" parent="SpineSprite"]
|
||||
show_behind_parent = true
|
||||
position = Vector2(0, -169.006)
|
||||
position = Vector2(-53.7338, -279.363)
|
||||
rotation = -0.000872665
|
||||
bone_name = "hip"
|
||||
bone_mode = 1
|
||||
|
||||
@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.cte
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
|
||||
@ -1,6 +1,16 @@
|
||||
#ifndef SPINE_COMMON_URP_INCLUDED
|
||||
#define SPINE_COMMON_URP_INCLUDED
|
||||
|
||||
#ifdef USE_FORWARD_PLUS
|
||||
#define IS_URP_14_OR_NEWER 1
|
||||
#else
|
||||
#define IS_URP_14_OR_NEWER 0
|
||||
#endif
|
||||
|
||||
#if defined(_WRITE_RENDERING_LAYERS) && IS_URP_14_OR_NEWER
|
||||
#define USE_WRITE_RENDERING_LAYERS
|
||||
#endif
|
||||
|
||||
#ifdef _LIGHT_LAYERS
|
||||
uint GetMeshRenderingLayerBackwardsCompatible()
|
||||
{
|
||||
|
||||
@ -152,7 +152,7 @@ VertexOutput vert(appdata v) {
|
||||
}
|
||||
|
||||
half4 frag(VertexOutput i
|
||||
#ifdef _WRITE_RENDERING_LAYERS
|
||||
#ifdef USE_WRITE_RENDERING_LAYERS
|
||||
, out float4 outRenderingLayers : SV_Target1
|
||||
#endif
|
||||
) : SV_Target0
|
||||
|
||||
@ -285,7 +285,7 @@ VertexOutputLWRP ForwardPassVertexSprite(VertexInput input)
|
||||
}
|
||||
|
||||
half4 ForwardPassFragmentSprite(VertexOutputLWRP input
|
||||
#ifdef _WRITE_RENDERING_LAYERS
|
||||
#ifdef USE_WRITE_RENDERING_LAYERS
|
||||
, out float4 outRenderingLayers : SV_Target1
|
||||
#endif
|
||||
) : SV_Target0
|
||||
@ -302,7 +302,7 @@ half4 ForwardPassFragmentSprite(VertexOutputLWRP input
|
||||
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
|
||||
inputData.shadowCoord = input.shadowCoord;
|
||||
#elif defined(MAIN_LIGHT_CALCULATE_SHADOWS)
|
||||
inputData.shadowCoord = TransformWorldToShadowCoord(input.positionWS);
|
||||
inputData.shadowCoord = TransformWorldToShadowCoord(input.positionWS.xyz);
|
||||
#elif defined(_MAIN_LIGHT_SHADOWS)
|
||||
inputData.shadowCoord = input.shadowCoord;
|
||||
#else
|
||||
@ -352,7 +352,7 @@ half4 ForwardPassFragmentSprite(VertexOutputLWRP input
|
||||
COLORISE(pixel)
|
||||
APPLY_FOG_LWRP(pixel, input.fogFactorAndVertexLight.x)
|
||||
|
||||
#ifdef _WRITE_RENDERING_LAYERS
|
||||
#ifdef USE_WRITE_RENDERING_LAYERS
|
||||
uint renderingLayers = GetMeshRenderingLayerBackwardsCompatible();
|
||||
outRenderingLayers = float4(EncodeMeshRenderingLayer(renderingLayers), 0, 0, 0);
|
||||
#endif
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"name": "com.esotericsoftware.spine.urp-shaders",
|
||||
"displayName": "Spine Universal RP Shaders",
|
||||
"description": "This plugin provides universal render pipeline (URP) shaders for the spine-unity runtime.\n\nPrerequisites:\nIt requires a working installation of the spine-unity runtime, version 4.1.\n(See http://esotericsoftware.com/git/spine-runtimes/spine-unity)",
|
||||
"version": "4.1.9",
|
||||
"version": "4.1.10",
|
||||
"unity": "2019.3",
|
||||
"author": {
|
||||
"name": "Esoteric Software",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user