소스 검색

Merge pull request #690 from godotengine/master

Merge the `master` branch into the `4.0-dev` branch
Aaron Franke 3 년 전
부모
커밋
410d783126
100개의 변경된 파일5446개의 추가작업 그리고 179개의 파일을 삭제
  1. 1 2
      .github/PULL_REQUEST_TEMPLATE.md
  2. 10 9
      .github/dist/footer.html
  3. 2 1
      .github/workflows/export_html5.yml
  4. 1 1
      .github/workflows/static_checks.yml
  5. 1 0
      .gitignore
  6. 1 1
      2d/README.md
  7. 4 1
      2d/dodge_the_creeps/HUD.tscn
  8. 5 4
      2d/dodge_the_creeps/Main.gd
  9. 3 0
      2d/dodge_the_creeps/Main.tscn
  10. 1 1
      2d/dodge_the_creeps/README.md
  11. 6 1
      2d/dodge_the_creeps/project.godot
  12. 1 1
      2d/physics_platformer/README.md
  13. 9 18
      2d/physics_platformer/coin/Coin.tscn
  14. 11 20
      2d/physics_platformer/enemy/Enemy.tscn
  15. 12 17
      2d/physics_platformer/player/Bullet.tscn
  16. 31 40
      2d/physics_platformer/player/Player.tscn
  17. 2 1
      2d/physics_platformer/project.godot
  18. 1 1
      2d/platformer/README.md
  19. 1 0
      2d/platformer/assets/art/background/cloud_1.png.import
  20. 1 0
      2d/platformer/assets/art/background/cloud_2.png.import
  21. 1 0
      2d/platformer/assets/art/background/cloud_3.png.import
  22. 1 0
      2d/platformer/assets/art/background/distant_platforms_1.png.import
  23. 1 0
      2d/platformer/assets/art/background/distant_platforms_2.png.import
  24. 1 0
      2d/platformer/assets/art/background/sky.png.import
  25. 1 0
      2d/platformer/assets/art/coin/coin.png.import
  26. 1 0
      2d/platformer/assets/art/enemy/enemy.png.import
  27. 1 0
      2d/platformer/assets/art/platforms/moving_platform.png.import
  28. 1 0
      2d/platformer/assets/art/platforms/one_way_platform.png.import
  29. 1 0
      2d/platformer/assets/art/player/bullet/bullet.png.import
  30. 1 0
      2d/platformer/assets/art/player/robot_demo.png.import
  31. 1 0
      2d/platformer/assets/art/tileset/tiles_demo.png.import
  32. 1 0
      2d/platformer/assets/art/ui/touch_button_fire.png.import
  33. 1 0
      2d/platformer/assets/art/ui/touch_button_jump.png.import
  34. 1 0
      2d/platformer/assets/art/ui/touch_button_left.png.import
  35. 1 0
      2d/platformer/assets/art/ui/touch_button_right.png.import
  36. 1 0
      2d/platformer/icon.png.import
  37. 1 0
      2d/platformer/project.godot
  38. 13 23
      2d/platformer/src/Actors/Enemy.tscn
  39. 1 0
      2d/platformer/src/Actors/Gun.gd
  40. 5 1
      2d/platformer/src/Actors/Player.gd
  41. 6 6
      2d/platformer/src/Main/Splitscreen.tscn
  42. 13 18
      2d/platformer/src/Objects/Bullet.tscn
  43. 1 1
      2d/platformer/src/UserInterface/CoinsCounter.gd
  44. 51 0
      3d/global_illumination/README.md
  45. 43 0
      3d/global_illumination/camera.gd
  46. BIN
      3d/global_illumination/cube.blend
  47. BIN
      3d/global_illumination/cube.glb
  48. 1065 0
      3d/global_illumination/cube.glb.import
  49. BIN
      3d/global_illumination/cube.glb.unwrap_cache
  50. 13 0
      3d/global_illumination/default_env.tres
  51. BIN
      3d/global_illumination/icon.png
  52. 35 0
      3d/global_illumination/icon.png.import
  53. 73 0
      3d/global_illumination/project.godot
  54. 0 0
      3d/global_illumination/screenshots/.gdignore
  55. BIN
      3d/global_illumination/screenshots/global_illumination.png
  56. BIN
      3d/global_illumination/test.exr
  57. 25 0
      3d/global_illumination/test.exr.import
  58. 114 0
      3d/global_illumination/test.gd
  59. BIN
      3d/global_illumination/test.lmbake
  60. 13 0
      3d/global_illumination/test.tscn
  61. BIN
      3d/global_illumination/test_all.exr
  62. 25 0
      3d/global_illumination/test_all.exr.import
  63. BIN
      3d/global_illumination/test_all.lmbake
  64. BIN
      3d/global_illumination/zdm2.blend
  65. BIN
      3d/global_illumination/zdm2.glb
  66. 1065 0
      3d/global_illumination/zdm2.glb.import
  67. BIN
      3d/global_illumination/zdm2.glb.unwrap_cache
  68. 1 0
      3d/kinematic_character/default_env.tres
  69. 1 8
      3d/kinematic_character/level.tscn
  70. 25 0
      3d/rigidbody_character/README.md
  71. 25 0
      3d/rigidbody_character/cube_rigidbody.tscn
  72. 6 0
      3d/rigidbody_character/cubelib.tres
  73. 25 0
      3d/rigidbody_character/default_env.tres
  74. 0 0
      3d/rigidbody_character/gi_probe_data.res
  75. BIN
      3d/rigidbody_character/icon.png
  76. 35 0
      3d/rigidbody_character/icon.png.import
  77. 9 0
      3d/rigidbody_character/level.gd
  78. 57 0
      3d/rigidbody_character/level.tscn
  79. BIN
      3d/rigidbody_character/models/cube.glb
  80. 1065 0
      3d/rigidbody_character/models/cube.glb.import
  81. BIN
      3d/rigidbody_character/models/cube.mesh
  82. 9 0
      3d/rigidbody_character/models/cube_material.tres
  83. BIN
      3d/rigidbody_character/models/mushroom.glb
  84. 1065 0
      3d/rigidbody_character/models/mushroom.glb.import
  85. 8 0
      3d/rigidbody_character/models/white_cube_material.tres
  86. BIN
      3d/rigidbody_character/models/white_wood.png
  87. 38 0
      3d/rigidbody_character/models/white_wood.png.import
  88. 39 0
      3d/rigidbody_character/player/cubio.gd
  89. 64 0
      3d/rigidbody_character/player/cubio.tscn
  90. 41 0
      3d/rigidbody_character/player/follow_camera.gd
  91. 93 0
      3d/rigidbody_character/project.godot
  92. 0 0
      3d/rigidbody_character/screenshots/.gdignore
  93. BIN
      3d/rigidbody_character/screenshots/editor.png
  94. BIN
      3d/rigidbody_character/screenshots/ingame.png
  95. 2 2
      LICENSE.md
  96. 3 1
      README.md
  97. 21 0
      audio/midi_piano/README.md
  98. BIN
      audio/midi_piano/icon.png
  99. 35 0
      audio/midi_piano/icon.png.import
  100. 97 0
      audio/midi_piano/piano.gd

+ 1 - 2
.github/PULL_REQUEST_TEMPLATE.md

@@ -1,8 +1,7 @@
 <!--
 Only submit a pull request if all of the following conditions are met:
 
-* It must work with the latest stable Godot version. Do not submit a
-  pull request if it only works with alpha/beta builds.
+* It must work with the latest Godot version of the branch you're submitting to.
 
 * It must follow all of the Godot style guides, including the GDScript
   style guide and the C# style guide.

+ 10 - 9
.github/dist/footer.html

@@ -2,15 +2,16 @@
     </ul>
     <h2>Unavailable demos</h2>
     <ul>
-        <li><code>2d/hdr/</code>: Not supported on HTML5 yet.
-        <li><code>3d/voxel/</code>: Not supported on HTML5 yet.
-        <li><code>audio/device_changer/</code>: Not supported on HTML5 due to browser limitations.
-        <li><code>loading/background_load/</code>: Not supported on HTML5 yet.
-        <li><code>loading/multiple_threads_loading/</code>: Not supported on HTML5 yet.
-        <li><code>loading/threads/</code>: Not supported on HTML5 yet.
-        <li><code>misc/matrix_transform/</code>: Results are only visible in the editor.
-        <li><code>mobile/android_iap/</code>: Only relevant on native Android.
-        <li><code>mobile/sensors/</code>: Not supported on HTML5 yet.
+        <li><code>2d/hdr/</code>: Not supported on HTML5 yet.</li>
+        <li><code>3d/global_illumination/</code>: Not supported on HTML5 yet (freezes the browser).</li>
+        <li><code>3d/voxel/</code>: Not supported on HTML5 yet.</li>
+        <li><code>audio/device_changer/</code>: Not supported on HTML5 due to browser limitations.</li>
+        <li><code>loading/background_load/</code>: Not supported on HTML5 yet.</li>
+        <li><code>loading/multiple_threads_loading/</code>: Not supported on HTML5 yet.</li>
+        <li><code>loading/threads/</code>: Not supported on HTML5 yet.</li>
+        <li><code>misc/matrix_transform/</code>: Results are only visible in the editor.</li>
+        <li><code>mobile/android_iap/</code>: Only relevant on native Android.</li>
+        <li><code>mobile/sensors/</code>: Not supported on HTML5 yet.</li>
         <li><code>mono/*/</code>: Not available yet (requires Mono-enabled HTML5 build).</li>
         <li><code>networking/*/</code>: Doesn't make sense to be hosted on a static host, as the server must be hosted on the same origin due to the browser's same-origin policy.</li>
         <li><code>plugins/*/</code>: Only effective within the editor.</li>

+ 2 - 1
.github/workflows/export_html5.yml

@@ -15,7 +15,7 @@ jobs:
       image: barichello/godot-ci:3.3.3
     steps:
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
 
       - name: Setup
         run: |
@@ -31,6 +31,7 @@ jobs:
           # Remember to update `.github/dist/footer.html` when updating the list of excluded demos.
           rm -rf \
             2d/hdr/ \
+            3d/global_illumination/ \
             3d/voxel/ \
             audio/device_changer/ \
             loading/background_load/ \

+ 1 - 1
.github/workflows/static_checks.yml

@@ -7,7 +7,7 @@ jobs:
     runs-on: ubuntu-20.04
     steps:
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
 
       - name: Install dependencies
         run: |

+ 1 - 0
.gitignore

@@ -18,4 +18,5 @@ mono_crash.*.json
 
 # System/tool-specific ignores
 .directory
+.DS_Store
 *~

+ 1 - 1
2d/README.md

@@ -5,4 +5,4 @@ These demos are all 2D, but otherwise do not have a common theme.
 Languages: Most have GDScript, some have
 [GDSL](https://docs.godotengine.org/en/latest/tutorials/shaders/shader_reference/shading_language.html)
 
-Renderers: 6 of them are GLES 3, but most are GLES 2
+Renderers: 4 of them are GLES 3, but most are GLES 2

+ 4 - 1
2d/dodge_the_creeps/HUD.tscn

@@ -12,7 +12,7 @@ size = 64
 font_data = ExtResource( 2 )
 
 [sub_resource type="InputEventAction" id=3]
-action = "ui_select"
+action = "start_game"
 
 [sub_resource type="ShortCut" id=4]
 shortcut = SubResource( 3 )
@@ -50,6 +50,9 @@ margin_bottom = -100.0
 custom_fonts/font = SubResource( 2 )
 shortcut = SubResource( 4 )
 text = "Start"
+__meta__ = {
+"_edit_use_anchors_": false
+}
 
 [node name="MessageTimer" type="Timer" parent="."]
 one_shot = true

+ 5 - 4
2d/dodge_the_creeps/Main.gd

@@ -26,14 +26,13 @@ func new_game():
 
 
 func _on_MobTimer_timeout():
+	# Create a new instance of the Mob scene.
+	var mob = mob_scene.instance()
+
 	# Choose a random location on Path2D.
 	var mob_spawn_location = get_node("MobPath/MobSpawnLocation")
 	mob_spawn_location.offset = randi()
 
-	# Create a Mob instance and add it to the scene.
-	var mob = mob_scene.instance()
-	add_child(mob)
-
 	# Set the mob's direction perpendicular to the path direction.
 	var direction = mob_spawn_location.rotation + PI / 2
 
@@ -48,6 +47,8 @@ func _on_MobTimer_timeout():
 	var velocity = Vector2(rand_range(150.0, 250.0), 0.0)
 	mob.linear_velocity = velocity.rotated(direction)
 
+	# Spawn the mob by adding it to the Main scene.
+	add_child(mob)
 
 func _on_ScoreTimer_timeout():
 	score += 1

+ 3 - 0
2d/dodge_the_creeps/Main.tscn

@@ -20,6 +20,9 @@ mob_scene = ExtResource( 2 )
 anchor_right = 1.0
 anchor_bottom = 1.0
 color = Color( 0.219608, 0.372549, 0.380392, 1 )
+__meta__ = {
+"_edit_use_anchors_": false
+}
 
 [node name="Player" parent="." instance=ExtResource( 3 )]
 

+ 1 - 1
2d/dodge_the_creeps/README.md

@@ -4,7 +4,7 @@ This is a simple game where your character must move
 and avoid the enemies for as long as possible.
 
 This is a finished version of the game featured in the
-["Your first game"](https://docs.godotengine.org/en/latest/getting_started/step_by_step/your_first_game.html)
+["Your first 2D game"](https://docs.godotengine.org/en/latest/getting_started/first_2d_game/index.html)
 tutorial in the documentation. For more details,
 consider following the tutorial in the documentation.
 

+ 6 - 1
2d/dodge_the_creeps/project.godot

@@ -14,7 +14,7 @@ config/name="Dodge the Creeps"
 config/description="This is a simple game where your character must move
 and avoid the enemies for as long as possible.
 
-This is a finished version of the game featured in the 'Your first game'
+This is a finished version of the game featured in the 'Your first 2D game'
 tutorial in the documentation. For more details, consider
 following the tutorial in the documentation."
 run/main_scene="res://Main.tscn"
@@ -61,3 +61,8 @@ move_down={
 , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null)
  ]
 }
+start_game={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777221,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+ ]
+}

+ 1 - 1
2d/physics_platformer/README.md

@@ -9,7 +9,7 @@ manual modification of the RigidBody velocity.
 
 Language: GDScript
 
-Renderer: GLES 3 (particles are not available in GLES 2)
+Renderer: GLES 2
 
 Check out this demo on the asset library: https://godotengine.org/asset-library/asset/119
 

+ 9 - 18
2d/physics_platformer/coin/Coin.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=12 format=2]
+[gd_scene load_steps=10 format=2]
 
 [ext_resource path="res://coin/coin.gd" type="Script" id=1]
 [ext_resource path="res://coin/coin.png" type="Texture" id=2]
@@ -97,21 +97,6 @@ blend_mode = 1
 
 [sub_resource type="Curve" id=5]
 
-[sub_resource type="CurveTexture" id=6]
-curve = SubResource( 5 )
-
-[sub_resource type="ParticlesMaterial" id=7]
-emission_shape = 1
-emission_sphere_radius = 20.0
-flag_disable_z = true
-gravity = Vector3( 0, 0, 0 )
-initial_velocity = 1.0
-angular_velocity = 0.0191222
-orbit_velocity = 0.0
-orbit_velocity_random = 0.0
-scale = 0.3
-scale_curve = SubResource( 6 )
-
 [node name="Coin" type="Area2D"]
 script = ExtResource( 1 )
 
@@ -130,14 +115,20 @@ shape = SubResource( 3 )
 [node name="Sound" type="AudioStreamPlayer2D" parent="."]
 stream = ExtResource( 3 )
 
-[node name="Particles" type="Particles2D" parent="."]
+[node name="Particles" type="CPUParticles2D" parent="."]
 modulate = Color( 0.596863, 0.638745, 1, 1 )
 material = SubResource( 4 )
 emitting = false
 one_shot = true
 explosiveness = 0.7
-process_material = SubResource( 7 )
 texture = ExtResource( 4 )
+emission_shape = 1
+emission_sphere_radius = 20.0
+gravity = Vector2( 0, 0 )
+initial_velocity = 1.0
+angular_velocity = 0.0191222
+scale_amount = 0.3
+scale_amount_curve = SubResource( 5 )
 
 [node name="Enabler" type="VisibilityEnabler2D" parent="."]
 rect = Rect2( -5, -5, 10, 10 )

+ 11 - 20
2d/physics_platformer/enemy/Enemy.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=14 format=2]
+[gd_scene load_steps=12 format=2]
 
 [ext_resource path="res://enemy/enemy.gd" type="Script" id=1]
 [ext_resource path="res://enemy/enemy.png" type="Texture" id=2]
@@ -106,23 +106,6 @@ radius = 7.0
 offsets = PoolRealArray( 0.5, 1 )
 colors = PoolColorArray( 1, 1, 1, 0.501961, 0, 0, 0, 0 )
 
-[sub_resource type="GradientTexture" id=7]
-gradient = SubResource( 6 )
-
-[sub_resource type="ParticlesMaterial" id=8]
-emission_shape = 1
-emission_sphere_radius = 8.0
-flag_disable_z = true
-spread = 180.0
-gravity = Vector3( 0, 0, 0 )
-initial_velocity = 120.0
-initial_velocity_random = 0.5
-orbit_velocity = 0.0
-orbit_velocity_random = 0.0
-angle_random = 1.0
-scale_random = 1.0
-color_ramp = SubResource( 7 )
-
 [node name="Enemy" type="RigidBody2D"]
 mode = 2
 physics_material_override = SubResource( 1 )
@@ -166,7 +149,7 @@ position = Vector2( 11, -4.672 )
 enabled = true
 cast_to = Vector2( 0, 22.5 )
 
-[node name="Explosion" type="Particles2D" parent="."]
+[node name="Explosion" type="CPUParticles2D" parent="."]
 modulate = Color( 1, 1, 1, 0.685843 )
 emitting = false
 amount = 32
@@ -174,8 +157,16 @@ lifetime = 0.5
 one_shot = true
 speed_scale = 1.2
 explosiveness = 0.76
-process_material = SubResource( 8 )
 texture = ExtResource( 3 )
+emission_shape = 1
+emission_sphere_radius = 8.0
+spread = 180.0
+gravity = Vector2( 0, 0 )
+initial_velocity = 120.0
+initial_velocity_random = 0.5
+angle_random = 1.0
+scale_amount_random = 1.0
+color_ramp = SubResource( 6 )
 
 [node name="SoundHit" type="AudioStreamPlayer2D" parent="."]
 stream = ExtResource( 4 )

+ 12 - 17
2d/physics_platformer/player/Bullet.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=7 format=2]
+[gd_scene load_steps=6 format=2]
 
 [ext_resource path="res://player/bullet.gd" type="Script" id=1]
 [ext_resource path="res://player/bullet.png" type="Texture" id=2]
@@ -6,20 +6,10 @@
 [sub_resource type="CanvasItemMaterial" id=1]
 blend_mode = 1
 
-[sub_resource type="ParticlesMaterial" id=2]
-flag_disable_z = true
-spread = 0.0
-gravity = Vector3( 0, 0, 0 )
-initial_velocity = 1.0
-angular_velocity = 38.0
-orbit_velocity = 0.0
-orbit_velocity_random = 0.0
-scale = 0.8
-
-[sub_resource type="CircleShape2D" id=3]
+[sub_resource type="CircleShape2D" id=2]
 radius = 4.5
 
-[sub_resource type="Animation" id=4]
+[sub_resource type="Animation" id=3]
 length = 1.5
 tracks/0/type = "method"
 tracks/0/path = NodePath(".")
@@ -64,24 +54,29 @@ tracks/2/keys = {
 continuous_cd = 2
 script = ExtResource( 1 )
 
-[node name="Particles2D" type="Particles2D" parent="."]
+[node name="Particles2D" type="CPUParticles2D" parent="."]
 material = SubResource( 1 )
+emitting = false
 lifetime = 0.3
 speed_scale = 3.0
 local_coords = false
-process_material = SubResource( 2 )
 texture = ExtResource( 2 )
+spread = 0.0
+gravity = Vector2( 0, 0 )
+initial_velocity = 1.0
+angular_velocity = 38.0
+scale_amount = 0.8
 
 [node name="Sprite" type="Sprite" parent="."]
 texture = ExtResource( 2 )
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-shape = SubResource( 3 )
+shape = SubResource( 2 )
 
 [node name="Timer" type="Timer" parent="."]
 one_shot = true
 
 [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
-anims/shutdown = SubResource( 4 )
+anims/shutdown = SubResource( 3 )
 
 [connection signal="timeout" from="Timer" to="." method="disable"]

+ 31 - 40
2d/physics_platformer/player/Player.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=25 format=2]
+[gd_scene load_steps=23 format=2]
 
 [ext_resource path="res://player/player.gd" type="Script" id=1]
 [ext_resource path="res://player/robot_demo.png" type="Texture" id=2]
@@ -16,22 +16,7 @@ friction = 0.0
 [sub_resource type="Gradient" id=2]
 colors = PoolColorArray( 0.708353, 0.72498, 1, 1, 1, 1, 1, 0 )
 
-[sub_resource type="GradientTexture" id=3]
-gradient = SubResource( 2 )
-
-[sub_resource type="ParticlesMaterial" id=4]
-flag_disable_z = true
-spread = 65.84
-gravity = Vector3( 0, -15, 0 )
-initial_velocity = 10.14
-angular_velocity = 200.0
-angular_velocity_random = 1.0
-orbit_velocity = 0.0
-orbit_velocity_random = 0.0
-linear_accel = 100.0
-color_ramp = SubResource( 3 )
-
-[sub_resource type="Animation" id=5]
+[sub_resource type="Animation" id=3]
 length = 0.01
 loop = true
 step = 0.25
@@ -48,7 +33,7 @@ tracks/0/keys = {
 "values": [ 22 ]
 }
 
-[sub_resource type="Animation" id=6]
+[sub_resource type="Animation" id=4]
 length = 0.01
 loop = true
 step = 0.25
@@ -65,7 +50,7 @@ tracks/0/keys = {
 "values": [ 21 ]
 }
 
-[sub_resource type="Animation" id=7]
+[sub_resource type="Animation" id=5]
 length = 0.5
 loop = true
 step = 0.25
@@ -82,7 +67,7 @@ tracks/0/keys = {
 "values": [ 26 ]
 }
 
-[sub_resource type="Animation" id=8]
+[sub_resource type="Animation" id=6]
 length = 7.0
 loop = true
 step = 0.25
@@ -99,7 +84,7 @@ tracks/0/keys = {
 "values": [ 16, 17, 18, 16, 19, 20, 19, 16 ]
 }
 
-[sub_resource type="Animation" id=9]
+[sub_resource type="Animation" id=7]
 length = 0.5
 loop = true
 step = 0.25
@@ -116,7 +101,7 @@ tracks/0/keys = {
 "values": [ 25 ]
 }
 
-[sub_resource type="Animation" id=10]
+[sub_resource type="Animation" id=8]
 length = 0.5
 loop = true
 step = 0.25
@@ -133,7 +118,7 @@ tracks/0/keys = {
 "values": [ 23, 24, 23 ]
 }
 
-[sub_resource type="Animation" id=11]
+[sub_resource type="Animation" id=9]
 length = 0.5
 loop = true
 step = 0.25
@@ -150,7 +135,7 @@ tracks/0/keys = {
 "values": [ 26 ]
 }
 
-[sub_resource type="Animation" id=12]
+[sub_resource type="Animation" id=10]
 length = 1.25
 loop = true
 step = 0.25
@@ -167,7 +152,7 @@ tracks/0/keys = {
 "values": [ 0, 1, 2, 3, 4, 0 ]
 }
 
-[sub_resource type="Animation" id=13]
+[sub_resource type="Animation" id=11]
 length = 1.25
 loop = true
 step = 0.25
@@ -184,7 +169,7 @@ tracks/0/keys = {
 "values": [ 5, 6, 7, 8, 9, 5 ]
 }
 
-[sub_resource type="Animation" id=14]
+[sub_resource type="Animation" id=12]
 length = 1.25
 loop = true
 step = 0.25
@@ -201,7 +186,7 @@ tracks/0/keys = {
 "values": [ 10, 11, 12, 13, 14, 5 ]
 }
 
-[sub_resource type="RayShape2D" id=15]
+[sub_resource type="RayShape2D" id=13]
 custom_solver_bias = 0.5
 length = 18.0
 
@@ -218,7 +203,7 @@ texture = ExtResource( 2 )
 hframes = 16
 vframes = 2
 
-[node name="Smoke" type="Particles2D" parent="Sprite"]
+[node name="Smoke" type="CPUParticles2D" parent="Sprite"]
 self_modulate = Color( 1, 1, 1, 0.26702 )
 position = Vector2( 10, 1.5 )
 rotation = -1.45648
@@ -227,20 +212,26 @@ lifetime = 0.3
 one_shot = true
 explosiveness = 1.0
 local_coords = false
-process_material = SubResource( 4 )
 texture = ExtResource( 3 )
+spread = 65.84
+gravity = Vector2( 0, -15 )
+initial_velocity = 10.14
+angular_velocity = 200.0
+angular_velocity_random = 1.0
+linear_accel = 100.0
+color_ramp = SubResource( 2 )
 
 [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
-anims/crouch = SubResource( 5 )
-anims/falling = SubResource( 6 )
-anims/falling_weapon = SubResource( 7 )
-anims/idle = SubResource( 8 )
-anims/idle_weapon = SubResource( 9 )
-anims/jumping = SubResource( 10 )
-anims/jumping_weapon = SubResource( 11 )
-anims/run = SubResource( 12 )
-anims/run_weapon = SubResource( 13 )
-anims/standing_weapon_ready = SubResource( 14 )
+anims/crouch = SubResource( 3 )
+anims/falling = SubResource( 4 )
+anims/falling_weapon = SubResource( 5 )
+anims/idle = SubResource( 6 )
+anims/idle_weapon = SubResource( 7 )
+anims/jumping = SubResource( 8 )
+anims/jumping_weapon = SubResource( 9 )
+anims/run = SubResource( 10 )
+anims/run_weapon = SubResource( 11 )
+anims/standing_weapon_ready = SubResource( 12 )
 
 [node name="Camera" type="Camera2D" parent="."]
 current = true
@@ -253,7 +244,7 @@ position = Vector2( 15, 2 )
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 position = Vector2( 0.15, -6 )
-shape = SubResource( 15 )
+shape = SubResource( 13 )
 
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
 polygon = PoolVector2Array( -0.138, 8.25, -10, -12, 11, -12 )

+ 2 - 1
2d/physics_platformer/project.godot

@@ -66,7 +66,7 @@ window/size/width=800
 window/size/height=480
 window/dpi/allow_hidpi=true
 window/stretch/mode="2d"
-window/stretch/aspect="keep"
+window/stretch/aspect="keep_height"
 
 [gdnative]
 
@@ -154,6 +154,7 @@ mipmap_policy=1
 
 [rendering]
 
+quality/driver/driver_name="GLES2"
 quality/intended_usage/framebuffer_allocation=0
 quality/intended_usage/framebuffer_allocation.mobile=1
 2d/snapping/use_gpu_pixel_snap=true

+ 1 - 1
2d/platformer/README.md

@@ -17,7 +17,7 @@ they contain a lot of comments that explain how each class works.
 
 Language: GDScript
 
-Renderer: GLES 3 (particles are not available in GLES 2)
+Renderer: GLES 2
 
 Check out this demo on the asset library: https://godotengine.org/asset-library/asset/120
 

+ 1 - 0
2d/platformer/assets/art/background/cloud_1.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/background/cloud_2.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/background/cloud_3.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/background/distant_platforms_1.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/background/distant_platforms_2.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/background/sky.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/coin/coin.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/enemy/enemy.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/platforms/moving_platform.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/platforms/one_way_platform.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/player/bullet/bullet.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/player/robot_demo.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/tileset/tiles_demo.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/ui/touch_button_fire.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/ui/touch_button_jump.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/ui/touch_button_left.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/assets/art/ui/touch_button_right.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/icon.png.import

@@ -28,6 +28,7 @@ process/fix_alpha_border=true
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/invert_color=false
+process/normal_map_invert_y=false
 stream=false
 size_limit=0
 detect_3d=false

+ 1 - 0
2d/platformer/project.godot

@@ -240,6 +240,7 @@ mipmap_policy=1
 
 [rendering]
 
+quality/driver/driver_name="GLES2"
 quality/intended_usage/framebuffer_allocation=0
 quality/intended_usage/framebuffer_allocation.mobile=1
 2d/snapping/use_gpu_pixel_snap=true

+ 13 - 23
2d/platformer/src/Actors/Enemy.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=15 format=2]
+[gd_scene load_steps=13 format=2]
 
 [ext_resource path="res://assets/art/player/bullet/bullet.png" type="Texture" id=1]
 [ext_resource path="res://assets/audio/sfx/explode.wav" type="AudioStream" id=2]
@@ -179,26 +179,6 @@ blend_mode = 1
 offsets = PoolRealArray( 0.5, 1 )
 colors = PoolColorArray( 1, 1, 1, 1, 0, 0, 0, 1 )
 
-[sub_resource type="GradientTexture" id=8]
-gradient = SubResource( 7 )
-width = 256
-
-[sub_resource type="ParticlesMaterial" id=9]
-emission_shape = 1
-emission_sphere_radius = 8.0
-flag_disable_z = true
-spread = 180.0
-gravity = Vector3( 0, 250, 0 )
-initial_velocity = 120.0
-initial_velocity_random = 0.5
-orbit_velocity = 0.0
-orbit_velocity_random = 0.0
-angle_random = 1.0
-scale_random = 1.0
-color_ramp = SubResource( 8 )
-hue_variation = 0.05
-hue_variation_random = 0.46
-
 [node name="Enemy" type="KinematicBody2D"]
 collision_layer = 2
 collision_mask = 24
@@ -239,7 +219,7 @@ anims/walk = SubResource( 4 )
 rotation = -1.5708
 shape = SubResource( 5 )
 
-[node name="Explosion" type="Particles2D" parent="."]
+[node name="Explosion" type="CPUParticles2D" parent="."]
 self_modulate = Color( 1, 1, 1, 0.12 )
 material = SubResource( 6 )
 emitting = false
@@ -249,8 +229,18 @@ one_shot = true
 speed_scale = 1.2
 explosiveness = 0.76
 draw_order = 215832976
-process_material = SubResource( 9 )
 texture = ExtResource( 1 )
+emission_shape = 1
+emission_sphere_radius = 8.0
+spread = 180.0
+gravity = Vector2( 0, 250 )
+initial_velocity = 120.0
+initial_velocity_random = 0.5
+angle_random = 1.0
+scale_amount_random = 1.0
+color_ramp = SubResource( 7 )
+hue_variation = 0.05
+hue_variation_random = 0.46
 
 [node name="Hit" type="AudioStreamPlayer2D" parent="."]
 stream = ExtResource( 3 )

+ 1 - 0
2d/platformer/src/Actors/Gun.gd

@@ -22,4 +22,5 @@ func shoot(direction = 1):
 	bullet.set_as_toplevel(true)
 	add_child(bullet)
 	sound_shoot.play()
+	timer.start()
 	return true

+ 5 - 1
2d/platformer/src/Actors/Player.gd

@@ -22,10 +22,14 @@ func _ready():
 	var camera: Camera2D = $Camera
 	if action_suffix == "_p1":
 		camera.custom_viewport = $"../.."
+		yield(get_tree(), "idle_frame")
+		camera.make_current()
 	elif action_suffix == "_p2":
-		var viewport: Viewport = $"../../../../ViewportContainer2/Viewport"
+		var viewport: Viewport = $"../../../../ViewportContainer2/Viewport2"
 		viewport.world_2d = ($"../.." as Viewport).world_2d
 		camera.custom_viewport = viewport
+		yield(get_tree(), "idle_frame")
+		camera.make_current()
 
 
 # Physics process is a built-in loop in Godot.

+ 6 - 6
2d/platformer/src/Main/Splitscreen.tscn

@@ -40,7 +40,7 @@ __meta__ = {
 "_edit_use_anchors_": false
 }
 
-[node name="Viewport" type="Viewport" parent="Black/SplitContainer/ViewportContainer1"]
+[node name="Viewport1" type="Viewport" parent="Black/SplitContainer/ViewportContainer1"]
 size = Vector2( 394, 480 )
 size_override_stretch = true
 handle_input_locally = false
@@ -48,13 +48,13 @@ usage = 0
 render_target_update_mode = 3
 audio_listener_enable_2d = true
 
-[node name="Level" parent="Black/SplitContainer/ViewportContainer1/Viewport" instance=ExtResource( 3 )]
+[node name="Level" parent="Black/SplitContainer/ViewportContainer1/Viewport1" instance=ExtResource( 3 )]
 
-[node name="Player1" parent="Black/SplitContainer/ViewportContainer1/Viewport/Level" instance=ExtResource( 4 )]
+[node name="Player1" parent="Black/SplitContainer/ViewportContainer1/Viewport1/Level" instance=ExtResource( 4 )]
 position = Vector2( 90, 546 )
 action_suffix = "_p1"
 
-[node name="Player2" parent="Black/SplitContainer/ViewportContainer1/Viewport/Level" instance=ExtResource( 4 )]
+[node name="Player2" parent="Black/SplitContainer/ViewportContainer1/Viewport1/Level" instance=ExtResource( 4 )]
 position = Vector2( 120, 546 )
 action_suffix = "_p2"
 
@@ -69,7 +69,7 @@ __meta__ = {
 "_edit_use_anchors_": false
 }
 
-[node name="Viewport" type="Viewport" parent="Black/SplitContainer/ViewportContainer2"]
+[node name="Viewport2" type="Viewport" parent="Black/SplitContainer/ViewportContainer2"]
 size = Vector2( 394, 480 )
 size_override_stretch = true
 handle_input_locally = false
@@ -77,4 +77,4 @@ usage = 0
 render_target_update_mode = 3
 audio_listener_enable_2d = true
 
-[node name="ParallaxBackground" parent="Black/SplitContainer/ViewportContainer2/Viewport" instance=ExtResource( 5 )]
+[node name="ParallaxBackground" parent="Black/SplitContainer/ViewportContainer2/Viewport2" instance=ExtResource( 5 )]

+ 13 - 18
2d/platformer/src/Objects/Bullet.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=9 format=2]
+[gd_scene load_steps=8 format=2]
 
 [ext_resource path="res://assets/art/player/bullet/bullet.png" type="Texture" id=1]
 [ext_resource path="res://src/Objects/Bullet.gd" type="Script" id=2]
@@ -8,21 +8,12 @@
 [sub_resource type="CanvasItemMaterial" id=2]
 blend_mode = 1
 
-[sub_resource type="ParticlesMaterial" id=3]
-flag_disable_z = true
-spread = 0.0
-gravity = Vector3( 0, 0, 0 )
-orbit_velocity = 0.0
-orbit_velocity_random = 0.0
-scale = 0.8
-color = Color( 1, 1, 1, 0.705882 )
-
-[sub_resource type="CanvasItemMaterial" id=4]
+[sub_resource type="CanvasItemMaterial" id=3]
 
-[sub_resource type="CircleShape2D" id=5]
+[sub_resource type="CircleShape2D" id=4]
 radius = 4.5
 
-[sub_resource type="Animation" id=6]
+[sub_resource type="Animation" id=5]
 resource_name = "destroy"
 length = 0.3
 tracks/0/type = "method"
@@ -73,27 +64,31 @@ contacts_reported = 1
 contact_monitor = true
 script = ExtResource( 2 )
 
-[node name="Particles2D" type="Particles2D" parent="."]
+[node name="Particles2D" type="CPUParticles2D" parent="."]
 material = SubResource( 2 )
+emitting = false
 lifetime = 0.3
 speed_scale = 3.0
 local_coords = false
-process_material = SubResource( 3 )
 texture = ExtResource( 1 )
+spread = 0.0
+gravity = Vector2( 0, 0 )
+scale_amount = 0.8
+color = Color( 1, 1, 1, 0.705882 )
 
 [node name="Sprite" type="Sprite" parent="."]
-material = SubResource( 4 )
+material = SubResource( 3 )
 texture = ExtResource( 1 )
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-shape = SubResource( 5 )
+shape = SubResource( 4 )
 
 [node name="Timer" type="Timer" parent="."]
 one_shot = true
 autostart = true
 
 [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
-anims/destroy = SubResource( 6 )
+anims/destroy = SubResource( 5 )
 
 [connection signal="body_entered" from="." to="." method="_on_body_entered"]
 [connection signal="timeout" from="Timer" to="." method="destroy"]

+ 1 - 1
2d/platformer/src/UserInterface/CoinsCounter.gd

@@ -12,7 +12,7 @@ func _ready():
 	anim_sprite.play()
 	# Check if the game is in splitscreen mode by checking the scene root name.
 	if get_tree().get_root().get_child(0).name == "Splitscreen":
-		var _level_node = get_node(@"../../../../Black/SplitContainer/ViewportContainer1/Viewport/Level")
+		var _level_node = get_node(@"../../../../Black/SplitContainer/ViewportContainer1/Viewport1/Level")
 		_level_node.get_node("Player1").connect("collect_coin", self, "_collect_coin")
 		_level_node.get_node("Player2").connect("collect_coin", self, "_collect_coin")
 	else:

+ 51 - 0
3d/global_illumination/README.md

@@ -0,0 +1,51 @@
+# Global Illumination
+
+This demo showcases Godot's global illumination systems:
+[GIProbe](https://docs.godotengine.org/en/stable/tutorials/3d/gi_probes.html),
+[BakedLightmap](https://docs.godotengine.org/en/stable/tutorials/3d/baked_lightmaps.html)
+(indirect only and fully baked) and
+[ReflectionProbe](https://docs.godotengine.org/en/stable/tutorials/3d/reflection_probes.html).
+
+Use the mouse to look around, <kbd>W</kbd>/<kbd>A</kbd>/<kbd>S</kbd>/<kbd>D</kbd>
+or arrow keys to move.
+
+Language: GDScript
+
+Renderer: GLES 3[^1]
+
+Check out this demo on the asset library: https://godotengine.org/asset-library/asset/1290
+
+## How does it work?
+
+A glTF scene (which acts as the level mesh) is imported with its **Light Baking**
+option set to **Gen Lightmaps**.
+This is required for BakedLightmap to work (but is not required for GIProbe
+or BakedLightmap).
+
+The level mesh is duplicated several times to allow displaying it with various bake settings:
+
+- No baking (uses GIProbe or environment lighting).
+- Baked indirect lighting. Slower, but allows for real-time shadows to display
+  on baked surfaces.
+- Baked direct *and* indirect lighting. Faster, but does not allow for real-time
+  shadows to display on baked surfaces.
+
+A sphere and box are parented to the camera to showcase dynamic object lighting.
+A ReflectionProbe is parented to the sphere to showcase real-time reflections.
+When the ReflectionProbe is hidden, it is disabled. In this case,
+GIProbe or environment lighting will be used to provide fallback reflections.
+
+## Screenshots
+
+![Screenshot](screenshots/global_illumination.png)
+
+## Licenses
+
+`zdm2.glb` is derived from the [Cube 2: Sauerbraten](http://sauerbraten.org/)
+map "zdm2" and is
+[licensed under CC BY 4.0 Unported](https://github.com/Calinou/game-maps-obj/blob/master/sauerbraten/zdm2.txt).
+The OBJ file which it was converted from is available in the [game-maps-obj](https://github.com/Calinou/game-maps-obj) repository.
+
+[^1]: This demo can be made to work with GLES2, but GIProbe will not work.
+Additionally, lightmaps have to be rebaked with the **Atlas > Generate** property
+disabled in BakedLightmap.

+ 43 - 0
3d/global_illumination/camera.gd

@@ -0,0 +1,43 @@
+extends Camera
+
+const MOUSE_SENSITIVITY = 0.002
+const MOVE_SPEED = 1.5
+
+var rot = Vector3()
+var velocity = Vector3()
+
+
+func _ready():
+	Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
+
+
+func _input(event):
+	# Mouse look (only if the mouse is captured).
+	if event is InputEventMouseMotion and Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED:
+		# Horizontal mouse look.
+		rot.y -= event.relative.x * MOUSE_SENSITIVITY
+		# Vertical mouse look.
+		rot.x = clamp(rot.x - event.relative.y * MOUSE_SENSITIVITY, -1.57, 1.57)
+		transform.basis = Basis(rot)
+
+	if event.is_action_pressed("toggle_mouse_capture"):
+		if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED:
+			Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
+		else:
+			Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
+
+
+func _process(delta):
+	var motion = Vector3(
+			Input.get_action_strength("move_right") - Input.get_action_strength("move_left"),
+			0,
+			Input.get_action_strength("move_back") - Input.get_action_strength("move_forward")
+	)
+
+	# Normalize motion to prevent diagonal movement from being
+	# `sqrt(2)` times faster than straight movement.
+	motion = motion.normalized()
+
+	velocity += MOVE_SPEED * delta * transform.basis.xform(motion)
+	velocity *= 0.85
+	translation += velocity

BIN
3d/global_illumination/cube.blend


BIN
3d/global_illumination/cube.glb


+ 1065 - 0
3d/global_illumination/cube.glb.import

@@ -0,0 +1,1065 @@
+[remap]
+
+importer="scene"
+type="PackedScene"
+path="res://.import/cube.glb-ec927bc01951d93b2130ba52799eca7c.scn"
+
+[deps]
+
+source_file="res://cube.glb"
+dest_files=[ "res://.import/cube.glb-ec927bc01951d93b2130ba52799eca7c.scn" ]
+
+[params]
+
+nodes/root_type="Spatial"
+nodes/root_name="Scene Root"
+nodes/root_scale=1.0
+nodes/custom_script=""
+nodes/storage=0
+nodes/use_legacy_names=false
+materials/location=1
+materials/storage=1
+materials/keep_on_reimport=true
+meshes/octahedral_compression=true
+meshes/compress=true
+meshes/ensure_tangents=true
+meshes/storage=0
+meshes/light_baking=2
+meshes/lightmap_texel_size=0.1
+skins/use_named_skins=true
+external_files/store_in_subdir=false
+animation/import=true
+animation/fps=15
+animation/filter_script=""
+animation/storage=false
+animation/keep_custom_tracks=false
+animation/optimizer/enabled=true
+animation/optimizer/max_linear_error=0.05
+animation/optimizer/max_angular_error=0.01
+animation/optimizer/max_angle=22
+animation/optimizer/remove_unused_tracks=true
+animation/clips/amount=0
+animation/clip_1/name=""
+animation/clip_1/start_frame=0
+animation/clip_1/end_frame=0
+animation/clip_1/loops=false
+animation/clip_2/name=""
+animation/clip_2/start_frame=0
+animation/clip_2/end_frame=0
+animation/clip_2/loops=false
+animation/clip_3/name=""
+animation/clip_3/start_frame=0
+animation/clip_3/end_frame=0
+animation/clip_3/loops=false
+animation/clip_4/name=""
+animation/clip_4/start_frame=0
+animation/clip_4/end_frame=0
+animation/clip_4/loops=false
+animation/clip_5/name=""
+animation/clip_5/start_frame=0
+animation/clip_5/end_frame=0
+animation/clip_5/loops=false
+animation/clip_6/name=""
+animation/clip_6/start_frame=0
+animation/clip_6/end_frame=0
+animation/clip_6/loops=false
+animation/clip_7/name=""
+animation/clip_7/start_frame=0
+animation/clip_7/end_frame=0
+animation/clip_7/loops=false
+animation/clip_8/name=""
+animation/clip_8/start_frame=0
+animation/clip_8/end_frame=0
+animation/clip_8/loops=false
+animation/clip_9/name=""
+animation/clip_9/start_frame=0
+animation/clip_9/end_frame=0
+animation/clip_9/loops=false
+animation/clip_10/name=""
+animation/clip_10/start_frame=0
+animation/clip_10/end_frame=0
+animation/clip_10/loops=false
+animation/clip_11/name=""
+animation/clip_11/start_frame=0
+animation/clip_11/end_frame=0
+animation/clip_11/loops=false
+animation/clip_12/name=""
+animation/clip_12/start_frame=0
+animation/clip_12/end_frame=0
+animation/clip_12/loops=false
+animation/clip_13/name=""
+animation/clip_13/start_frame=0
+animation/clip_13/end_frame=0
+animation/clip_13/loops=false
+animation/clip_14/name=""
+animation/clip_14/start_frame=0
+animation/clip_14/end_frame=0
+animation/clip_14/loops=false
+animation/clip_15/name=""
+animation/clip_15/start_frame=0
+animation/clip_15/end_frame=0
+animation/clip_15/loops=false
+animation/clip_16/name=""
+animation/clip_16/start_frame=0
+animation/clip_16/end_frame=0
+animation/clip_16/loops=false
+animation/clip_17/name=""
+animation/clip_17/start_frame=0
+animation/clip_17/end_frame=0
+animation/clip_17/loops=false
+animation/clip_18/name=""
+animation/clip_18/start_frame=0
+animation/clip_18/end_frame=0
+animation/clip_18/loops=false
+animation/clip_19/name=""
+animation/clip_19/start_frame=0
+animation/clip_19/end_frame=0
+animation/clip_19/loops=false
+animation/clip_20/name=""
+animation/clip_20/start_frame=0
+animation/clip_20/end_frame=0
+animation/clip_20/loops=false
+animation/clip_21/name=""
+animation/clip_21/start_frame=0
+animation/clip_21/end_frame=0
+animation/clip_21/loops=false
+animation/clip_22/name=""
+animation/clip_22/start_frame=0
+animation/clip_22/end_frame=0
+animation/clip_22/loops=false
+animation/clip_23/name=""
+animation/clip_23/start_frame=0
+animation/clip_23/end_frame=0
+animation/clip_23/loops=false
+animation/clip_24/name=""
+animation/clip_24/start_frame=0
+animation/clip_24/end_frame=0
+animation/clip_24/loops=false
+animation/clip_25/name=""
+animation/clip_25/start_frame=0
+animation/clip_25/end_frame=0
+animation/clip_25/loops=false
+animation/clip_26/name=""
+animation/clip_26/start_frame=0
+animation/clip_26/end_frame=0
+animation/clip_26/loops=false
+animation/clip_27/name=""
+animation/clip_27/start_frame=0
+animation/clip_27/end_frame=0
+animation/clip_27/loops=false
+animation/clip_28/name=""
+animation/clip_28/start_frame=0
+animation/clip_28/end_frame=0
+animation/clip_28/loops=false
+animation/clip_29/name=""
+animation/clip_29/start_frame=0
+animation/clip_29/end_frame=0
+animation/clip_29/loops=false
+animation/clip_30/name=""
+animation/clip_30/start_frame=0
+animation/clip_30/end_frame=0
+animation/clip_30/loops=false
+animation/clip_31/name=""
+animation/clip_31/start_frame=0
+animation/clip_31/end_frame=0
+animation/clip_31/loops=false
+animation/clip_32/name=""
+animation/clip_32/start_frame=0
+animation/clip_32/end_frame=0
+animation/clip_32/loops=false
+animation/clip_33/name=""
+animation/clip_33/start_frame=0
+animation/clip_33/end_frame=0
+animation/clip_33/loops=false
+animation/clip_34/name=""
+animation/clip_34/start_frame=0
+animation/clip_34/end_frame=0
+animation/clip_34/loops=false
+animation/clip_35/name=""
+animation/clip_35/start_frame=0
+animation/clip_35/end_frame=0
+animation/clip_35/loops=false
+animation/clip_36/name=""
+animation/clip_36/start_frame=0
+animation/clip_36/end_frame=0
+animation/clip_36/loops=false
+animation/clip_37/name=""
+animation/clip_37/start_frame=0
+animation/clip_37/end_frame=0
+animation/clip_37/loops=false
+animation/clip_38/name=""
+animation/clip_38/start_frame=0
+animation/clip_38/end_frame=0
+animation/clip_38/loops=false
+animation/clip_39/name=""
+animation/clip_39/start_frame=0
+animation/clip_39/end_frame=0
+animation/clip_39/loops=false
+animation/clip_40/name=""
+animation/clip_40/start_frame=0
+animation/clip_40/end_frame=0
+animation/clip_40/loops=false
+animation/clip_41/name=""
+animation/clip_41/start_frame=0
+animation/clip_41/end_frame=0
+animation/clip_41/loops=false
+animation/clip_42/name=""
+animation/clip_42/start_frame=0
+animation/clip_42/end_frame=0
+animation/clip_42/loops=false
+animation/clip_43/name=""
+animation/clip_43/start_frame=0
+animation/clip_43/end_frame=0
+animation/clip_43/loops=false
+animation/clip_44/name=""
+animation/clip_44/start_frame=0
+animation/clip_44/end_frame=0
+animation/clip_44/loops=false
+animation/clip_45/name=""
+animation/clip_45/start_frame=0
+animation/clip_45/end_frame=0
+animation/clip_45/loops=false
+animation/clip_46/name=""
+animation/clip_46/start_frame=0
+animation/clip_46/end_frame=0
+animation/clip_46/loops=false
+animation/clip_47/name=""
+animation/clip_47/start_frame=0
+animation/clip_47/end_frame=0
+animation/clip_47/loops=false
+animation/clip_48/name=""
+animation/clip_48/start_frame=0
+animation/clip_48/end_frame=0
+animation/clip_48/loops=false
+animation/clip_49/name=""
+animation/clip_49/start_frame=0
+animation/clip_49/end_frame=0
+animation/clip_49/loops=false
+animation/clip_50/name=""
+animation/clip_50/start_frame=0
+animation/clip_50/end_frame=0
+animation/clip_50/loops=false
+animation/clip_51/name=""
+animation/clip_51/start_frame=0
+animation/clip_51/end_frame=0
+animation/clip_51/loops=false
+animation/clip_52/name=""
+animation/clip_52/start_frame=0
+animation/clip_52/end_frame=0
+animation/clip_52/loops=false
+animation/clip_53/name=""
+animation/clip_53/start_frame=0
+animation/clip_53/end_frame=0
+animation/clip_53/loops=false
+animation/clip_54/name=""
+animation/clip_54/start_frame=0
+animation/clip_54/end_frame=0
+animation/clip_54/loops=false
+animation/clip_55/name=""
+animation/clip_55/start_frame=0
+animation/clip_55/end_frame=0
+animation/clip_55/loops=false
+animation/clip_56/name=""
+animation/clip_56/start_frame=0
+animation/clip_56/end_frame=0
+animation/clip_56/loops=false
+animation/clip_57/name=""
+animation/clip_57/start_frame=0
+animation/clip_57/end_frame=0
+animation/clip_57/loops=false
+animation/clip_58/name=""
+animation/clip_58/start_frame=0
+animation/clip_58/end_frame=0
+animation/clip_58/loops=false
+animation/clip_59/name=""
+animation/clip_59/start_frame=0
+animation/clip_59/end_frame=0
+animation/clip_59/loops=false
+animation/clip_60/name=""
+animation/clip_60/start_frame=0
+animation/clip_60/end_frame=0
+animation/clip_60/loops=false
+animation/clip_61/name=""
+animation/clip_61/start_frame=0
+animation/clip_61/end_frame=0
+animation/clip_61/loops=false
+animation/clip_62/name=""
+animation/clip_62/start_frame=0
+animation/clip_62/end_frame=0
+animation/clip_62/loops=false
+animation/clip_63/name=""
+animation/clip_63/start_frame=0
+animation/clip_63/end_frame=0
+animation/clip_63/loops=false
+animation/clip_64/name=""
+animation/clip_64/start_frame=0
+animation/clip_64/end_frame=0
+animation/clip_64/loops=false
+animation/clip_65/name=""
+animation/clip_65/start_frame=0
+animation/clip_65/end_frame=0
+animation/clip_65/loops=false
+animation/clip_66/name=""
+animation/clip_66/start_frame=0
+animation/clip_66/end_frame=0
+animation/clip_66/loops=false
+animation/clip_67/name=""
+animation/clip_67/start_frame=0
+animation/clip_67/end_frame=0
+animation/clip_67/loops=false
+animation/clip_68/name=""
+animation/clip_68/start_frame=0
+animation/clip_68/end_frame=0
+animation/clip_68/loops=false
+animation/clip_69/name=""
+animation/clip_69/start_frame=0
+animation/clip_69/end_frame=0
+animation/clip_69/loops=false
+animation/clip_70/name=""
+animation/clip_70/start_frame=0
+animation/clip_70/end_frame=0
+animation/clip_70/loops=false
+animation/clip_71/name=""
+animation/clip_71/start_frame=0
+animation/clip_71/end_frame=0
+animation/clip_71/loops=false
+animation/clip_72/name=""
+animation/clip_72/start_frame=0
+animation/clip_72/end_frame=0
+animation/clip_72/loops=false
+animation/clip_73/name=""
+animation/clip_73/start_frame=0
+animation/clip_73/end_frame=0
+animation/clip_73/loops=false
+animation/clip_74/name=""
+animation/clip_74/start_frame=0
+animation/clip_74/end_frame=0
+animation/clip_74/loops=false
+animation/clip_75/name=""
+animation/clip_75/start_frame=0
+animation/clip_75/end_frame=0
+animation/clip_75/loops=false
+animation/clip_76/name=""
+animation/clip_76/start_frame=0
+animation/clip_76/end_frame=0
+animation/clip_76/loops=false
+animation/clip_77/name=""
+animation/clip_77/start_frame=0
+animation/clip_77/end_frame=0
+animation/clip_77/loops=false
+animation/clip_78/name=""
+animation/clip_78/start_frame=0
+animation/clip_78/end_frame=0
+animation/clip_78/loops=false
+animation/clip_79/name=""
+animation/clip_79/start_frame=0
+animation/clip_79/end_frame=0
+animation/clip_79/loops=false
+animation/clip_80/name=""
+animation/clip_80/start_frame=0
+animation/clip_80/end_frame=0
+animation/clip_80/loops=false
+animation/clip_81/name=""
+animation/clip_81/start_frame=0
+animation/clip_81/end_frame=0
+animation/clip_81/loops=false
+animation/clip_82/name=""
+animation/clip_82/start_frame=0
+animation/clip_82/end_frame=0
+animation/clip_82/loops=false
+animation/clip_83/name=""
+animation/clip_83/start_frame=0
+animation/clip_83/end_frame=0
+animation/clip_83/loops=false
+animation/clip_84/name=""
+animation/clip_84/start_frame=0
+animation/clip_84/end_frame=0
+animation/clip_84/loops=false
+animation/clip_85/name=""
+animation/clip_85/start_frame=0
+animation/clip_85/end_frame=0
+animation/clip_85/loops=false
+animation/clip_86/name=""
+animation/clip_86/start_frame=0
+animation/clip_86/end_frame=0
+animation/clip_86/loops=false
+animation/clip_87/name=""
+animation/clip_87/start_frame=0
+animation/clip_87/end_frame=0
+animation/clip_87/loops=false
+animation/clip_88/name=""
+animation/clip_88/start_frame=0
+animation/clip_88/end_frame=0
+animation/clip_88/loops=false
+animation/clip_89/name=""
+animation/clip_89/start_frame=0
+animation/clip_89/end_frame=0
+animation/clip_89/loops=false
+animation/clip_90/name=""
+animation/clip_90/start_frame=0
+animation/clip_90/end_frame=0
+animation/clip_90/loops=false
+animation/clip_91/name=""
+animation/clip_91/start_frame=0
+animation/clip_91/end_frame=0
+animation/clip_91/loops=false
+animation/clip_92/name=""
+animation/clip_92/start_frame=0
+animation/clip_92/end_frame=0
+animation/clip_92/loops=false
+animation/clip_93/name=""
+animation/clip_93/start_frame=0
+animation/clip_93/end_frame=0
+animation/clip_93/loops=false
+animation/clip_94/name=""
+animation/clip_94/start_frame=0
+animation/clip_94/end_frame=0
+animation/clip_94/loops=false
+animation/clip_95/name=""
+animation/clip_95/start_frame=0
+animation/clip_95/end_frame=0
+animation/clip_95/loops=false
+animation/clip_96/name=""
+animation/clip_96/start_frame=0
+animation/clip_96/end_frame=0
+animation/clip_96/loops=false
+animation/clip_97/name=""
+animation/clip_97/start_frame=0
+animation/clip_97/end_frame=0
+animation/clip_97/loops=false
+animation/clip_98/name=""
+animation/clip_98/start_frame=0
+animation/clip_98/end_frame=0
+animation/clip_98/loops=false
+animation/clip_99/name=""
+animation/clip_99/start_frame=0
+animation/clip_99/end_frame=0
+animation/clip_99/loops=false
+animation/clip_100/name=""
+animation/clip_100/start_frame=0
+animation/clip_100/end_frame=0
+animation/clip_100/loops=false
+animation/clip_101/name=""
+animation/clip_101/start_frame=0
+animation/clip_101/end_frame=0
+animation/clip_101/loops=false
+animation/clip_102/name=""
+animation/clip_102/start_frame=0
+animation/clip_102/end_frame=0
+animation/clip_102/loops=false
+animation/clip_103/name=""
+animation/clip_103/start_frame=0
+animation/clip_103/end_frame=0
+animation/clip_103/loops=false
+animation/clip_104/name=""
+animation/clip_104/start_frame=0
+animation/clip_104/end_frame=0
+animation/clip_104/loops=false
+animation/clip_105/name=""
+animation/clip_105/start_frame=0
+animation/clip_105/end_frame=0
+animation/clip_105/loops=false
+animation/clip_106/name=""
+animation/clip_106/start_frame=0
+animation/clip_106/end_frame=0
+animation/clip_106/loops=false
+animation/clip_107/name=""
+animation/clip_107/start_frame=0
+animation/clip_107/end_frame=0
+animation/clip_107/loops=false
+animation/clip_108/name=""
+animation/clip_108/start_frame=0
+animation/clip_108/end_frame=0
+animation/clip_108/loops=false
+animation/clip_109/name=""
+animation/clip_109/start_frame=0
+animation/clip_109/end_frame=0
+animation/clip_109/loops=false
+animation/clip_110/name=""
+animation/clip_110/start_frame=0
+animation/clip_110/end_frame=0
+animation/clip_110/loops=false
+animation/clip_111/name=""
+animation/clip_111/start_frame=0
+animation/clip_111/end_frame=0
+animation/clip_111/loops=false
+animation/clip_112/name=""
+animation/clip_112/start_frame=0
+animation/clip_112/end_frame=0
+animation/clip_112/loops=false
+animation/clip_113/name=""
+animation/clip_113/start_frame=0
+animation/clip_113/end_frame=0
+animation/clip_113/loops=false
+animation/clip_114/name=""
+animation/clip_114/start_frame=0
+animation/clip_114/end_frame=0
+animation/clip_114/loops=false
+animation/clip_115/name=""
+animation/clip_115/start_frame=0
+animation/clip_115/end_frame=0
+animation/clip_115/loops=false
+animation/clip_116/name=""
+animation/clip_116/start_frame=0
+animation/clip_116/end_frame=0
+animation/clip_116/loops=false
+animation/clip_117/name=""
+animation/clip_117/start_frame=0
+animation/clip_117/end_frame=0
+animation/clip_117/loops=false
+animation/clip_118/name=""
+animation/clip_118/start_frame=0
+animation/clip_118/end_frame=0
+animation/clip_118/loops=false
+animation/clip_119/name=""
+animation/clip_119/start_frame=0
+animation/clip_119/end_frame=0
+animation/clip_119/loops=false
+animation/clip_120/name=""
+animation/clip_120/start_frame=0
+animation/clip_120/end_frame=0
+animation/clip_120/loops=false
+animation/clip_121/name=""
+animation/clip_121/start_frame=0
+animation/clip_121/end_frame=0
+animation/clip_121/loops=false
+animation/clip_122/name=""
+animation/clip_122/start_frame=0
+animation/clip_122/end_frame=0
+animation/clip_122/loops=false
+animation/clip_123/name=""
+animation/clip_123/start_frame=0
+animation/clip_123/end_frame=0
+animation/clip_123/loops=false
+animation/clip_124/name=""
+animation/clip_124/start_frame=0
+animation/clip_124/end_frame=0
+animation/clip_124/loops=false
+animation/clip_125/name=""
+animation/clip_125/start_frame=0
+animation/clip_125/end_frame=0
+animation/clip_125/loops=false
+animation/clip_126/name=""
+animation/clip_126/start_frame=0
+animation/clip_126/end_frame=0
+animation/clip_126/loops=false
+animation/clip_127/name=""
+animation/clip_127/start_frame=0
+animation/clip_127/end_frame=0
+animation/clip_127/loops=false
+animation/clip_128/name=""
+animation/clip_128/start_frame=0
+animation/clip_128/end_frame=0
+animation/clip_128/loops=false
+animation/clip_129/name=""
+animation/clip_129/start_frame=0
+animation/clip_129/end_frame=0
+animation/clip_129/loops=false
+animation/clip_130/name=""
+animation/clip_130/start_frame=0
+animation/clip_130/end_frame=0
+animation/clip_130/loops=false
+animation/clip_131/name=""
+animation/clip_131/start_frame=0
+animation/clip_131/end_frame=0
+animation/clip_131/loops=false
+animation/clip_132/name=""
+animation/clip_132/start_frame=0
+animation/clip_132/end_frame=0
+animation/clip_132/loops=false
+animation/clip_133/name=""
+animation/clip_133/start_frame=0
+animation/clip_133/end_frame=0
+animation/clip_133/loops=false
+animation/clip_134/name=""
+animation/clip_134/start_frame=0
+animation/clip_134/end_frame=0
+animation/clip_134/loops=false
+animation/clip_135/name=""
+animation/clip_135/start_frame=0
+animation/clip_135/end_frame=0
+animation/clip_135/loops=false
+animation/clip_136/name=""
+animation/clip_136/start_frame=0
+animation/clip_136/end_frame=0
+animation/clip_136/loops=false
+animation/clip_137/name=""
+animation/clip_137/start_frame=0
+animation/clip_137/end_frame=0
+animation/clip_137/loops=false
+animation/clip_138/name=""
+animation/clip_138/start_frame=0
+animation/clip_138/end_frame=0
+animation/clip_138/loops=false
+animation/clip_139/name=""
+animation/clip_139/start_frame=0
+animation/clip_139/end_frame=0
+animation/clip_139/loops=false
+animation/clip_140/name=""
+animation/clip_140/start_frame=0
+animation/clip_140/end_frame=0
+animation/clip_140/loops=false
+animation/clip_141/name=""
+animation/clip_141/start_frame=0
+animation/clip_141/end_frame=0
+animation/clip_141/loops=false
+animation/clip_142/name=""
+animation/clip_142/start_frame=0
+animation/clip_142/end_frame=0
+animation/clip_142/loops=false
+animation/clip_143/name=""
+animation/clip_143/start_frame=0
+animation/clip_143/end_frame=0
+animation/clip_143/loops=false
+animation/clip_144/name=""
+animation/clip_144/start_frame=0
+animation/clip_144/end_frame=0
+animation/clip_144/loops=false
+animation/clip_145/name=""
+animation/clip_145/start_frame=0
+animation/clip_145/end_frame=0
+animation/clip_145/loops=false
+animation/clip_146/name=""
+animation/clip_146/start_frame=0
+animation/clip_146/end_frame=0
+animation/clip_146/loops=false
+animation/clip_147/name=""
+animation/clip_147/start_frame=0
+animation/clip_147/end_frame=0
+animation/clip_147/loops=false
+animation/clip_148/name=""
+animation/clip_148/start_frame=0
+animation/clip_148/end_frame=0
+animation/clip_148/loops=false
+animation/clip_149/name=""
+animation/clip_149/start_frame=0
+animation/clip_149/end_frame=0
+animation/clip_149/loops=false
+animation/clip_150/name=""
+animation/clip_150/start_frame=0
+animation/clip_150/end_frame=0
+animation/clip_150/loops=false
+animation/clip_151/name=""
+animation/clip_151/start_frame=0
+animation/clip_151/end_frame=0
+animation/clip_151/loops=false
+animation/clip_152/name=""
+animation/clip_152/start_frame=0
+animation/clip_152/end_frame=0
+animation/clip_152/loops=false
+animation/clip_153/name=""
+animation/clip_153/start_frame=0
+animation/clip_153/end_frame=0
+animation/clip_153/loops=false
+animation/clip_154/name=""
+animation/clip_154/start_frame=0
+animation/clip_154/end_frame=0
+animation/clip_154/loops=false
+animation/clip_155/name=""
+animation/clip_155/start_frame=0
+animation/clip_155/end_frame=0
+animation/clip_155/loops=false
+animation/clip_156/name=""
+animation/clip_156/start_frame=0
+animation/clip_156/end_frame=0
+animation/clip_156/loops=false
+animation/clip_157/name=""
+animation/clip_157/start_frame=0
+animation/clip_157/end_frame=0
+animation/clip_157/loops=false
+animation/clip_158/name=""
+animation/clip_158/start_frame=0
+animation/clip_158/end_frame=0
+animation/clip_158/loops=false
+animation/clip_159/name=""
+animation/clip_159/start_frame=0
+animation/clip_159/end_frame=0
+animation/clip_159/loops=false
+animation/clip_160/name=""
+animation/clip_160/start_frame=0
+animation/clip_160/end_frame=0
+animation/clip_160/loops=false
+animation/clip_161/name=""
+animation/clip_161/start_frame=0
+animation/clip_161/end_frame=0
+animation/clip_161/loops=false
+animation/clip_162/name=""
+animation/clip_162/start_frame=0
+animation/clip_162/end_frame=0
+animation/clip_162/loops=false
+animation/clip_163/name=""
+animation/clip_163/start_frame=0
+animation/clip_163/end_frame=0
+animation/clip_163/loops=false
+animation/clip_164/name=""
+animation/clip_164/start_frame=0
+animation/clip_164/end_frame=0
+animation/clip_164/loops=false
+animation/clip_165/name=""
+animation/clip_165/start_frame=0
+animation/clip_165/end_frame=0
+animation/clip_165/loops=false
+animation/clip_166/name=""
+animation/clip_166/start_frame=0
+animation/clip_166/end_frame=0
+animation/clip_166/loops=false
+animation/clip_167/name=""
+animation/clip_167/start_frame=0
+animation/clip_167/end_frame=0
+animation/clip_167/loops=false
+animation/clip_168/name=""
+animation/clip_168/start_frame=0
+animation/clip_168/end_frame=0
+animation/clip_168/loops=false
+animation/clip_169/name=""
+animation/clip_169/start_frame=0
+animation/clip_169/end_frame=0
+animation/clip_169/loops=false
+animation/clip_170/name=""
+animation/clip_170/start_frame=0
+animation/clip_170/end_frame=0
+animation/clip_170/loops=false
+animation/clip_171/name=""
+animation/clip_171/start_frame=0
+animation/clip_171/end_frame=0
+animation/clip_171/loops=false
+animation/clip_172/name=""
+animation/clip_172/start_frame=0
+animation/clip_172/end_frame=0
+animation/clip_172/loops=false
+animation/clip_173/name=""
+animation/clip_173/start_frame=0
+animation/clip_173/end_frame=0
+animation/clip_173/loops=false
+animation/clip_174/name=""
+animation/clip_174/start_frame=0
+animation/clip_174/end_frame=0
+animation/clip_174/loops=false
+animation/clip_175/name=""
+animation/clip_175/start_frame=0
+animation/clip_175/end_frame=0
+animation/clip_175/loops=false
+animation/clip_176/name=""
+animation/clip_176/start_frame=0
+animation/clip_176/end_frame=0
+animation/clip_176/loops=false
+animation/clip_177/name=""
+animation/clip_177/start_frame=0
+animation/clip_177/end_frame=0
+animation/clip_177/loops=false
+animation/clip_178/name=""
+animation/clip_178/start_frame=0
+animation/clip_178/end_frame=0
+animation/clip_178/loops=false
+animation/clip_179/name=""
+animation/clip_179/start_frame=0
+animation/clip_179/end_frame=0
+animation/clip_179/loops=false
+animation/clip_180/name=""
+animation/clip_180/start_frame=0
+animation/clip_180/end_frame=0
+animation/clip_180/loops=false
+animation/clip_181/name=""
+animation/clip_181/start_frame=0
+animation/clip_181/end_frame=0
+animation/clip_181/loops=false
+animation/clip_182/name=""
+animation/clip_182/start_frame=0
+animation/clip_182/end_frame=0
+animation/clip_182/loops=false
+animation/clip_183/name=""
+animation/clip_183/start_frame=0
+animation/clip_183/end_frame=0
+animation/clip_183/loops=false
+animation/clip_184/name=""
+animation/clip_184/start_frame=0
+animation/clip_184/end_frame=0
+animation/clip_184/loops=false
+animation/clip_185/name=""
+animation/clip_185/start_frame=0
+animation/clip_185/end_frame=0
+animation/clip_185/loops=false
+animation/clip_186/name=""
+animation/clip_186/start_frame=0
+animation/clip_186/end_frame=0
+animation/clip_186/loops=false
+animation/clip_187/name=""
+animation/clip_187/start_frame=0
+animation/clip_187/end_frame=0
+animation/clip_187/loops=false
+animation/clip_188/name=""
+animation/clip_188/start_frame=0
+animation/clip_188/end_frame=0
+animation/clip_188/loops=false
+animation/clip_189/name=""
+animation/clip_189/start_frame=0
+animation/clip_189/end_frame=0
+animation/clip_189/loops=false
+animation/clip_190/name=""
+animation/clip_190/start_frame=0
+animation/clip_190/end_frame=0
+animation/clip_190/loops=false
+animation/clip_191/name=""
+animation/clip_191/start_frame=0
+animation/clip_191/end_frame=0
+animation/clip_191/loops=false
+animation/clip_192/name=""
+animation/clip_192/start_frame=0
+animation/clip_192/end_frame=0
+animation/clip_192/loops=false
+animation/clip_193/name=""
+animation/clip_193/start_frame=0
+animation/clip_193/end_frame=0
+animation/clip_193/loops=false
+animation/clip_194/name=""
+animation/clip_194/start_frame=0
+animation/clip_194/end_frame=0
+animation/clip_194/loops=false
+animation/clip_195/name=""
+animation/clip_195/start_frame=0
+animation/clip_195/end_frame=0
+animation/clip_195/loops=false
+animation/clip_196/name=""
+animation/clip_196/start_frame=0
+animation/clip_196/end_frame=0
+animation/clip_196/loops=false
+animation/clip_197/name=""
+animation/clip_197/start_frame=0
+animation/clip_197/end_frame=0
+animation/clip_197/loops=false
+animation/clip_198/name=""
+animation/clip_198/start_frame=0
+animation/clip_198/end_frame=0
+animation/clip_198/loops=false
+animation/clip_199/name=""
+animation/clip_199/start_frame=0
+animation/clip_199/end_frame=0
+animation/clip_199/loops=false
+animation/clip_200/name=""
+animation/clip_200/start_frame=0
+animation/clip_200/end_frame=0
+animation/clip_200/loops=false
+animation/clip_201/name=""
+animation/clip_201/start_frame=0
+animation/clip_201/end_frame=0
+animation/clip_201/loops=false
+animation/clip_202/name=""
+animation/clip_202/start_frame=0
+animation/clip_202/end_frame=0
+animation/clip_202/loops=false
+animation/clip_203/name=""
+animation/clip_203/start_frame=0
+animation/clip_203/end_frame=0
+animation/clip_203/loops=false
+animation/clip_204/name=""
+animation/clip_204/start_frame=0
+animation/clip_204/end_frame=0
+animation/clip_204/loops=false
+animation/clip_205/name=""
+animation/clip_205/start_frame=0
+animation/clip_205/end_frame=0
+animation/clip_205/loops=false
+animation/clip_206/name=""
+animation/clip_206/start_frame=0
+animation/clip_206/end_frame=0
+animation/clip_206/loops=false
+animation/clip_207/name=""
+animation/clip_207/start_frame=0
+animation/clip_207/end_frame=0
+animation/clip_207/loops=false
+animation/clip_208/name=""
+animation/clip_208/start_frame=0
+animation/clip_208/end_frame=0
+animation/clip_208/loops=false
+animation/clip_209/name=""
+animation/clip_209/start_frame=0
+animation/clip_209/end_frame=0
+animation/clip_209/loops=false
+animation/clip_210/name=""
+animation/clip_210/start_frame=0
+animation/clip_210/end_frame=0
+animation/clip_210/loops=false
+animation/clip_211/name=""
+animation/clip_211/start_frame=0
+animation/clip_211/end_frame=0
+animation/clip_211/loops=false
+animation/clip_212/name=""
+animation/clip_212/start_frame=0
+animation/clip_212/end_frame=0
+animation/clip_212/loops=false
+animation/clip_213/name=""
+animation/clip_213/start_frame=0
+animation/clip_213/end_frame=0
+animation/clip_213/loops=false
+animation/clip_214/name=""
+animation/clip_214/start_frame=0
+animation/clip_214/end_frame=0
+animation/clip_214/loops=false
+animation/clip_215/name=""
+animation/clip_215/start_frame=0
+animation/clip_215/end_frame=0
+animation/clip_215/loops=false
+animation/clip_216/name=""
+animation/clip_216/start_frame=0
+animation/clip_216/end_frame=0
+animation/clip_216/loops=false
+animation/clip_217/name=""
+animation/clip_217/start_frame=0
+animation/clip_217/end_frame=0
+animation/clip_217/loops=false
+animation/clip_218/name=""
+animation/clip_218/start_frame=0
+animation/clip_218/end_frame=0
+animation/clip_218/loops=false
+animation/clip_219/name=""
+animation/clip_219/start_frame=0
+animation/clip_219/end_frame=0
+animation/clip_219/loops=false
+animation/clip_220/name=""
+animation/clip_220/start_frame=0
+animation/clip_220/end_frame=0
+animation/clip_220/loops=false
+animation/clip_221/name=""
+animation/clip_221/start_frame=0
+animation/clip_221/end_frame=0
+animation/clip_221/loops=false
+animation/clip_222/name=""
+animation/clip_222/start_frame=0
+animation/clip_222/end_frame=0
+animation/clip_222/loops=false
+animation/clip_223/name=""
+animation/clip_223/start_frame=0
+animation/clip_223/end_frame=0
+animation/clip_223/loops=false
+animation/clip_224/name=""
+animation/clip_224/start_frame=0
+animation/clip_224/end_frame=0
+animation/clip_224/loops=false
+animation/clip_225/name=""
+animation/clip_225/start_frame=0
+animation/clip_225/end_frame=0
+animation/clip_225/loops=false
+animation/clip_226/name=""
+animation/clip_226/start_frame=0
+animation/clip_226/end_frame=0
+animation/clip_226/loops=false
+animation/clip_227/name=""
+animation/clip_227/start_frame=0
+animation/clip_227/end_frame=0
+animation/clip_227/loops=false
+animation/clip_228/name=""
+animation/clip_228/start_frame=0
+animation/clip_228/end_frame=0
+animation/clip_228/loops=false
+animation/clip_229/name=""
+animation/clip_229/start_frame=0
+animation/clip_229/end_frame=0
+animation/clip_229/loops=false
+animation/clip_230/name=""
+animation/clip_230/start_frame=0
+animation/clip_230/end_frame=0
+animation/clip_230/loops=false
+animation/clip_231/name=""
+animation/clip_231/start_frame=0
+animation/clip_231/end_frame=0
+animation/clip_231/loops=false
+animation/clip_232/name=""
+animation/clip_232/start_frame=0
+animation/clip_232/end_frame=0
+animation/clip_232/loops=false
+animation/clip_233/name=""
+animation/clip_233/start_frame=0
+animation/clip_233/end_frame=0
+animation/clip_233/loops=false
+animation/clip_234/name=""
+animation/clip_234/start_frame=0
+animation/clip_234/end_frame=0
+animation/clip_234/loops=false
+animation/clip_235/name=""
+animation/clip_235/start_frame=0
+animation/clip_235/end_frame=0
+animation/clip_235/loops=false
+animation/clip_236/name=""
+animation/clip_236/start_frame=0
+animation/clip_236/end_frame=0
+animation/clip_236/loops=false
+animation/clip_237/name=""
+animation/clip_237/start_frame=0
+animation/clip_237/end_frame=0
+animation/clip_237/loops=false
+animation/clip_238/name=""
+animation/clip_238/start_frame=0
+animation/clip_238/end_frame=0
+animation/clip_238/loops=false
+animation/clip_239/name=""
+animation/clip_239/start_frame=0
+animation/clip_239/end_frame=0
+animation/clip_239/loops=false
+animation/clip_240/name=""
+animation/clip_240/start_frame=0
+animation/clip_240/end_frame=0
+animation/clip_240/loops=false
+animation/clip_241/name=""
+animation/clip_241/start_frame=0
+animation/clip_241/end_frame=0
+animation/clip_241/loops=false
+animation/clip_242/name=""
+animation/clip_242/start_frame=0
+animation/clip_242/end_frame=0
+animation/clip_242/loops=false
+animation/clip_243/name=""
+animation/clip_243/start_frame=0
+animation/clip_243/end_frame=0
+animation/clip_243/loops=false
+animation/clip_244/name=""
+animation/clip_244/start_frame=0
+animation/clip_244/end_frame=0
+animation/clip_244/loops=false
+animation/clip_245/name=""
+animation/clip_245/start_frame=0
+animation/clip_245/end_frame=0
+animation/clip_245/loops=false
+animation/clip_246/name=""
+animation/clip_246/start_frame=0
+animation/clip_246/end_frame=0
+animation/clip_246/loops=false
+animation/clip_247/name=""
+animation/clip_247/start_frame=0
+animation/clip_247/end_frame=0
+animation/clip_247/loops=false
+animation/clip_248/name=""
+animation/clip_248/start_frame=0
+animation/clip_248/end_frame=0
+animation/clip_248/loops=false
+animation/clip_249/name=""
+animation/clip_249/start_frame=0
+animation/clip_249/end_frame=0
+animation/clip_249/loops=false
+animation/clip_250/name=""
+animation/clip_250/start_frame=0
+animation/clip_250/end_frame=0
+animation/clip_250/loops=false
+animation/clip_251/name=""
+animation/clip_251/start_frame=0
+animation/clip_251/end_frame=0
+animation/clip_251/loops=false
+animation/clip_252/name=""
+animation/clip_252/start_frame=0
+animation/clip_252/end_frame=0
+animation/clip_252/loops=false
+animation/clip_253/name=""
+animation/clip_253/start_frame=0
+animation/clip_253/end_frame=0
+animation/clip_253/loops=false
+animation/clip_254/name=""
+animation/clip_254/start_frame=0
+animation/clip_254/end_frame=0
+animation/clip_254/loops=false
+animation/clip_255/name=""
+animation/clip_255/start_frame=0
+animation/clip_255/end_frame=0
+animation/clip_255/loops=false
+animation/clip_256/name=""
+animation/clip_256/start_frame=0
+animation/clip_256/end_frame=0
+animation/clip_256/loops=false

BIN
3d/global_illumination/cube.glb.unwrap_cache


+ 13 - 0
3d/global_illumination/default_env.tres

@@ -0,0 +1,13 @@
+[gd_resource type="Environment" load_steps=2 format=2]
+
+[sub_resource type="ProceduralSky" id=1]
+sky_energy = 0.2
+ground_energy = 0.0
+
+[resource]
+background_mode = 2
+background_sky = SubResource( 1 )
+fog_sun_amount = 1.0
+fog_depth_begin = 0.0
+tonemap_mode = 2
+tonemap_white = 6.0

BIN
3d/global_illumination/icon.png


+ 35 - 0
3d/global_illumination/icon.png.import

@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://icon.png"
+dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

+ 73 - 0
3d/global_illumination/project.godot

@@ -0,0 +1,73 @@
+; Engine configuration file.
+; It's best edited using the editor UI and not directly,
+; since the parameters that go here are not all obvious.
+;
+; Format:
+;   [section] ; section goes between []
+;   param=value ; assign values to parameters
+
+config_version=4
+
+[application]
+
+config/name="Global Illumination"
+run/main_scene="res://test.tscn"
+config/icon="res://icon.png"
+
+[display]
+
+window/dpi/allow_hidpi=true
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
+
+[input]
+
+cycle_gi_mode={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+ ]
+}
+toggle_reflection_probe={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":82,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+ ]
+}
+move_forward={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":87,"unicode":0,"echo":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777232,"unicode":0,"echo":false,"script":null)
+ ]
+}
+move_back={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":83,"unicode":0,"echo":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777234,"unicode":0,"echo":false,"script":null)
+ ]
+}
+move_left={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":65,"unicode":0,"echo":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777231,"unicode":0,"echo":false,"script":null)
+ ]
+}
+move_right={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":68,"unicode":0,"echo":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777233,"unicode":0,"echo":false,"script":null)
+ ]
+}
+toggle_mouse_capture={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777253,"unicode":0,"echo":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777217,"unicode":0,"echo":false,"script":null)
+ ]
+}
+
+[physics]
+
+common/enable_pause_aware_picking=true
+
+[rendering]
+
+quality/shadows/filter_mode=2
+environment/default_environment="res://default_env.tres"

+ 0 - 0
3d/global_illumination/screenshots/.gdignore


BIN
3d/global_illumination/screenshots/global_illumination.png


BIN
3d/global_illumination/test.exr


+ 25 - 0
3d/global_illumination/test.exr.import

@@ -0,0 +1,25 @@
+[remap]
+
+importer="texture_array"
+type="TextureArray"
+path="res://.import/test.exr-c2074adc031b4eb62ef608033f6d937a.texarr"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://test.exr"
+dest_files=[ "res://.import/test.exr-c2074adc031b4eb62ef608033f6d937a.texarr" ]
+
+[params]
+
+compress/mode=0
+compress/no_bptc_if_rgb=false
+flags/repeat=false
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=false
+slices/horizontal=1
+slices/vertical=1

+ 114 - 0
3d/global_illumination/test.gd

@@ -0,0 +1,114 @@
+extends Spatial
+
+enum GIMode {
+	NONE,
+	BAKED_LIGHTMAP_ALL,
+	BAKED_LIGHTMAP_INDIRECT,
+	GI_PROBE,
+	MAX,  # Maximum value of the enum, used internally.
+}
+
+# Keep this in sync with the GIMode enum (except for MAX).
+const GI_MODE_TEXTS = [
+	"Environment Lighting (Fastest)",
+	"Baked Lightmap All (Fast)",
+	"Baked Lightmap Indirect (Average)",
+	"GIProbe (Slow)",
+]
+
+var gi_mode = GIMode.NONE
+var use_reflection_probe = false
+
+onready var gi_mode_label = $GIMode
+onready var reflection_probe_mode_label = $ReflectionProbeMode
+onready var reflection_probe = $Camera/ReflectiveSphere/ReflectionProbe
+
+
+func _ready():
+	set_gi_mode(GIMode.NONE)
+	set_use_reflection_probe(false)
+
+
+func _input(event):
+	if event.is_action_pressed("cycle_gi_mode"):
+		set_gi_mode(wrapi(gi_mode + 1, 0, GIMode.MAX))
+
+	if event.is_action_pressed("toggle_reflection_probe"):
+		set_use_reflection_probe(not use_reflection_probe)
+
+
+func set_gi_mode(p_gi_mode):
+	gi_mode = p_gi_mode
+	gi_mode_label.text = "Current GI mode: %s " % GI_MODE_TEXTS[gi_mode]
+
+	match p_gi_mode:
+		GIMode.NONE:
+			$ZdmBakeIndirect.visible = false
+			$ZdmBakeAll.visible = false
+			$ZdmNoBake.visible = true
+			$BakedLightmapIndirect.visible = false
+			$BakedLightmapAll.visible = false
+			$GIProbe.visible = false
+
+			# There is no difference between Indirect and Disabled when no GI is used.
+			# Pick the default value (which is Indirect).
+			$Sun.light_bake_mode = Light.BAKE_INDIRECT
+			$GrateOmniLight.light_bake_mode = Light.BAKE_INDIRECT
+			$GarageOmniLight.light_bake_mode = Light.BAKE_INDIRECT
+			$CornerSpotLight.light_bake_mode = Light.BAKE_INDIRECT
+
+		GIMode.BAKED_LIGHTMAP_ALL:
+			$ZdmBakeIndirect.visible = false
+			$ZdmBakeAll.visible = true
+			$ZdmNoBake.visible = false
+			$BakedLightmapIndirect.visible = false
+			$BakedLightmapAll.visible = true
+			$GIProbe.visible = false
+
+			# Make lights not affect baked surfaces by setting their bake mode to All.
+			$Sun.light_bake_mode = Light.BAKE_ALL
+			$GrateOmniLight.light_bake_mode = Light.BAKE_ALL
+			$GarageOmniLight.light_bake_mode = Light.BAKE_ALL
+			$CornerSpotLight.light_bake_mode = Light.BAKE_ALL
+
+		GIMode.BAKED_LIGHTMAP_INDIRECT:
+			$ZdmBakeIndirect.visible = true
+			$ZdmBakeAll.visible = false
+			$ZdmNoBake.visible = false
+			$BakedLightmapIndirect.visible = true
+			$BakedLightmapAll.visible = false
+			$GIProbe.visible = false
+
+			$Sun.light_bake_mode = Light.BAKE_INDIRECT
+			$GrateOmniLight.light_bake_mode = Light.BAKE_INDIRECT
+			$GarageOmniLight.light_bake_mode = Light.BAKE_INDIRECT
+			$CornerSpotLight.light_bake_mode = Light.BAKE_INDIRECT
+
+		GIMode.GI_PROBE:
+			$ZdmBakeIndirect.visible = false
+			$ZdmBakeAll.visible = false
+			$ZdmNoBake.visible = true
+			$BakedLightmapIndirect.visible = false
+			$BakedLightmapAll.visible = false
+			$GIProbe.visible = true
+
+			# Bake mode must be Indirect, not Disabled. Otherwise, GI will
+			# not be visible for those lights.
+			# Moving/blinking lights should generally have their bake mode set to Disabled
+			# to avoid visible GI pop-ins. This is because GIProbe
+			# can take a while to update.
+			$Sun.light_bake_mode = Light.BAKE_INDIRECT
+			$GrateOmniLight.light_bake_mode = Light.BAKE_INDIRECT
+			$GarageOmniLight.light_bake_mode = Light.BAKE_INDIRECT
+			$CornerSpotLight.light_bake_mode = Light.BAKE_INDIRECT
+
+
+func set_use_reflection_probe(p_visible):
+	use_reflection_probe = p_visible
+
+	if p_visible:
+		reflection_probe_mode_label.text = "Current reflection probe mode: Enabled - Using reflection probe (Average)"
+	else:
+		reflection_probe_mode_label.text = "Current reflection probe mode: Disabled - Using environment or GIProbe reflections (Fast)"
+
+	reflection_probe.visible = p_visible

BIN
3d/global_illumination/test.lmbake


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 13 - 0
3d/global_illumination/test.tscn


BIN
3d/global_illumination/test_all.exr


+ 25 - 0
3d/global_illumination/test_all.exr.import

@@ -0,0 +1,25 @@
+[remap]
+
+importer="texture_array"
+type="TextureArray"
+path="res://.import/test_all.exr-20e3b4b8c4ad01c2073fdca1a38f60ed.texarr"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://test_all.exr"
+dest_files=[ "res://.import/test_all.exr-20e3b4b8c4ad01c2073fdca1a38f60ed.texarr" ]
+
+[params]
+
+compress/mode=0
+compress/no_bptc_if_rgb=false
+flags/repeat=false
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=false
+slices/horizontal=1
+slices/vertical=1

BIN
3d/global_illumination/test_all.lmbake


BIN
3d/global_illumination/zdm2.blend


BIN
3d/global_illumination/zdm2.glb


+ 1065 - 0
3d/global_illumination/zdm2.glb.import

@@ -0,0 +1,1065 @@
+[remap]
+
+importer="scene"
+type="PackedScene"
+path="res://.import/zdm2.glb-c2f26c366324e083db1b83c037b80fc6.scn"
+
+[deps]
+
+source_file="res://zdm2.glb"
+dest_files=[ "res://.import/zdm2.glb-c2f26c366324e083db1b83c037b80fc6.scn" ]
+
+[params]
+
+nodes/root_type="Spatial"
+nodes/root_name="Zdm2"
+nodes/root_scale=1.0
+nodes/custom_script=""
+nodes/storage=0
+nodes/use_legacy_names=false
+materials/location=1
+materials/storage=1
+materials/keep_on_reimport=true
+meshes/octahedral_compression=true
+meshes/compress=true
+meshes/ensure_tangents=true
+meshes/storage=0
+meshes/light_baking=2
+meshes/lightmap_texel_size=0.25
+skins/use_named_skins=true
+external_files/store_in_subdir=false
+animation/import=true
+animation/fps=15
+animation/filter_script=""
+animation/storage=0
+animation/keep_custom_tracks=false
+animation/optimizer/enabled=true
+animation/optimizer/max_linear_error=0.05
+animation/optimizer/max_angular_error=0.01
+animation/optimizer/max_angle=22
+animation/optimizer/remove_unused_tracks=true
+animation/clips/amount=0
+animation/clip_1/name=""
+animation/clip_1/start_frame=0
+animation/clip_1/end_frame=0
+animation/clip_1/loops=false
+animation/clip_2/name=""
+animation/clip_2/start_frame=0
+animation/clip_2/end_frame=0
+animation/clip_2/loops=false
+animation/clip_3/name=""
+animation/clip_3/start_frame=0
+animation/clip_3/end_frame=0
+animation/clip_3/loops=false
+animation/clip_4/name=""
+animation/clip_4/start_frame=0
+animation/clip_4/end_frame=0
+animation/clip_4/loops=false
+animation/clip_5/name=""
+animation/clip_5/start_frame=0
+animation/clip_5/end_frame=0
+animation/clip_5/loops=false
+animation/clip_6/name=""
+animation/clip_6/start_frame=0
+animation/clip_6/end_frame=0
+animation/clip_6/loops=false
+animation/clip_7/name=""
+animation/clip_7/start_frame=0
+animation/clip_7/end_frame=0
+animation/clip_7/loops=false
+animation/clip_8/name=""
+animation/clip_8/start_frame=0
+animation/clip_8/end_frame=0
+animation/clip_8/loops=false
+animation/clip_9/name=""
+animation/clip_9/start_frame=0
+animation/clip_9/end_frame=0
+animation/clip_9/loops=false
+animation/clip_10/name=""
+animation/clip_10/start_frame=0
+animation/clip_10/end_frame=0
+animation/clip_10/loops=false
+animation/clip_11/name=""
+animation/clip_11/start_frame=0
+animation/clip_11/end_frame=0
+animation/clip_11/loops=false
+animation/clip_12/name=""
+animation/clip_12/start_frame=0
+animation/clip_12/end_frame=0
+animation/clip_12/loops=false
+animation/clip_13/name=""
+animation/clip_13/start_frame=0
+animation/clip_13/end_frame=0
+animation/clip_13/loops=false
+animation/clip_14/name=""
+animation/clip_14/start_frame=0
+animation/clip_14/end_frame=0
+animation/clip_14/loops=false
+animation/clip_15/name=""
+animation/clip_15/start_frame=0
+animation/clip_15/end_frame=0
+animation/clip_15/loops=false
+animation/clip_16/name=""
+animation/clip_16/start_frame=0
+animation/clip_16/end_frame=0
+animation/clip_16/loops=false
+animation/clip_17/name=""
+animation/clip_17/start_frame=0
+animation/clip_17/end_frame=0
+animation/clip_17/loops=false
+animation/clip_18/name=""
+animation/clip_18/start_frame=0
+animation/clip_18/end_frame=0
+animation/clip_18/loops=false
+animation/clip_19/name=""
+animation/clip_19/start_frame=0
+animation/clip_19/end_frame=0
+animation/clip_19/loops=false
+animation/clip_20/name=""
+animation/clip_20/start_frame=0
+animation/clip_20/end_frame=0
+animation/clip_20/loops=false
+animation/clip_21/name=""
+animation/clip_21/start_frame=0
+animation/clip_21/end_frame=0
+animation/clip_21/loops=false
+animation/clip_22/name=""
+animation/clip_22/start_frame=0
+animation/clip_22/end_frame=0
+animation/clip_22/loops=false
+animation/clip_23/name=""
+animation/clip_23/start_frame=0
+animation/clip_23/end_frame=0
+animation/clip_23/loops=false
+animation/clip_24/name=""
+animation/clip_24/start_frame=0
+animation/clip_24/end_frame=0
+animation/clip_24/loops=false
+animation/clip_25/name=""
+animation/clip_25/start_frame=0
+animation/clip_25/end_frame=0
+animation/clip_25/loops=false
+animation/clip_26/name=""
+animation/clip_26/start_frame=0
+animation/clip_26/end_frame=0
+animation/clip_26/loops=false
+animation/clip_27/name=""
+animation/clip_27/start_frame=0
+animation/clip_27/end_frame=0
+animation/clip_27/loops=false
+animation/clip_28/name=""
+animation/clip_28/start_frame=0
+animation/clip_28/end_frame=0
+animation/clip_28/loops=false
+animation/clip_29/name=""
+animation/clip_29/start_frame=0
+animation/clip_29/end_frame=0
+animation/clip_29/loops=false
+animation/clip_30/name=""
+animation/clip_30/start_frame=0
+animation/clip_30/end_frame=0
+animation/clip_30/loops=false
+animation/clip_31/name=""
+animation/clip_31/start_frame=0
+animation/clip_31/end_frame=0
+animation/clip_31/loops=false
+animation/clip_32/name=""
+animation/clip_32/start_frame=0
+animation/clip_32/end_frame=0
+animation/clip_32/loops=false
+animation/clip_33/name=""
+animation/clip_33/start_frame=0
+animation/clip_33/end_frame=0
+animation/clip_33/loops=false
+animation/clip_34/name=""
+animation/clip_34/start_frame=0
+animation/clip_34/end_frame=0
+animation/clip_34/loops=false
+animation/clip_35/name=""
+animation/clip_35/start_frame=0
+animation/clip_35/end_frame=0
+animation/clip_35/loops=false
+animation/clip_36/name=""
+animation/clip_36/start_frame=0
+animation/clip_36/end_frame=0
+animation/clip_36/loops=false
+animation/clip_37/name=""
+animation/clip_37/start_frame=0
+animation/clip_37/end_frame=0
+animation/clip_37/loops=false
+animation/clip_38/name=""
+animation/clip_38/start_frame=0
+animation/clip_38/end_frame=0
+animation/clip_38/loops=false
+animation/clip_39/name=""
+animation/clip_39/start_frame=0
+animation/clip_39/end_frame=0
+animation/clip_39/loops=false
+animation/clip_40/name=""
+animation/clip_40/start_frame=0
+animation/clip_40/end_frame=0
+animation/clip_40/loops=false
+animation/clip_41/name=""
+animation/clip_41/start_frame=0
+animation/clip_41/end_frame=0
+animation/clip_41/loops=false
+animation/clip_42/name=""
+animation/clip_42/start_frame=0
+animation/clip_42/end_frame=0
+animation/clip_42/loops=false
+animation/clip_43/name=""
+animation/clip_43/start_frame=0
+animation/clip_43/end_frame=0
+animation/clip_43/loops=false
+animation/clip_44/name=""
+animation/clip_44/start_frame=0
+animation/clip_44/end_frame=0
+animation/clip_44/loops=false
+animation/clip_45/name=""
+animation/clip_45/start_frame=0
+animation/clip_45/end_frame=0
+animation/clip_45/loops=false
+animation/clip_46/name=""
+animation/clip_46/start_frame=0
+animation/clip_46/end_frame=0
+animation/clip_46/loops=false
+animation/clip_47/name=""
+animation/clip_47/start_frame=0
+animation/clip_47/end_frame=0
+animation/clip_47/loops=false
+animation/clip_48/name=""
+animation/clip_48/start_frame=0
+animation/clip_48/end_frame=0
+animation/clip_48/loops=false
+animation/clip_49/name=""
+animation/clip_49/start_frame=0
+animation/clip_49/end_frame=0
+animation/clip_49/loops=false
+animation/clip_50/name=""
+animation/clip_50/start_frame=0
+animation/clip_50/end_frame=0
+animation/clip_50/loops=false
+animation/clip_51/name=""
+animation/clip_51/start_frame=0
+animation/clip_51/end_frame=0
+animation/clip_51/loops=false
+animation/clip_52/name=""
+animation/clip_52/start_frame=0
+animation/clip_52/end_frame=0
+animation/clip_52/loops=false
+animation/clip_53/name=""
+animation/clip_53/start_frame=0
+animation/clip_53/end_frame=0
+animation/clip_53/loops=false
+animation/clip_54/name=""
+animation/clip_54/start_frame=0
+animation/clip_54/end_frame=0
+animation/clip_54/loops=false
+animation/clip_55/name=""
+animation/clip_55/start_frame=0
+animation/clip_55/end_frame=0
+animation/clip_55/loops=false
+animation/clip_56/name=""
+animation/clip_56/start_frame=0
+animation/clip_56/end_frame=0
+animation/clip_56/loops=false
+animation/clip_57/name=""
+animation/clip_57/start_frame=0
+animation/clip_57/end_frame=0
+animation/clip_57/loops=false
+animation/clip_58/name=""
+animation/clip_58/start_frame=0
+animation/clip_58/end_frame=0
+animation/clip_58/loops=false
+animation/clip_59/name=""
+animation/clip_59/start_frame=0
+animation/clip_59/end_frame=0
+animation/clip_59/loops=false
+animation/clip_60/name=""
+animation/clip_60/start_frame=0
+animation/clip_60/end_frame=0
+animation/clip_60/loops=false
+animation/clip_61/name=""
+animation/clip_61/start_frame=0
+animation/clip_61/end_frame=0
+animation/clip_61/loops=false
+animation/clip_62/name=""
+animation/clip_62/start_frame=0
+animation/clip_62/end_frame=0
+animation/clip_62/loops=false
+animation/clip_63/name=""
+animation/clip_63/start_frame=0
+animation/clip_63/end_frame=0
+animation/clip_63/loops=false
+animation/clip_64/name=""
+animation/clip_64/start_frame=0
+animation/clip_64/end_frame=0
+animation/clip_64/loops=false
+animation/clip_65/name=""
+animation/clip_65/start_frame=0
+animation/clip_65/end_frame=0
+animation/clip_65/loops=false
+animation/clip_66/name=""
+animation/clip_66/start_frame=0
+animation/clip_66/end_frame=0
+animation/clip_66/loops=false
+animation/clip_67/name=""
+animation/clip_67/start_frame=0
+animation/clip_67/end_frame=0
+animation/clip_67/loops=false
+animation/clip_68/name=""
+animation/clip_68/start_frame=0
+animation/clip_68/end_frame=0
+animation/clip_68/loops=false
+animation/clip_69/name=""
+animation/clip_69/start_frame=0
+animation/clip_69/end_frame=0
+animation/clip_69/loops=false
+animation/clip_70/name=""
+animation/clip_70/start_frame=0
+animation/clip_70/end_frame=0
+animation/clip_70/loops=false
+animation/clip_71/name=""
+animation/clip_71/start_frame=0
+animation/clip_71/end_frame=0
+animation/clip_71/loops=false
+animation/clip_72/name=""
+animation/clip_72/start_frame=0
+animation/clip_72/end_frame=0
+animation/clip_72/loops=false
+animation/clip_73/name=""
+animation/clip_73/start_frame=0
+animation/clip_73/end_frame=0
+animation/clip_73/loops=false
+animation/clip_74/name=""
+animation/clip_74/start_frame=0
+animation/clip_74/end_frame=0
+animation/clip_74/loops=false
+animation/clip_75/name=""
+animation/clip_75/start_frame=0
+animation/clip_75/end_frame=0
+animation/clip_75/loops=false
+animation/clip_76/name=""
+animation/clip_76/start_frame=0
+animation/clip_76/end_frame=0
+animation/clip_76/loops=false
+animation/clip_77/name=""
+animation/clip_77/start_frame=0
+animation/clip_77/end_frame=0
+animation/clip_77/loops=false
+animation/clip_78/name=""
+animation/clip_78/start_frame=0
+animation/clip_78/end_frame=0
+animation/clip_78/loops=false
+animation/clip_79/name=""
+animation/clip_79/start_frame=0
+animation/clip_79/end_frame=0
+animation/clip_79/loops=false
+animation/clip_80/name=""
+animation/clip_80/start_frame=0
+animation/clip_80/end_frame=0
+animation/clip_80/loops=false
+animation/clip_81/name=""
+animation/clip_81/start_frame=0
+animation/clip_81/end_frame=0
+animation/clip_81/loops=false
+animation/clip_82/name=""
+animation/clip_82/start_frame=0
+animation/clip_82/end_frame=0
+animation/clip_82/loops=false
+animation/clip_83/name=""
+animation/clip_83/start_frame=0
+animation/clip_83/end_frame=0
+animation/clip_83/loops=false
+animation/clip_84/name=""
+animation/clip_84/start_frame=0
+animation/clip_84/end_frame=0
+animation/clip_84/loops=false
+animation/clip_85/name=""
+animation/clip_85/start_frame=0
+animation/clip_85/end_frame=0
+animation/clip_85/loops=false
+animation/clip_86/name=""
+animation/clip_86/start_frame=0
+animation/clip_86/end_frame=0
+animation/clip_86/loops=false
+animation/clip_87/name=""
+animation/clip_87/start_frame=0
+animation/clip_87/end_frame=0
+animation/clip_87/loops=false
+animation/clip_88/name=""
+animation/clip_88/start_frame=0
+animation/clip_88/end_frame=0
+animation/clip_88/loops=false
+animation/clip_89/name=""
+animation/clip_89/start_frame=0
+animation/clip_89/end_frame=0
+animation/clip_89/loops=false
+animation/clip_90/name=""
+animation/clip_90/start_frame=0
+animation/clip_90/end_frame=0
+animation/clip_90/loops=false
+animation/clip_91/name=""
+animation/clip_91/start_frame=0
+animation/clip_91/end_frame=0
+animation/clip_91/loops=false
+animation/clip_92/name=""
+animation/clip_92/start_frame=0
+animation/clip_92/end_frame=0
+animation/clip_92/loops=false
+animation/clip_93/name=""
+animation/clip_93/start_frame=0
+animation/clip_93/end_frame=0
+animation/clip_93/loops=false
+animation/clip_94/name=""
+animation/clip_94/start_frame=0
+animation/clip_94/end_frame=0
+animation/clip_94/loops=false
+animation/clip_95/name=""
+animation/clip_95/start_frame=0
+animation/clip_95/end_frame=0
+animation/clip_95/loops=false
+animation/clip_96/name=""
+animation/clip_96/start_frame=0
+animation/clip_96/end_frame=0
+animation/clip_96/loops=false
+animation/clip_97/name=""
+animation/clip_97/start_frame=0
+animation/clip_97/end_frame=0
+animation/clip_97/loops=false
+animation/clip_98/name=""
+animation/clip_98/start_frame=0
+animation/clip_98/end_frame=0
+animation/clip_98/loops=false
+animation/clip_99/name=""
+animation/clip_99/start_frame=0
+animation/clip_99/end_frame=0
+animation/clip_99/loops=false
+animation/clip_100/name=""
+animation/clip_100/start_frame=0
+animation/clip_100/end_frame=0
+animation/clip_100/loops=false
+animation/clip_101/name=""
+animation/clip_101/start_frame=0
+animation/clip_101/end_frame=0
+animation/clip_101/loops=false
+animation/clip_102/name=""
+animation/clip_102/start_frame=0
+animation/clip_102/end_frame=0
+animation/clip_102/loops=false
+animation/clip_103/name=""
+animation/clip_103/start_frame=0
+animation/clip_103/end_frame=0
+animation/clip_103/loops=false
+animation/clip_104/name=""
+animation/clip_104/start_frame=0
+animation/clip_104/end_frame=0
+animation/clip_104/loops=false
+animation/clip_105/name=""
+animation/clip_105/start_frame=0
+animation/clip_105/end_frame=0
+animation/clip_105/loops=false
+animation/clip_106/name=""
+animation/clip_106/start_frame=0
+animation/clip_106/end_frame=0
+animation/clip_106/loops=false
+animation/clip_107/name=""
+animation/clip_107/start_frame=0
+animation/clip_107/end_frame=0
+animation/clip_107/loops=false
+animation/clip_108/name=""
+animation/clip_108/start_frame=0
+animation/clip_108/end_frame=0
+animation/clip_108/loops=false
+animation/clip_109/name=""
+animation/clip_109/start_frame=0
+animation/clip_109/end_frame=0
+animation/clip_109/loops=false
+animation/clip_110/name=""
+animation/clip_110/start_frame=0
+animation/clip_110/end_frame=0
+animation/clip_110/loops=false
+animation/clip_111/name=""
+animation/clip_111/start_frame=0
+animation/clip_111/end_frame=0
+animation/clip_111/loops=false
+animation/clip_112/name=""
+animation/clip_112/start_frame=0
+animation/clip_112/end_frame=0
+animation/clip_112/loops=false
+animation/clip_113/name=""
+animation/clip_113/start_frame=0
+animation/clip_113/end_frame=0
+animation/clip_113/loops=false
+animation/clip_114/name=""
+animation/clip_114/start_frame=0
+animation/clip_114/end_frame=0
+animation/clip_114/loops=false
+animation/clip_115/name=""
+animation/clip_115/start_frame=0
+animation/clip_115/end_frame=0
+animation/clip_115/loops=false
+animation/clip_116/name=""
+animation/clip_116/start_frame=0
+animation/clip_116/end_frame=0
+animation/clip_116/loops=false
+animation/clip_117/name=""
+animation/clip_117/start_frame=0
+animation/clip_117/end_frame=0
+animation/clip_117/loops=false
+animation/clip_118/name=""
+animation/clip_118/start_frame=0
+animation/clip_118/end_frame=0
+animation/clip_118/loops=false
+animation/clip_119/name=""
+animation/clip_119/start_frame=0
+animation/clip_119/end_frame=0
+animation/clip_119/loops=false
+animation/clip_120/name=""
+animation/clip_120/start_frame=0
+animation/clip_120/end_frame=0
+animation/clip_120/loops=false
+animation/clip_121/name=""
+animation/clip_121/start_frame=0
+animation/clip_121/end_frame=0
+animation/clip_121/loops=false
+animation/clip_122/name=""
+animation/clip_122/start_frame=0
+animation/clip_122/end_frame=0
+animation/clip_122/loops=false
+animation/clip_123/name=""
+animation/clip_123/start_frame=0
+animation/clip_123/end_frame=0
+animation/clip_123/loops=false
+animation/clip_124/name=""
+animation/clip_124/start_frame=0
+animation/clip_124/end_frame=0
+animation/clip_124/loops=false
+animation/clip_125/name=""
+animation/clip_125/start_frame=0
+animation/clip_125/end_frame=0
+animation/clip_125/loops=false
+animation/clip_126/name=""
+animation/clip_126/start_frame=0
+animation/clip_126/end_frame=0
+animation/clip_126/loops=false
+animation/clip_127/name=""
+animation/clip_127/start_frame=0
+animation/clip_127/end_frame=0
+animation/clip_127/loops=false
+animation/clip_128/name=""
+animation/clip_128/start_frame=0
+animation/clip_128/end_frame=0
+animation/clip_128/loops=false
+animation/clip_129/name=""
+animation/clip_129/start_frame=0
+animation/clip_129/end_frame=0
+animation/clip_129/loops=false
+animation/clip_130/name=""
+animation/clip_130/start_frame=0
+animation/clip_130/end_frame=0
+animation/clip_130/loops=false
+animation/clip_131/name=""
+animation/clip_131/start_frame=0
+animation/clip_131/end_frame=0
+animation/clip_131/loops=false
+animation/clip_132/name=""
+animation/clip_132/start_frame=0
+animation/clip_132/end_frame=0
+animation/clip_132/loops=false
+animation/clip_133/name=""
+animation/clip_133/start_frame=0
+animation/clip_133/end_frame=0
+animation/clip_133/loops=false
+animation/clip_134/name=""
+animation/clip_134/start_frame=0
+animation/clip_134/end_frame=0
+animation/clip_134/loops=false
+animation/clip_135/name=""
+animation/clip_135/start_frame=0
+animation/clip_135/end_frame=0
+animation/clip_135/loops=false
+animation/clip_136/name=""
+animation/clip_136/start_frame=0
+animation/clip_136/end_frame=0
+animation/clip_136/loops=false
+animation/clip_137/name=""
+animation/clip_137/start_frame=0
+animation/clip_137/end_frame=0
+animation/clip_137/loops=false
+animation/clip_138/name=""
+animation/clip_138/start_frame=0
+animation/clip_138/end_frame=0
+animation/clip_138/loops=false
+animation/clip_139/name=""
+animation/clip_139/start_frame=0
+animation/clip_139/end_frame=0
+animation/clip_139/loops=false
+animation/clip_140/name=""
+animation/clip_140/start_frame=0
+animation/clip_140/end_frame=0
+animation/clip_140/loops=false
+animation/clip_141/name=""
+animation/clip_141/start_frame=0
+animation/clip_141/end_frame=0
+animation/clip_141/loops=false
+animation/clip_142/name=""
+animation/clip_142/start_frame=0
+animation/clip_142/end_frame=0
+animation/clip_142/loops=false
+animation/clip_143/name=""
+animation/clip_143/start_frame=0
+animation/clip_143/end_frame=0
+animation/clip_143/loops=false
+animation/clip_144/name=""
+animation/clip_144/start_frame=0
+animation/clip_144/end_frame=0
+animation/clip_144/loops=false
+animation/clip_145/name=""
+animation/clip_145/start_frame=0
+animation/clip_145/end_frame=0
+animation/clip_145/loops=false
+animation/clip_146/name=""
+animation/clip_146/start_frame=0
+animation/clip_146/end_frame=0
+animation/clip_146/loops=false
+animation/clip_147/name=""
+animation/clip_147/start_frame=0
+animation/clip_147/end_frame=0
+animation/clip_147/loops=false
+animation/clip_148/name=""
+animation/clip_148/start_frame=0
+animation/clip_148/end_frame=0
+animation/clip_148/loops=false
+animation/clip_149/name=""
+animation/clip_149/start_frame=0
+animation/clip_149/end_frame=0
+animation/clip_149/loops=false
+animation/clip_150/name=""
+animation/clip_150/start_frame=0
+animation/clip_150/end_frame=0
+animation/clip_150/loops=false
+animation/clip_151/name=""
+animation/clip_151/start_frame=0
+animation/clip_151/end_frame=0
+animation/clip_151/loops=false
+animation/clip_152/name=""
+animation/clip_152/start_frame=0
+animation/clip_152/end_frame=0
+animation/clip_152/loops=false
+animation/clip_153/name=""
+animation/clip_153/start_frame=0
+animation/clip_153/end_frame=0
+animation/clip_153/loops=false
+animation/clip_154/name=""
+animation/clip_154/start_frame=0
+animation/clip_154/end_frame=0
+animation/clip_154/loops=false
+animation/clip_155/name=""
+animation/clip_155/start_frame=0
+animation/clip_155/end_frame=0
+animation/clip_155/loops=false
+animation/clip_156/name=""
+animation/clip_156/start_frame=0
+animation/clip_156/end_frame=0
+animation/clip_156/loops=false
+animation/clip_157/name=""
+animation/clip_157/start_frame=0
+animation/clip_157/end_frame=0
+animation/clip_157/loops=false
+animation/clip_158/name=""
+animation/clip_158/start_frame=0
+animation/clip_158/end_frame=0
+animation/clip_158/loops=false
+animation/clip_159/name=""
+animation/clip_159/start_frame=0
+animation/clip_159/end_frame=0
+animation/clip_159/loops=false
+animation/clip_160/name=""
+animation/clip_160/start_frame=0
+animation/clip_160/end_frame=0
+animation/clip_160/loops=false
+animation/clip_161/name=""
+animation/clip_161/start_frame=0
+animation/clip_161/end_frame=0
+animation/clip_161/loops=false
+animation/clip_162/name=""
+animation/clip_162/start_frame=0
+animation/clip_162/end_frame=0
+animation/clip_162/loops=false
+animation/clip_163/name=""
+animation/clip_163/start_frame=0
+animation/clip_163/end_frame=0
+animation/clip_163/loops=false
+animation/clip_164/name=""
+animation/clip_164/start_frame=0
+animation/clip_164/end_frame=0
+animation/clip_164/loops=false
+animation/clip_165/name=""
+animation/clip_165/start_frame=0
+animation/clip_165/end_frame=0
+animation/clip_165/loops=false
+animation/clip_166/name=""
+animation/clip_166/start_frame=0
+animation/clip_166/end_frame=0
+animation/clip_166/loops=false
+animation/clip_167/name=""
+animation/clip_167/start_frame=0
+animation/clip_167/end_frame=0
+animation/clip_167/loops=false
+animation/clip_168/name=""
+animation/clip_168/start_frame=0
+animation/clip_168/end_frame=0
+animation/clip_168/loops=false
+animation/clip_169/name=""
+animation/clip_169/start_frame=0
+animation/clip_169/end_frame=0
+animation/clip_169/loops=false
+animation/clip_170/name=""
+animation/clip_170/start_frame=0
+animation/clip_170/end_frame=0
+animation/clip_170/loops=false
+animation/clip_171/name=""
+animation/clip_171/start_frame=0
+animation/clip_171/end_frame=0
+animation/clip_171/loops=false
+animation/clip_172/name=""
+animation/clip_172/start_frame=0
+animation/clip_172/end_frame=0
+animation/clip_172/loops=false
+animation/clip_173/name=""
+animation/clip_173/start_frame=0
+animation/clip_173/end_frame=0
+animation/clip_173/loops=false
+animation/clip_174/name=""
+animation/clip_174/start_frame=0
+animation/clip_174/end_frame=0
+animation/clip_174/loops=false
+animation/clip_175/name=""
+animation/clip_175/start_frame=0
+animation/clip_175/end_frame=0
+animation/clip_175/loops=false
+animation/clip_176/name=""
+animation/clip_176/start_frame=0
+animation/clip_176/end_frame=0
+animation/clip_176/loops=false
+animation/clip_177/name=""
+animation/clip_177/start_frame=0
+animation/clip_177/end_frame=0
+animation/clip_177/loops=false
+animation/clip_178/name=""
+animation/clip_178/start_frame=0
+animation/clip_178/end_frame=0
+animation/clip_178/loops=false
+animation/clip_179/name=""
+animation/clip_179/start_frame=0
+animation/clip_179/end_frame=0
+animation/clip_179/loops=false
+animation/clip_180/name=""
+animation/clip_180/start_frame=0
+animation/clip_180/end_frame=0
+animation/clip_180/loops=false
+animation/clip_181/name=""
+animation/clip_181/start_frame=0
+animation/clip_181/end_frame=0
+animation/clip_181/loops=false
+animation/clip_182/name=""
+animation/clip_182/start_frame=0
+animation/clip_182/end_frame=0
+animation/clip_182/loops=false
+animation/clip_183/name=""
+animation/clip_183/start_frame=0
+animation/clip_183/end_frame=0
+animation/clip_183/loops=false
+animation/clip_184/name=""
+animation/clip_184/start_frame=0
+animation/clip_184/end_frame=0
+animation/clip_184/loops=false
+animation/clip_185/name=""
+animation/clip_185/start_frame=0
+animation/clip_185/end_frame=0
+animation/clip_185/loops=false
+animation/clip_186/name=""
+animation/clip_186/start_frame=0
+animation/clip_186/end_frame=0
+animation/clip_186/loops=false
+animation/clip_187/name=""
+animation/clip_187/start_frame=0
+animation/clip_187/end_frame=0
+animation/clip_187/loops=false
+animation/clip_188/name=""
+animation/clip_188/start_frame=0
+animation/clip_188/end_frame=0
+animation/clip_188/loops=false
+animation/clip_189/name=""
+animation/clip_189/start_frame=0
+animation/clip_189/end_frame=0
+animation/clip_189/loops=false
+animation/clip_190/name=""
+animation/clip_190/start_frame=0
+animation/clip_190/end_frame=0
+animation/clip_190/loops=false
+animation/clip_191/name=""
+animation/clip_191/start_frame=0
+animation/clip_191/end_frame=0
+animation/clip_191/loops=false
+animation/clip_192/name=""
+animation/clip_192/start_frame=0
+animation/clip_192/end_frame=0
+animation/clip_192/loops=false
+animation/clip_193/name=""
+animation/clip_193/start_frame=0
+animation/clip_193/end_frame=0
+animation/clip_193/loops=false
+animation/clip_194/name=""
+animation/clip_194/start_frame=0
+animation/clip_194/end_frame=0
+animation/clip_194/loops=false
+animation/clip_195/name=""
+animation/clip_195/start_frame=0
+animation/clip_195/end_frame=0
+animation/clip_195/loops=false
+animation/clip_196/name=""
+animation/clip_196/start_frame=0
+animation/clip_196/end_frame=0
+animation/clip_196/loops=false
+animation/clip_197/name=""
+animation/clip_197/start_frame=0
+animation/clip_197/end_frame=0
+animation/clip_197/loops=false
+animation/clip_198/name=""
+animation/clip_198/start_frame=0
+animation/clip_198/end_frame=0
+animation/clip_198/loops=false
+animation/clip_199/name=""
+animation/clip_199/start_frame=0
+animation/clip_199/end_frame=0
+animation/clip_199/loops=false
+animation/clip_200/name=""
+animation/clip_200/start_frame=0
+animation/clip_200/end_frame=0
+animation/clip_200/loops=false
+animation/clip_201/name=""
+animation/clip_201/start_frame=0
+animation/clip_201/end_frame=0
+animation/clip_201/loops=false
+animation/clip_202/name=""
+animation/clip_202/start_frame=0
+animation/clip_202/end_frame=0
+animation/clip_202/loops=false
+animation/clip_203/name=""
+animation/clip_203/start_frame=0
+animation/clip_203/end_frame=0
+animation/clip_203/loops=false
+animation/clip_204/name=""
+animation/clip_204/start_frame=0
+animation/clip_204/end_frame=0
+animation/clip_204/loops=false
+animation/clip_205/name=""
+animation/clip_205/start_frame=0
+animation/clip_205/end_frame=0
+animation/clip_205/loops=false
+animation/clip_206/name=""
+animation/clip_206/start_frame=0
+animation/clip_206/end_frame=0
+animation/clip_206/loops=false
+animation/clip_207/name=""
+animation/clip_207/start_frame=0
+animation/clip_207/end_frame=0
+animation/clip_207/loops=false
+animation/clip_208/name=""
+animation/clip_208/start_frame=0
+animation/clip_208/end_frame=0
+animation/clip_208/loops=false
+animation/clip_209/name=""
+animation/clip_209/start_frame=0
+animation/clip_209/end_frame=0
+animation/clip_209/loops=false
+animation/clip_210/name=""
+animation/clip_210/start_frame=0
+animation/clip_210/end_frame=0
+animation/clip_210/loops=false
+animation/clip_211/name=""
+animation/clip_211/start_frame=0
+animation/clip_211/end_frame=0
+animation/clip_211/loops=false
+animation/clip_212/name=""
+animation/clip_212/start_frame=0
+animation/clip_212/end_frame=0
+animation/clip_212/loops=false
+animation/clip_213/name=""
+animation/clip_213/start_frame=0
+animation/clip_213/end_frame=0
+animation/clip_213/loops=false
+animation/clip_214/name=""
+animation/clip_214/start_frame=0
+animation/clip_214/end_frame=0
+animation/clip_214/loops=false
+animation/clip_215/name=""
+animation/clip_215/start_frame=0
+animation/clip_215/end_frame=0
+animation/clip_215/loops=false
+animation/clip_216/name=""
+animation/clip_216/start_frame=0
+animation/clip_216/end_frame=0
+animation/clip_216/loops=false
+animation/clip_217/name=""
+animation/clip_217/start_frame=0
+animation/clip_217/end_frame=0
+animation/clip_217/loops=false
+animation/clip_218/name=""
+animation/clip_218/start_frame=0
+animation/clip_218/end_frame=0
+animation/clip_218/loops=false
+animation/clip_219/name=""
+animation/clip_219/start_frame=0
+animation/clip_219/end_frame=0
+animation/clip_219/loops=false
+animation/clip_220/name=""
+animation/clip_220/start_frame=0
+animation/clip_220/end_frame=0
+animation/clip_220/loops=false
+animation/clip_221/name=""
+animation/clip_221/start_frame=0
+animation/clip_221/end_frame=0
+animation/clip_221/loops=false
+animation/clip_222/name=""
+animation/clip_222/start_frame=0
+animation/clip_222/end_frame=0
+animation/clip_222/loops=false
+animation/clip_223/name=""
+animation/clip_223/start_frame=0
+animation/clip_223/end_frame=0
+animation/clip_223/loops=false
+animation/clip_224/name=""
+animation/clip_224/start_frame=0
+animation/clip_224/end_frame=0
+animation/clip_224/loops=false
+animation/clip_225/name=""
+animation/clip_225/start_frame=0
+animation/clip_225/end_frame=0
+animation/clip_225/loops=false
+animation/clip_226/name=""
+animation/clip_226/start_frame=0
+animation/clip_226/end_frame=0
+animation/clip_226/loops=false
+animation/clip_227/name=""
+animation/clip_227/start_frame=0
+animation/clip_227/end_frame=0
+animation/clip_227/loops=false
+animation/clip_228/name=""
+animation/clip_228/start_frame=0
+animation/clip_228/end_frame=0
+animation/clip_228/loops=false
+animation/clip_229/name=""
+animation/clip_229/start_frame=0
+animation/clip_229/end_frame=0
+animation/clip_229/loops=false
+animation/clip_230/name=""
+animation/clip_230/start_frame=0
+animation/clip_230/end_frame=0
+animation/clip_230/loops=false
+animation/clip_231/name=""
+animation/clip_231/start_frame=0
+animation/clip_231/end_frame=0
+animation/clip_231/loops=false
+animation/clip_232/name=""
+animation/clip_232/start_frame=0
+animation/clip_232/end_frame=0
+animation/clip_232/loops=false
+animation/clip_233/name=""
+animation/clip_233/start_frame=0
+animation/clip_233/end_frame=0
+animation/clip_233/loops=false
+animation/clip_234/name=""
+animation/clip_234/start_frame=0
+animation/clip_234/end_frame=0
+animation/clip_234/loops=false
+animation/clip_235/name=""
+animation/clip_235/start_frame=0
+animation/clip_235/end_frame=0
+animation/clip_235/loops=false
+animation/clip_236/name=""
+animation/clip_236/start_frame=0
+animation/clip_236/end_frame=0
+animation/clip_236/loops=false
+animation/clip_237/name=""
+animation/clip_237/start_frame=0
+animation/clip_237/end_frame=0
+animation/clip_237/loops=false
+animation/clip_238/name=""
+animation/clip_238/start_frame=0
+animation/clip_238/end_frame=0
+animation/clip_238/loops=false
+animation/clip_239/name=""
+animation/clip_239/start_frame=0
+animation/clip_239/end_frame=0
+animation/clip_239/loops=false
+animation/clip_240/name=""
+animation/clip_240/start_frame=0
+animation/clip_240/end_frame=0
+animation/clip_240/loops=false
+animation/clip_241/name=""
+animation/clip_241/start_frame=0
+animation/clip_241/end_frame=0
+animation/clip_241/loops=false
+animation/clip_242/name=""
+animation/clip_242/start_frame=0
+animation/clip_242/end_frame=0
+animation/clip_242/loops=false
+animation/clip_243/name=""
+animation/clip_243/start_frame=0
+animation/clip_243/end_frame=0
+animation/clip_243/loops=false
+animation/clip_244/name=""
+animation/clip_244/start_frame=0
+animation/clip_244/end_frame=0
+animation/clip_244/loops=false
+animation/clip_245/name=""
+animation/clip_245/start_frame=0
+animation/clip_245/end_frame=0
+animation/clip_245/loops=false
+animation/clip_246/name=""
+animation/clip_246/start_frame=0
+animation/clip_246/end_frame=0
+animation/clip_246/loops=false
+animation/clip_247/name=""
+animation/clip_247/start_frame=0
+animation/clip_247/end_frame=0
+animation/clip_247/loops=false
+animation/clip_248/name=""
+animation/clip_248/start_frame=0
+animation/clip_248/end_frame=0
+animation/clip_248/loops=false
+animation/clip_249/name=""
+animation/clip_249/start_frame=0
+animation/clip_249/end_frame=0
+animation/clip_249/loops=false
+animation/clip_250/name=""
+animation/clip_250/start_frame=0
+animation/clip_250/end_frame=0
+animation/clip_250/loops=false
+animation/clip_251/name=""
+animation/clip_251/start_frame=0
+animation/clip_251/end_frame=0
+animation/clip_251/loops=false
+animation/clip_252/name=""
+animation/clip_252/start_frame=0
+animation/clip_252/end_frame=0
+animation/clip_252/loops=false
+animation/clip_253/name=""
+animation/clip_253/start_frame=0
+animation/clip_253/end_frame=0
+animation/clip_253/loops=false
+animation/clip_254/name=""
+animation/clip_254/start_frame=0
+animation/clip_254/end_frame=0
+animation/clip_254/loops=false
+animation/clip_255/name=""
+animation/clip_255/start_frame=0
+animation/clip_255/end_frame=0
+animation/clip_255/loops=false
+animation/clip_256/name=""
+animation/clip_256/start_frame=0
+animation/clip_256/end_frame=0
+animation/clip_256/loops=false

BIN
3d/global_illumination/zdm2.glb.unwrap_cache


+ 1 - 0
3d/kinematic_character/default_env.tres

@@ -15,6 +15,7 @@ texture_size = 0
 [resource]
 background_mode = 2
 background_sky = SubResource( 1 )
+ambient_light_energy = 5.0
 tonemap_mode = 2
 tonemap_white = 6.0
 ssao_blur = 1

+ 1 - 8
3d/kinematic_character/level.tscn

@@ -1,9 +1,8 @@
-[gd_scene load_steps=10 format=2]
+[gd_scene load_steps=9 format=2]
 
 [ext_resource path="res://cubelib.tres" type="MeshLibrary" id=1]
 [ext_resource path="res://player/cubio.tscn" type="PackedScene" id=2]
 [ext_resource path="res://models/cube.mesh" type="ArrayMesh" id=3]
-[ext_resource path="res://gi_probe_data.res" type="GIProbeData" id=4]
 [ext_resource path="res://models/mushroom.glb" type="PackedScene" id=5]
 
 [sub_resource type="BoxShape" id=1]
@@ -60,12 +59,6 @@ __meta__ = {
 "_editor_floor_": Vector3( 0, 12, 0 )
 }
 
-[node name="GIProbe" type="GIProbe" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 4 )
-extents = Vector3( 8, 8, 10 )
-propagation = 1.0
-data = ExtResource( 4 )
-
 [node name="DirectionalLight" type="DirectionalLight" parent="."]
 transform = Transform( -0.173649, 0.806707, -0.564863, 0, 0.573576, 0.819152, 0.984808, 0.142244, -0.0996007, 0, 0, 0 )
 light_energy = 1.3

+ 25 - 0
3d/rigidbody_character/README.md

@@ -0,0 +1,25 @@
+# RigidBody Character 3D
+
+RigidBody character demo for 3D using a capsule for the character.
+Cubes as RigidBodies spawn in the map from above to show interaction
+with the player (jump on them, gently push them), which would be
+impossible with a KinematicBody.
+
+Language: GDScript
+
+Renderer: GLES 3
+
+Check out this demo on the asset library: https://godotengine.org/asset-library/asset/1291
+
+## How does it work?
+
+This demo uses a [`RigidBody`](https://docs.godotengine.org/en/stable/classes/class_rigidbody.html)
+for the player, and [`StaticBody`](https://docs.godotengine.org/en/latest/classes/class_staticbody.html)
+for the level. Each has colliders, the player moves itself via
+`apply_central_impulse()` in `_physics_process()`, and collides with the level.
+
+## Screenshots
+
+![Screenshot](screenshots/ingame.png)
+
+![Screenshot](screenshots/editor.png)

+ 25 - 0
3d/rigidbody_character/cube_rigidbody.tscn

@@ -0,0 +1,25 @@
+[gd_scene load_steps=5 format=2]
+
+[ext_resource path="res://models/white_wood.png" type="Texture" id=1]
+
+[sub_resource type="BoxShape" id=1]
+extents = Vector3( 0.5, 0.5, 0.5 )
+
+[sub_resource type="SpatialMaterial" id=3]
+resource_name = "Material"
+albedo_color = Color( 0.917647, 0.384314, 0.0823529, 1 )
+albedo_texture = ExtResource( 1 )
+roughness = 0.75
+
+[sub_resource type="CubeMesh" id=2]
+material = SubResource( 3 )
+size = Vector3( 1, 1, 1 )
+
+[node name="cube_rigidbody" type="RigidBody"]
+
+[node name="CollisionShape" type="CollisionShape" parent="."]
+shape = SubResource( 1 )
+
+[node name="MeshInstance" type="MeshInstance" parent="."]
+mesh = SubResource( 2 )
+material/0 = null

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 6 - 0
3d/rigidbody_character/cubelib.tres


+ 25 - 0
3d/rigidbody_character/default_env.tres

@@ -0,0 +1,25 @@
+[gd_resource type="Environment" load_steps=2 format=2]
+
+[sub_resource type="ProceduralSky" id=1]
+radiance_size = 1
+sky_top_color = Color( 0.219882, 0.193725, 0.366471, 1 )
+sky_horizon_color = Color( 0.342622, 0.0655002, 0.558935, 1 )
+sky_curve = 0.0490365
+ground_bottom_color = Color( 0.0342205, 0.0333383, 0.0322154, 1 )
+ground_horizon_color = Color( 0.148289, 0.138067, 0.125119, 1 )
+ground_curve = 0.25
+sun_latitude = 55.0
+sun_longitude = -80.0
+texture_size = 0
+
+[resource]
+background_mode = 2
+background_sky = SubResource( 1 )
+tonemap_mode = 2
+tonemap_white = 6.0
+ssao_blur = 1
+glow_levels/7 = true
+glow_strength = 0.79
+glow_bloom = 1.0
+glow_blend_mode = 0
+glow_bicubic_upscale = true

+ 0 - 0
3d/kinematic_character/gi_probe_data.res → 3d/rigidbody_character/gi_probe_data.res


BIN
3d/rigidbody_character/icon.png


+ 35 - 0
3d/rigidbody_character/icon.png.import

@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://icon.png"
+dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

+ 9 - 0
3d/rigidbody_character/level.gd

@@ -0,0 +1,9 @@
+extends Spatial
+
+# Random spawn of Rigidbody cubes.
+func _on_SpawnTimer_timeout():
+	var new_rb = preload("res://cube_rigidbody.tscn").instance()
+	new_rb.translation.y = 15
+	new_rb.translation.x = rand_range(-5, 5)
+	new_rb.translation.z = rand_range(-5, 5)
+	add_child(new_rb)

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 57 - 0
3d/rigidbody_character/level.tscn


BIN
3d/rigidbody_character/models/cube.glb


+ 1065 - 0
3d/rigidbody_character/models/cube.glb.import

@@ -0,0 +1,1065 @@
+[remap]
+
+importer="scene"
+type="PackedScene"
+path="res://.import/cube.glb-c6bf6ebacd621473d1ca4ff4a368b9dc.scn"
+
+[deps]
+
+source_file="res://models/cube.glb"
+dest_files=[ "res://.import/cube.glb-c6bf6ebacd621473d1ca4ff4a368b9dc.scn" ]
+
+[params]
+
+nodes/root_type="Spatial"
+nodes/root_name="Cube"
+nodes/root_scale=1.0
+nodes/custom_script=""
+nodes/storage=0
+nodes/use_legacy_names=true
+materials/location=1
+materials/storage=2
+materials/keep_on_reimport=true
+meshes/octahedral_compression=true
+meshes/compress=true
+meshes/ensure_tangents=true
+meshes/storage=0
+meshes/light_baking=0
+meshes/lightmap_texel_size=0.1
+skins/use_named_skins=true
+external_files/store_in_subdir=false
+animation/import=false
+animation/fps=15
+animation/filter_script=""
+animation/storage=false
+animation/keep_custom_tracks=false
+animation/optimizer/enabled=true
+animation/optimizer/max_linear_error=0.05
+animation/optimizer/max_angular_error=0.01
+animation/optimizer/max_angle=22
+animation/optimizer/remove_unused_tracks=true
+animation/clips/amount=0
+animation/clip_1/name=""
+animation/clip_1/start_frame=0
+animation/clip_1/end_frame=0
+animation/clip_1/loops=false
+animation/clip_2/name=""
+animation/clip_2/start_frame=0
+animation/clip_2/end_frame=0
+animation/clip_2/loops=false
+animation/clip_3/name=""
+animation/clip_3/start_frame=0
+animation/clip_3/end_frame=0
+animation/clip_3/loops=false
+animation/clip_4/name=""
+animation/clip_4/start_frame=0
+animation/clip_4/end_frame=0
+animation/clip_4/loops=false
+animation/clip_5/name=""
+animation/clip_5/start_frame=0
+animation/clip_5/end_frame=0
+animation/clip_5/loops=false
+animation/clip_6/name=""
+animation/clip_6/start_frame=0
+animation/clip_6/end_frame=0
+animation/clip_6/loops=false
+animation/clip_7/name=""
+animation/clip_7/start_frame=0
+animation/clip_7/end_frame=0
+animation/clip_7/loops=false
+animation/clip_8/name=""
+animation/clip_8/start_frame=0
+animation/clip_8/end_frame=0
+animation/clip_8/loops=false
+animation/clip_9/name=""
+animation/clip_9/start_frame=0
+animation/clip_9/end_frame=0
+animation/clip_9/loops=false
+animation/clip_10/name=""
+animation/clip_10/start_frame=0
+animation/clip_10/end_frame=0
+animation/clip_10/loops=false
+animation/clip_11/name=""
+animation/clip_11/start_frame=0
+animation/clip_11/end_frame=0
+animation/clip_11/loops=false
+animation/clip_12/name=""
+animation/clip_12/start_frame=0
+animation/clip_12/end_frame=0
+animation/clip_12/loops=false
+animation/clip_13/name=""
+animation/clip_13/start_frame=0
+animation/clip_13/end_frame=0
+animation/clip_13/loops=false
+animation/clip_14/name=""
+animation/clip_14/start_frame=0
+animation/clip_14/end_frame=0
+animation/clip_14/loops=false
+animation/clip_15/name=""
+animation/clip_15/start_frame=0
+animation/clip_15/end_frame=0
+animation/clip_15/loops=false
+animation/clip_16/name=""
+animation/clip_16/start_frame=0
+animation/clip_16/end_frame=0
+animation/clip_16/loops=false
+animation/clip_17/name=""
+animation/clip_17/start_frame=0
+animation/clip_17/end_frame=0
+animation/clip_17/loops=false
+animation/clip_18/name=""
+animation/clip_18/start_frame=0
+animation/clip_18/end_frame=0
+animation/clip_18/loops=false
+animation/clip_19/name=""
+animation/clip_19/start_frame=0
+animation/clip_19/end_frame=0
+animation/clip_19/loops=false
+animation/clip_20/name=""
+animation/clip_20/start_frame=0
+animation/clip_20/end_frame=0
+animation/clip_20/loops=false
+animation/clip_21/name=""
+animation/clip_21/start_frame=0
+animation/clip_21/end_frame=0
+animation/clip_21/loops=false
+animation/clip_22/name=""
+animation/clip_22/start_frame=0
+animation/clip_22/end_frame=0
+animation/clip_22/loops=false
+animation/clip_23/name=""
+animation/clip_23/start_frame=0
+animation/clip_23/end_frame=0
+animation/clip_23/loops=false
+animation/clip_24/name=""
+animation/clip_24/start_frame=0
+animation/clip_24/end_frame=0
+animation/clip_24/loops=false
+animation/clip_25/name=""
+animation/clip_25/start_frame=0
+animation/clip_25/end_frame=0
+animation/clip_25/loops=false
+animation/clip_26/name=""
+animation/clip_26/start_frame=0
+animation/clip_26/end_frame=0
+animation/clip_26/loops=false
+animation/clip_27/name=""
+animation/clip_27/start_frame=0
+animation/clip_27/end_frame=0
+animation/clip_27/loops=false
+animation/clip_28/name=""
+animation/clip_28/start_frame=0
+animation/clip_28/end_frame=0
+animation/clip_28/loops=false
+animation/clip_29/name=""
+animation/clip_29/start_frame=0
+animation/clip_29/end_frame=0
+animation/clip_29/loops=false
+animation/clip_30/name=""
+animation/clip_30/start_frame=0
+animation/clip_30/end_frame=0
+animation/clip_30/loops=false
+animation/clip_31/name=""
+animation/clip_31/start_frame=0
+animation/clip_31/end_frame=0
+animation/clip_31/loops=false
+animation/clip_32/name=""
+animation/clip_32/start_frame=0
+animation/clip_32/end_frame=0
+animation/clip_32/loops=false
+animation/clip_33/name=""
+animation/clip_33/start_frame=0
+animation/clip_33/end_frame=0
+animation/clip_33/loops=false
+animation/clip_34/name=""
+animation/clip_34/start_frame=0
+animation/clip_34/end_frame=0
+animation/clip_34/loops=false
+animation/clip_35/name=""
+animation/clip_35/start_frame=0
+animation/clip_35/end_frame=0
+animation/clip_35/loops=false
+animation/clip_36/name=""
+animation/clip_36/start_frame=0
+animation/clip_36/end_frame=0
+animation/clip_36/loops=false
+animation/clip_37/name=""
+animation/clip_37/start_frame=0
+animation/clip_37/end_frame=0
+animation/clip_37/loops=false
+animation/clip_38/name=""
+animation/clip_38/start_frame=0
+animation/clip_38/end_frame=0
+animation/clip_38/loops=false
+animation/clip_39/name=""
+animation/clip_39/start_frame=0
+animation/clip_39/end_frame=0
+animation/clip_39/loops=false
+animation/clip_40/name=""
+animation/clip_40/start_frame=0
+animation/clip_40/end_frame=0
+animation/clip_40/loops=false
+animation/clip_41/name=""
+animation/clip_41/start_frame=0
+animation/clip_41/end_frame=0
+animation/clip_41/loops=false
+animation/clip_42/name=""
+animation/clip_42/start_frame=0
+animation/clip_42/end_frame=0
+animation/clip_42/loops=false
+animation/clip_43/name=""
+animation/clip_43/start_frame=0
+animation/clip_43/end_frame=0
+animation/clip_43/loops=false
+animation/clip_44/name=""
+animation/clip_44/start_frame=0
+animation/clip_44/end_frame=0
+animation/clip_44/loops=false
+animation/clip_45/name=""
+animation/clip_45/start_frame=0
+animation/clip_45/end_frame=0
+animation/clip_45/loops=false
+animation/clip_46/name=""
+animation/clip_46/start_frame=0
+animation/clip_46/end_frame=0
+animation/clip_46/loops=false
+animation/clip_47/name=""
+animation/clip_47/start_frame=0
+animation/clip_47/end_frame=0
+animation/clip_47/loops=false
+animation/clip_48/name=""
+animation/clip_48/start_frame=0
+animation/clip_48/end_frame=0
+animation/clip_48/loops=false
+animation/clip_49/name=""
+animation/clip_49/start_frame=0
+animation/clip_49/end_frame=0
+animation/clip_49/loops=false
+animation/clip_50/name=""
+animation/clip_50/start_frame=0
+animation/clip_50/end_frame=0
+animation/clip_50/loops=false
+animation/clip_51/name=""
+animation/clip_51/start_frame=0
+animation/clip_51/end_frame=0
+animation/clip_51/loops=false
+animation/clip_52/name=""
+animation/clip_52/start_frame=0
+animation/clip_52/end_frame=0
+animation/clip_52/loops=false
+animation/clip_53/name=""
+animation/clip_53/start_frame=0
+animation/clip_53/end_frame=0
+animation/clip_53/loops=false
+animation/clip_54/name=""
+animation/clip_54/start_frame=0
+animation/clip_54/end_frame=0
+animation/clip_54/loops=false
+animation/clip_55/name=""
+animation/clip_55/start_frame=0
+animation/clip_55/end_frame=0
+animation/clip_55/loops=false
+animation/clip_56/name=""
+animation/clip_56/start_frame=0
+animation/clip_56/end_frame=0
+animation/clip_56/loops=false
+animation/clip_57/name=""
+animation/clip_57/start_frame=0
+animation/clip_57/end_frame=0
+animation/clip_57/loops=false
+animation/clip_58/name=""
+animation/clip_58/start_frame=0
+animation/clip_58/end_frame=0
+animation/clip_58/loops=false
+animation/clip_59/name=""
+animation/clip_59/start_frame=0
+animation/clip_59/end_frame=0
+animation/clip_59/loops=false
+animation/clip_60/name=""
+animation/clip_60/start_frame=0
+animation/clip_60/end_frame=0
+animation/clip_60/loops=false
+animation/clip_61/name=""
+animation/clip_61/start_frame=0
+animation/clip_61/end_frame=0
+animation/clip_61/loops=false
+animation/clip_62/name=""
+animation/clip_62/start_frame=0
+animation/clip_62/end_frame=0
+animation/clip_62/loops=false
+animation/clip_63/name=""
+animation/clip_63/start_frame=0
+animation/clip_63/end_frame=0
+animation/clip_63/loops=false
+animation/clip_64/name=""
+animation/clip_64/start_frame=0
+animation/clip_64/end_frame=0
+animation/clip_64/loops=false
+animation/clip_65/name=""
+animation/clip_65/start_frame=0
+animation/clip_65/end_frame=0
+animation/clip_65/loops=false
+animation/clip_66/name=""
+animation/clip_66/start_frame=0
+animation/clip_66/end_frame=0
+animation/clip_66/loops=false
+animation/clip_67/name=""
+animation/clip_67/start_frame=0
+animation/clip_67/end_frame=0
+animation/clip_67/loops=false
+animation/clip_68/name=""
+animation/clip_68/start_frame=0
+animation/clip_68/end_frame=0
+animation/clip_68/loops=false
+animation/clip_69/name=""
+animation/clip_69/start_frame=0
+animation/clip_69/end_frame=0
+animation/clip_69/loops=false
+animation/clip_70/name=""
+animation/clip_70/start_frame=0
+animation/clip_70/end_frame=0
+animation/clip_70/loops=false
+animation/clip_71/name=""
+animation/clip_71/start_frame=0
+animation/clip_71/end_frame=0
+animation/clip_71/loops=false
+animation/clip_72/name=""
+animation/clip_72/start_frame=0
+animation/clip_72/end_frame=0
+animation/clip_72/loops=false
+animation/clip_73/name=""
+animation/clip_73/start_frame=0
+animation/clip_73/end_frame=0
+animation/clip_73/loops=false
+animation/clip_74/name=""
+animation/clip_74/start_frame=0
+animation/clip_74/end_frame=0
+animation/clip_74/loops=false
+animation/clip_75/name=""
+animation/clip_75/start_frame=0
+animation/clip_75/end_frame=0
+animation/clip_75/loops=false
+animation/clip_76/name=""
+animation/clip_76/start_frame=0
+animation/clip_76/end_frame=0
+animation/clip_76/loops=false
+animation/clip_77/name=""
+animation/clip_77/start_frame=0
+animation/clip_77/end_frame=0
+animation/clip_77/loops=false
+animation/clip_78/name=""
+animation/clip_78/start_frame=0
+animation/clip_78/end_frame=0
+animation/clip_78/loops=false
+animation/clip_79/name=""
+animation/clip_79/start_frame=0
+animation/clip_79/end_frame=0
+animation/clip_79/loops=false
+animation/clip_80/name=""
+animation/clip_80/start_frame=0
+animation/clip_80/end_frame=0
+animation/clip_80/loops=false
+animation/clip_81/name=""
+animation/clip_81/start_frame=0
+animation/clip_81/end_frame=0
+animation/clip_81/loops=false
+animation/clip_82/name=""
+animation/clip_82/start_frame=0
+animation/clip_82/end_frame=0
+animation/clip_82/loops=false
+animation/clip_83/name=""
+animation/clip_83/start_frame=0
+animation/clip_83/end_frame=0
+animation/clip_83/loops=false
+animation/clip_84/name=""
+animation/clip_84/start_frame=0
+animation/clip_84/end_frame=0
+animation/clip_84/loops=false
+animation/clip_85/name=""
+animation/clip_85/start_frame=0
+animation/clip_85/end_frame=0
+animation/clip_85/loops=false
+animation/clip_86/name=""
+animation/clip_86/start_frame=0
+animation/clip_86/end_frame=0
+animation/clip_86/loops=false
+animation/clip_87/name=""
+animation/clip_87/start_frame=0
+animation/clip_87/end_frame=0
+animation/clip_87/loops=false
+animation/clip_88/name=""
+animation/clip_88/start_frame=0
+animation/clip_88/end_frame=0
+animation/clip_88/loops=false
+animation/clip_89/name=""
+animation/clip_89/start_frame=0
+animation/clip_89/end_frame=0
+animation/clip_89/loops=false
+animation/clip_90/name=""
+animation/clip_90/start_frame=0
+animation/clip_90/end_frame=0
+animation/clip_90/loops=false
+animation/clip_91/name=""
+animation/clip_91/start_frame=0
+animation/clip_91/end_frame=0
+animation/clip_91/loops=false
+animation/clip_92/name=""
+animation/clip_92/start_frame=0
+animation/clip_92/end_frame=0
+animation/clip_92/loops=false
+animation/clip_93/name=""
+animation/clip_93/start_frame=0
+animation/clip_93/end_frame=0
+animation/clip_93/loops=false
+animation/clip_94/name=""
+animation/clip_94/start_frame=0
+animation/clip_94/end_frame=0
+animation/clip_94/loops=false
+animation/clip_95/name=""
+animation/clip_95/start_frame=0
+animation/clip_95/end_frame=0
+animation/clip_95/loops=false
+animation/clip_96/name=""
+animation/clip_96/start_frame=0
+animation/clip_96/end_frame=0
+animation/clip_96/loops=false
+animation/clip_97/name=""
+animation/clip_97/start_frame=0
+animation/clip_97/end_frame=0
+animation/clip_97/loops=false
+animation/clip_98/name=""
+animation/clip_98/start_frame=0
+animation/clip_98/end_frame=0
+animation/clip_98/loops=false
+animation/clip_99/name=""
+animation/clip_99/start_frame=0
+animation/clip_99/end_frame=0
+animation/clip_99/loops=false
+animation/clip_100/name=""
+animation/clip_100/start_frame=0
+animation/clip_100/end_frame=0
+animation/clip_100/loops=false
+animation/clip_101/name=""
+animation/clip_101/start_frame=0
+animation/clip_101/end_frame=0
+animation/clip_101/loops=false
+animation/clip_102/name=""
+animation/clip_102/start_frame=0
+animation/clip_102/end_frame=0
+animation/clip_102/loops=false
+animation/clip_103/name=""
+animation/clip_103/start_frame=0
+animation/clip_103/end_frame=0
+animation/clip_103/loops=false
+animation/clip_104/name=""
+animation/clip_104/start_frame=0
+animation/clip_104/end_frame=0
+animation/clip_104/loops=false
+animation/clip_105/name=""
+animation/clip_105/start_frame=0
+animation/clip_105/end_frame=0
+animation/clip_105/loops=false
+animation/clip_106/name=""
+animation/clip_106/start_frame=0
+animation/clip_106/end_frame=0
+animation/clip_106/loops=false
+animation/clip_107/name=""
+animation/clip_107/start_frame=0
+animation/clip_107/end_frame=0
+animation/clip_107/loops=false
+animation/clip_108/name=""
+animation/clip_108/start_frame=0
+animation/clip_108/end_frame=0
+animation/clip_108/loops=false
+animation/clip_109/name=""
+animation/clip_109/start_frame=0
+animation/clip_109/end_frame=0
+animation/clip_109/loops=false
+animation/clip_110/name=""
+animation/clip_110/start_frame=0
+animation/clip_110/end_frame=0
+animation/clip_110/loops=false
+animation/clip_111/name=""
+animation/clip_111/start_frame=0
+animation/clip_111/end_frame=0
+animation/clip_111/loops=false
+animation/clip_112/name=""
+animation/clip_112/start_frame=0
+animation/clip_112/end_frame=0
+animation/clip_112/loops=false
+animation/clip_113/name=""
+animation/clip_113/start_frame=0
+animation/clip_113/end_frame=0
+animation/clip_113/loops=false
+animation/clip_114/name=""
+animation/clip_114/start_frame=0
+animation/clip_114/end_frame=0
+animation/clip_114/loops=false
+animation/clip_115/name=""
+animation/clip_115/start_frame=0
+animation/clip_115/end_frame=0
+animation/clip_115/loops=false
+animation/clip_116/name=""
+animation/clip_116/start_frame=0
+animation/clip_116/end_frame=0
+animation/clip_116/loops=false
+animation/clip_117/name=""
+animation/clip_117/start_frame=0
+animation/clip_117/end_frame=0
+animation/clip_117/loops=false
+animation/clip_118/name=""
+animation/clip_118/start_frame=0
+animation/clip_118/end_frame=0
+animation/clip_118/loops=false
+animation/clip_119/name=""
+animation/clip_119/start_frame=0
+animation/clip_119/end_frame=0
+animation/clip_119/loops=false
+animation/clip_120/name=""
+animation/clip_120/start_frame=0
+animation/clip_120/end_frame=0
+animation/clip_120/loops=false
+animation/clip_121/name=""
+animation/clip_121/start_frame=0
+animation/clip_121/end_frame=0
+animation/clip_121/loops=false
+animation/clip_122/name=""
+animation/clip_122/start_frame=0
+animation/clip_122/end_frame=0
+animation/clip_122/loops=false
+animation/clip_123/name=""
+animation/clip_123/start_frame=0
+animation/clip_123/end_frame=0
+animation/clip_123/loops=false
+animation/clip_124/name=""
+animation/clip_124/start_frame=0
+animation/clip_124/end_frame=0
+animation/clip_124/loops=false
+animation/clip_125/name=""
+animation/clip_125/start_frame=0
+animation/clip_125/end_frame=0
+animation/clip_125/loops=false
+animation/clip_126/name=""
+animation/clip_126/start_frame=0
+animation/clip_126/end_frame=0
+animation/clip_126/loops=false
+animation/clip_127/name=""
+animation/clip_127/start_frame=0
+animation/clip_127/end_frame=0
+animation/clip_127/loops=false
+animation/clip_128/name=""
+animation/clip_128/start_frame=0
+animation/clip_128/end_frame=0
+animation/clip_128/loops=false
+animation/clip_129/name=""
+animation/clip_129/start_frame=0
+animation/clip_129/end_frame=0
+animation/clip_129/loops=false
+animation/clip_130/name=""
+animation/clip_130/start_frame=0
+animation/clip_130/end_frame=0
+animation/clip_130/loops=false
+animation/clip_131/name=""
+animation/clip_131/start_frame=0
+animation/clip_131/end_frame=0
+animation/clip_131/loops=false
+animation/clip_132/name=""
+animation/clip_132/start_frame=0
+animation/clip_132/end_frame=0
+animation/clip_132/loops=false
+animation/clip_133/name=""
+animation/clip_133/start_frame=0
+animation/clip_133/end_frame=0
+animation/clip_133/loops=false
+animation/clip_134/name=""
+animation/clip_134/start_frame=0
+animation/clip_134/end_frame=0
+animation/clip_134/loops=false
+animation/clip_135/name=""
+animation/clip_135/start_frame=0
+animation/clip_135/end_frame=0
+animation/clip_135/loops=false
+animation/clip_136/name=""
+animation/clip_136/start_frame=0
+animation/clip_136/end_frame=0
+animation/clip_136/loops=false
+animation/clip_137/name=""
+animation/clip_137/start_frame=0
+animation/clip_137/end_frame=0
+animation/clip_137/loops=false
+animation/clip_138/name=""
+animation/clip_138/start_frame=0
+animation/clip_138/end_frame=0
+animation/clip_138/loops=false
+animation/clip_139/name=""
+animation/clip_139/start_frame=0
+animation/clip_139/end_frame=0
+animation/clip_139/loops=false
+animation/clip_140/name=""
+animation/clip_140/start_frame=0
+animation/clip_140/end_frame=0
+animation/clip_140/loops=false
+animation/clip_141/name=""
+animation/clip_141/start_frame=0
+animation/clip_141/end_frame=0
+animation/clip_141/loops=false
+animation/clip_142/name=""
+animation/clip_142/start_frame=0
+animation/clip_142/end_frame=0
+animation/clip_142/loops=false
+animation/clip_143/name=""
+animation/clip_143/start_frame=0
+animation/clip_143/end_frame=0
+animation/clip_143/loops=false
+animation/clip_144/name=""
+animation/clip_144/start_frame=0
+animation/clip_144/end_frame=0
+animation/clip_144/loops=false
+animation/clip_145/name=""
+animation/clip_145/start_frame=0
+animation/clip_145/end_frame=0
+animation/clip_145/loops=false
+animation/clip_146/name=""
+animation/clip_146/start_frame=0
+animation/clip_146/end_frame=0
+animation/clip_146/loops=false
+animation/clip_147/name=""
+animation/clip_147/start_frame=0
+animation/clip_147/end_frame=0
+animation/clip_147/loops=false
+animation/clip_148/name=""
+animation/clip_148/start_frame=0
+animation/clip_148/end_frame=0
+animation/clip_148/loops=false
+animation/clip_149/name=""
+animation/clip_149/start_frame=0
+animation/clip_149/end_frame=0
+animation/clip_149/loops=false
+animation/clip_150/name=""
+animation/clip_150/start_frame=0
+animation/clip_150/end_frame=0
+animation/clip_150/loops=false
+animation/clip_151/name=""
+animation/clip_151/start_frame=0
+animation/clip_151/end_frame=0
+animation/clip_151/loops=false
+animation/clip_152/name=""
+animation/clip_152/start_frame=0
+animation/clip_152/end_frame=0
+animation/clip_152/loops=false
+animation/clip_153/name=""
+animation/clip_153/start_frame=0
+animation/clip_153/end_frame=0
+animation/clip_153/loops=false
+animation/clip_154/name=""
+animation/clip_154/start_frame=0
+animation/clip_154/end_frame=0
+animation/clip_154/loops=false
+animation/clip_155/name=""
+animation/clip_155/start_frame=0
+animation/clip_155/end_frame=0
+animation/clip_155/loops=false
+animation/clip_156/name=""
+animation/clip_156/start_frame=0
+animation/clip_156/end_frame=0
+animation/clip_156/loops=false
+animation/clip_157/name=""
+animation/clip_157/start_frame=0
+animation/clip_157/end_frame=0
+animation/clip_157/loops=false
+animation/clip_158/name=""
+animation/clip_158/start_frame=0
+animation/clip_158/end_frame=0
+animation/clip_158/loops=false
+animation/clip_159/name=""
+animation/clip_159/start_frame=0
+animation/clip_159/end_frame=0
+animation/clip_159/loops=false
+animation/clip_160/name=""
+animation/clip_160/start_frame=0
+animation/clip_160/end_frame=0
+animation/clip_160/loops=false
+animation/clip_161/name=""
+animation/clip_161/start_frame=0
+animation/clip_161/end_frame=0
+animation/clip_161/loops=false
+animation/clip_162/name=""
+animation/clip_162/start_frame=0
+animation/clip_162/end_frame=0
+animation/clip_162/loops=false
+animation/clip_163/name=""
+animation/clip_163/start_frame=0
+animation/clip_163/end_frame=0
+animation/clip_163/loops=false
+animation/clip_164/name=""
+animation/clip_164/start_frame=0
+animation/clip_164/end_frame=0
+animation/clip_164/loops=false
+animation/clip_165/name=""
+animation/clip_165/start_frame=0
+animation/clip_165/end_frame=0
+animation/clip_165/loops=false
+animation/clip_166/name=""
+animation/clip_166/start_frame=0
+animation/clip_166/end_frame=0
+animation/clip_166/loops=false
+animation/clip_167/name=""
+animation/clip_167/start_frame=0
+animation/clip_167/end_frame=0
+animation/clip_167/loops=false
+animation/clip_168/name=""
+animation/clip_168/start_frame=0
+animation/clip_168/end_frame=0
+animation/clip_168/loops=false
+animation/clip_169/name=""
+animation/clip_169/start_frame=0
+animation/clip_169/end_frame=0
+animation/clip_169/loops=false
+animation/clip_170/name=""
+animation/clip_170/start_frame=0
+animation/clip_170/end_frame=0
+animation/clip_170/loops=false
+animation/clip_171/name=""
+animation/clip_171/start_frame=0
+animation/clip_171/end_frame=0
+animation/clip_171/loops=false
+animation/clip_172/name=""
+animation/clip_172/start_frame=0
+animation/clip_172/end_frame=0
+animation/clip_172/loops=false
+animation/clip_173/name=""
+animation/clip_173/start_frame=0
+animation/clip_173/end_frame=0
+animation/clip_173/loops=false
+animation/clip_174/name=""
+animation/clip_174/start_frame=0
+animation/clip_174/end_frame=0
+animation/clip_174/loops=false
+animation/clip_175/name=""
+animation/clip_175/start_frame=0
+animation/clip_175/end_frame=0
+animation/clip_175/loops=false
+animation/clip_176/name=""
+animation/clip_176/start_frame=0
+animation/clip_176/end_frame=0
+animation/clip_176/loops=false
+animation/clip_177/name=""
+animation/clip_177/start_frame=0
+animation/clip_177/end_frame=0
+animation/clip_177/loops=false
+animation/clip_178/name=""
+animation/clip_178/start_frame=0
+animation/clip_178/end_frame=0
+animation/clip_178/loops=false
+animation/clip_179/name=""
+animation/clip_179/start_frame=0
+animation/clip_179/end_frame=0
+animation/clip_179/loops=false
+animation/clip_180/name=""
+animation/clip_180/start_frame=0
+animation/clip_180/end_frame=0
+animation/clip_180/loops=false
+animation/clip_181/name=""
+animation/clip_181/start_frame=0
+animation/clip_181/end_frame=0
+animation/clip_181/loops=false
+animation/clip_182/name=""
+animation/clip_182/start_frame=0
+animation/clip_182/end_frame=0
+animation/clip_182/loops=false
+animation/clip_183/name=""
+animation/clip_183/start_frame=0
+animation/clip_183/end_frame=0
+animation/clip_183/loops=false
+animation/clip_184/name=""
+animation/clip_184/start_frame=0
+animation/clip_184/end_frame=0
+animation/clip_184/loops=false
+animation/clip_185/name=""
+animation/clip_185/start_frame=0
+animation/clip_185/end_frame=0
+animation/clip_185/loops=false
+animation/clip_186/name=""
+animation/clip_186/start_frame=0
+animation/clip_186/end_frame=0
+animation/clip_186/loops=false
+animation/clip_187/name=""
+animation/clip_187/start_frame=0
+animation/clip_187/end_frame=0
+animation/clip_187/loops=false
+animation/clip_188/name=""
+animation/clip_188/start_frame=0
+animation/clip_188/end_frame=0
+animation/clip_188/loops=false
+animation/clip_189/name=""
+animation/clip_189/start_frame=0
+animation/clip_189/end_frame=0
+animation/clip_189/loops=false
+animation/clip_190/name=""
+animation/clip_190/start_frame=0
+animation/clip_190/end_frame=0
+animation/clip_190/loops=false
+animation/clip_191/name=""
+animation/clip_191/start_frame=0
+animation/clip_191/end_frame=0
+animation/clip_191/loops=false
+animation/clip_192/name=""
+animation/clip_192/start_frame=0
+animation/clip_192/end_frame=0
+animation/clip_192/loops=false
+animation/clip_193/name=""
+animation/clip_193/start_frame=0
+animation/clip_193/end_frame=0
+animation/clip_193/loops=false
+animation/clip_194/name=""
+animation/clip_194/start_frame=0
+animation/clip_194/end_frame=0
+animation/clip_194/loops=false
+animation/clip_195/name=""
+animation/clip_195/start_frame=0
+animation/clip_195/end_frame=0
+animation/clip_195/loops=false
+animation/clip_196/name=""
+animation/clip_196/start_frame=0
+animation/clip_196/end_frame=0
+animation/clip_196/loops=false
+animation/clip_197/name=""
+animation/clip_197/start_frame=0
+animation/clip_197/end_frame=0
+animation/clip_197/loops=false
+animation/clip_198/name=""
+animation/clip_198/start_frame=0
+animation/clip_198/end_frame=0
+animation/clip_198/loops=false
+animation/clip_199/name=""
+animation/clip_199/start_frame=0
+animation/clip_199/end_frame=0
+animation/clip_199/loops=false
+animation/clip_200/name=""
+animation/clip_200/start_frame=0
+animation/clip_200/end_frame=0
+animation/clip_200/loops=false
+animation/clip_201/name=""
+animation/clip_201/start_frame=0
+animation/clip_201/end_frame=0
+animation/clip_201/loops=false
+animation/clip_202/name=""
+animation/clip_202/start_frame=0
+animation/clip_202/end_frame=0
+animation/clip_202/loops=false
+animation/clip_203/name=""
+animation/clip_203/start_frame=0
+animation/clip_203/end_frame=0
+animation/clip_203/loops=false
+animation/clip_204/name=""
+animation/clip_204/start_frame=0
+animation/clip_204/end_frame=0
+animation/clip_204/loops=false
+animation/clip_205/name=""
+animation/clip_205/start_frame=0
+animation/clip_205/end_frame=0
+animation/clip_205/loops=false
+animation/clip_206/name=""
+animation/clip_206/start_frame=0
+animation/clip_206/end_frame=0
+animation/clip_206/loops=false
+animation/clip_207/name=""
+animation/clip_207/start_frame=0
+animation/clip_207/end_frame=0
+animation/clip_207/loops=false
+animation/clip_208/name=""
+animation/clip_208/start_frame=0
+animation/clip_208/end_frame=0
+animation/clip_208/loops=false
+animation/clip_209/name=""
+animation/clip_209/start_frame=0
+animation/clip_209/end_frame=0
+animation/clip_209/loops=false
+animation/clip_210/name=""
+animation/clip_210/start_frame=0
+animation/clip_210/end_frame=0
+animation/clip_210/loops=false
+animation/clip_211/name=""
+animation/clip_211/start_frame=0
+animation/clip_211/end_frame=0
+animation/clip_211/loops=false
+animation/clip_212/name=""
+animation/clip_212/start_frame=0
+animation/clip_212/end_frame=0
+animation/clip_212/loops=false
+animation/clip_213/name=""
+animation/clip_213/start_frame=0
+animation/clip_213/end_frame=0
+animation/clip_213/loops=false
+animation/clip_214/name=""
+animation/clip_214/start_frame=0
+animation/clip_214/end_frame=0
+animation/clip_214/loops=false
+animation/clip_215/name=""
+animation/clip_215/start_frame=0
+animation/clip_215/end_frame=0
+animation/clip_215/loops=false
+animation/clip_216/name=""
+animation/clip_216/start_frame=0
+animation/clip_216/end_frame=0
+animation/clip_216/loops=false
+animation/clip_217/name=""
+animation/clip_217/start_frame=0
+animation/clip_217/end_frame=0
+animation/clip_217/loops=false
+animation/clip_218/name=""
+animation/clip_218/start_frame=0
+animation/clip_218/end_frame=0
+animation/clip_218/loops=false
+animation/clip_219/name=""
+animation/clip_219/start_frame=0
+animation/clip_219/end_frame=0
+animation/clip_219/loops=false
+animation/clip_220/name=""
+animation/clip_220/start_frame=0
+animation/clip_220/end_frame=0
+animation/clip_220/loops=false
+animation/clip_221/name=""
+animation/clip_221/start_frame=0
+animation/clip_221/end_frame=0
+animation/clip_221/loops=false
+animation/clip_222/name=""
+animation/clip_222/start_frame=0
+animation/clip_222/end_frame=0
+animation/clip_222/loops=false
+animation/clip_223/name=""
+animation/clip_223/start_frame=0
+animation/clip_223/end_frame=0
+animation/clip_223/loops=false
+animation/clip_224/name=""
+animation/clip_224/start_frame=0
+animation/clip_224/end_frame=0
+animation/clip_224/loops=false
+animation/clip_225/name=""
+animation/clip_225/start_frame=0
+animation/clip_225/end_frame=0
+animation/clip_225/loops=false
+animation/clip_226/name=""
+animation/clip_226/start_frame=0
+animation/clip_226/end_frame=0
+animation/clip_226/loops=false
+animation/clip_227/name=""
+animation/clip_227/start_frame=0
+animation/clip_227/end_frame=0
+animation/clip_227/loops=false
+animation/clip_228/name=""
+animation/clip_228/start_frame=0
+animation/clip_228/end_frame=0
+animation/clip_228/loops=false
+animation/clip_229/name=""
+animation/clip_229/start_frame=0
+animation/clip_229/end_frame=0
+animation/clip_229/loops=false
+animation/clip_230/name=""
+animation/clip_230/start_frame=0
+animation/clip_230/end_frame=0
+animation/clip_230/loops=false
+animation/clip_231/name=""
+animation/clip_231/start_frame=0
+animation/clip_231/end_frame=0
+animation/clip_231/loops=false
+animation/clip_232/name=""
+animation/clip_232/start_frame=0
+animation/clip_232/end_frame=0
+animation/clip_232/loops=false
+animation/clip_233/name=""
+animation/clip_233/start_frame=0
+animation/clip_233/end_frame=0
+animation/clip_233/loops=false
+animation/clip_234/name=""
+animation/clip_234/start_frame=0
+animation/clip_234/end_frame=0
+animation/clip_234/loops=false
+animation/clip_235/name=""
+animation/clip_235/start_frame=0
+animation/clip_235/end_frame=0
+animation/clip_235/loops=false
+animation/clip_236/name=""
+animation/clip_236/start_frame=0
+animation/clip_236/end_frame=0
+animation/clip_236/loops=false
+animation/clip_237/name=""
+animation/clip_237/start_frame=0
+animation/clip_237/end_frame=0
+animation/clip_237/loops=false
+animation/clip_238/name=""
+animation/clip_238/start_frame=0
+animation/clip_238/end_frame=0
+animation/clip_238/loops=false
+animation/clip_239/name=""
+animation/clip_239/start_frame=0
+animation/clip_239/end_frame=0
+animation/clip_239/loops=false
+animation/clip_240/name=""
+animation/clip_240/start_frame=0
+animation/clip_240/end_frame=0
+animation/clip_240/loops=false
+animation/clip_241/name=""
+animation/clip_241/start_frame=0
+animation/clip_241/end_frame=0
+animation/clip_241/loops=false
+animation/clip_242/name=""
+animation/clip_242/start_frame=0
+animation/clip_242/end_frame=0
+animation/clip_242/loops=false
+animation/clip_243/name=""
+animation/clip_243/start_frame=0
+animation/clip_243/end_frame=0
+animation/clip_243/loops=false
+animation/clip_244/name=""
+animation/clip_244/start_frame=0
+animation/clip_244/end_frame=0
+animation/clip_244/loops=false
+animation/clip_245/name=""
+animation/clip_245/start_frame=0
+animation/clip_245/end_frame=0
+animation/clip_245/loops=false
+animation/clip_246/name=""
+animation/clip_246/start_frame=0
+animation/clip_246/end_frame=0
+animation/clip_246/loops=false
+animation/clip_247/name=""
+animation/clip_247/start_frame=0
+animation/clip_247/end_frame=0
+animation/clip_247/loops=false
+animation/clip_248/name=""
+animation/clip_248/start_frame=0
+animation/clip_248/end_frame=0
+animation/clip_248/loops=false
+animation/clip_249/name=""
+animation/clip_249/start_frame=0
+animation/clip_249/end_frame=0
+animation/clip_249/loops=false
+animation/clip_250/name=""
+animation/clip_250/start_frame=0
+animation/clip_250/end_frame=0
+animation/clip_250/loops=false
+animation/clip_251/name=""
+animation/clip_251/start_frame=0
+animation/clip_251/end_frame=0
+animation/clip_251/loops=false
+animation/clip_252/name=""
+animation/clip_252/start_frame=0
+animation/clip_252/end_frame=0
+animation/clip_252/loops=false
+animation/clip_253/name=""
+animation/clip_253/start_frame=0
+animation/clip_253/end_frame=0
+animation/clip_253/loops=false
+animation/clip_254/name=""
+animation/clip_254/start_frame=0
+animation/clip_254/end_frame=0
+animation/clip_254/loops=false
+animation/clip_255/name=""
+animation/clip_255/start_frame=0
+animation/clip_255/end_frame=0
+animation/clip_255/loops=false
+animation/clip_256/name=""
+animation/clip_256/start_frame=0
+animation/clip_256/end_frame=0
+animation/clip_256/loops=false

BIN
3d/rigidbody_character/models/cube.mesh


+ 9 - 0
3d/rigidbody_character/models/cube_material.tres

@@ -0,0 +1,9 @@
+[gd_resource type="SpatialMaterial" load_steps=2 format=2]
+
+[ext_resource path="res://models/white_wood.png" type="Texture" id=1]
+
+[resource]
+resource_name = "Material"
+albedo_color = Color( 0.5, 0.25, 1, 1 )
+albedo_texture = ExtResource( 1 )
+roughness = 0.75

BIN
3d/rigidbody_character/models/mushroom.glb


+ 1065 - 0
3d/rigidbody_character/models/mushroom.glb.import

@@ -0,0 +1,1065 @@
+[remap]
+
+importer="scene"
+type="PackedScene"
+path="res://.import/mushroom.glb-32cf35844b7be6455c0c736b26eb7163.scn"
+
+[deps]
+
+source_file="res://models/mushroom.glb"
+dest_files=[ "res://.import/mushroom.glb-32cf35844b7be6455c0c736b26eb7163.scn" ]
+
+[params]
+
+nodes/root_type="Spatial"
+nodes/root_name="Mushroom"
+nodes/root_scale=1.0
+nodes/custom_script=""
+nodes/storage=0
+nodes/use_legacy_names=true
+materials/location=1
+materials/storage=0
+materials/keep_on_reimport=true
+meshes/octahedral_compression=true
+meshes/compress=true
+meshes/ensure_tangents=true
+meshes/storage=0
+meshes/light_baking=0
+meshes/lightmap_texel_size=0.1
+skins/use_named_skins=true
+external_files/store_in_subdir=false
+animation/import=true
+animation/fps=15
+animation/filter_script=""
+animation/storage=false
+animation/keep_custom_tracks=false
+animation/optimizer/enabled=true
+animation/optimizer/max_linear_error=0.05
+animation/optimizer/max_angular_error=0.01
+animation/optimizer/max_angle=22
+animation/optimizer/remove_unused_tracks=true
+animation/clips/amount=0
+animation/clip_1/name=""
+animation/clip_1/start_frame=0
+animation/clip_1/end_frame=0
+animation/clip_1/loops=false
+animation/clip_2/name=""
+animation/clip_2/start_frame=0
+animation/clip_2/end_frame=0
+animation/clip_2/loops=false
+animation/clip_3/name=""
+animation/clip_3/start_frame=0
+animation/clip_3/end_frame=0
+animation/clip_3/loops=false
+animation/clip_4/name=""
+animation/clip_4/start_frame=0
+animation/clip_4/end_frame=0
+animation/clip_4/loops=false
+animation/clip_5/name=""
+animation/clip_5/start_frame=0
+animation/clip_5/end_frame=0
+animation/clip_5/loops=false
+animation/clip_6/name=""
+animation/clip_6/start_frame=0
+animation/clip_6/end_frame=0
+animation/clip_6/loops=false
+animation/clip_7/name=""
+animation/clip_7/start_frame=0
+animation/clip_7/end_frame=0
+animation/clip_7/loops=false
+animation/clip_8/name=""
+animation/clip_8/start_frame=0
+animation/clip_8/end_frame=0
+animation/clip_8/loops=false
+animation/clip_9/name=""
+animation/clip_9/start_frame=0
+animation/clip_9/end_frame=0
+animation/clip_9/loops=false
+animation/clip_10/name=""
+animation/clip_10/start_frame=0
+animation/clip_10/end_frame=0
+animation/clip_10/loops=false
+animation/clip_11/name=""
+animation/clip_11/start_frame=0
+animation/clip_11/end_frame=0
+animation/clip_11/loops=false
+animation/clip_12/name=""
+animation/clip_12/start_frame=0
+animation/clip_12/end_frame=0
+animation/clip_12/loops=false
+animation/clip_13/name=""
+animation/clip_13/start_frame=0
+animation/clip_13/end_frame=0
+animation/clip_13/loops=false
+animation/clip_14/name=""
+animation/clip_14/start_frame=0
+animation/clip_14/end_frame=0
+animation/clip_14/loops=false
+animation/clip_15/name=""
+animation/clip_15/start_frame=0
+animation/clip_15/end_frame=0
+animation/clip_15/loops=false
+animation/clip_16/name=""
+animation/clip_16/start_frame=0
+animation/clip_16/end_frame=0
+animation/clip_16/loops=false
+animation/clip_17/name=""
+animation/clip_17/start_frame=0
+animation/clip_17/end_frame=0
+animation/clip_17/loops=false
+animation/clip_18/name=""
+animation/clip_18/start_frame=0
+animation/clip_18/end_frame=0
+animation/clip_18/loops=false
+animation/clip_19/name=""
+animation/clip_19/start_frame=0
+animation/clip_19/end_frame=0
+animation/clip_19/loops=false
+animation/clip_20/name=""
+animation/clip_20/start_frame=0
+animation/clip_20/end_frame=0
+animation/clip_20/loops=false
+animation/clip_21/name=""
+animation/clip_21/start_frame=0
+animation/clip_21/end_frame=0
+animation/clip_21/loops=false
+animation/clip_22/name=""
+animation/clip_22/start_frame=0
+animation/clip_22/end_frame=0
+animation/clip_22/loops=false
+animation/clip_23/name=""
+animation/clip_23/start_frame=0
+animation/clip_23/end_frame=0
+animation/clip_23/loops=false
+animation/clip_24/name=""
+animation/clip_24/start_frame=0
+animation/clip_24/end_frame=0
+animation/clip_24/loops=false
+animation/clip_25/name=""
+animation/clip_25/start_frame=0
+animation/clip_25/end_frame=0
+animation/clip_25/loops=false
+animation/clip_26/name=""
+animation/clip_26/start_frame=0
+animation/clip_26/end_frame=0
+animation/clip_26/loops=false
+animation/clip_27/name=""
+animation/clip_27/start_frame=0
+animation/clip_27/end_frame=0
+animation/clip_27/loops=false
+animation/clip_28/name=""
+animation/clip_28/start_frame=0
+animation/clip_28/end_frame=0
+animation/clip_28/loops=false
+animation/clip_29/name=""
+animation/clip_29/start_frame=0
+animation/clip_29/end_frame=0
+animation/clip_29/loops=false
+animation/clip_30/name=""
+animation/clip_30/start_frame=0
+animation/clip_30/end_frame=0
+animation/clip_30/loops=false
+animation/clip_31/name=""
+animation/clip_31/start_frame=0
+animation/clip_31/end_frame=0
+animation/clip_31/loops=false
+animation/clip_32/name=""
+animation/clip_32/start_frame=0
+animation/clip_32/end_frame=0
+animation/clip_32/loops=false
+animation/clip_33/name=""
+animation/clip_33/start_frame=0
+animation/clip_33/end_frame=0
+animation/clip_33/loops=false
+animation/clip_34/name=""
+animation/clip_34/start_frame=0
+animation/clip_34/end_frame=0
+animation/clip_34/loops=false
+animation/clip_35/name=""
+animation/clip_35/start_frame=0
+animation/clip_35/end_frame=0
+animation/clip_35/loops=false
+animation/clip_36/name=""
+animation/clip_36/start_frame=0
+animation/clip_36/end_frame=0
+animation/clip_36/loops=false
+animation/clip_37/name=""
+animation/clip_37/start_frame=0
+animation/clip_37/end_frame=0
+animation/clip_37/loops=false
+animation/clip_38/name=""
+animation/clip_38/start_frame=0
+animation/clip_38/end_frame=0
+animation/clip_38/loops=false
+animation/clip_39/name=""
+animation/clip_39/start_frame=0
+animation/clip_39/end_frame=0
+animation/clip_39/loops=false
+animation/clip_40/name=""
+animation/clip_40/start_frame=0
+animation/clip_40/end_frame=0
+animation/clip_40/loops=false
+animation/clip_41/name=""
+animation/clip_41/start_frame=0
+animation/clip_41/end_frame=0
+animation/clip_41/loops=false
+animation/clip_42/name=""
+animation/clip_42/start_frame=0
+animation/clip_42/end_frame=0
+animation/clip_42/loops=false
+animation/clip_43/name=""
+animation/clip_43/start_frame=0
+animation/clip_43/end_frame=0
+animation/clip_43/loops=false
+animation/clip_44/name=""
+animation/clip_44/start_frame=0
+animation/clip_44/end_frame=0
+animation/clip_44/loops=false
+animation/clip_45/name=""
+animation/clip_45/start_frame=0
+animation/clip_45/end_frame=0
+animation/clip_45/loops=false
+animation/clip_46/name=""
+animation/clip_46/start_frame=0
+animation/clip_46/end_frame=0
+animation/clip_46/loops=false
+animation/clip_47/name=""
+animation/clip_47/start_frame=0
+animation/clip_47/end_frame=0
+animation/clip_47/loops=false
+animation/clip_48/name=""
+animation/clip_48/start_frame=0
+animation/clip_48/end_frame=0
+animation/clip_48/loops=false
+animation/clip_49/name=""
+animation/clip_49/start_frame=0
+animation/clip_49/end_frame=0
+animation/clip_49/loops=false
+animation/clip_50/name=""
+animation/clip_50/start_frame=0
+animation/clip_50/end_frame=0
+animation/clip_50/loops=false
+animation/clip_51/name=""
+animation/clip_51/start_frame=0
+animation/clip_51/end_frame=0
+animation/clip_51/loops=false
+animation/clip_52/name=""
+animation/clip_52/start_frame=0
+animation/clip_52/end_frame=0
+animation/clip_52/loops=false
+animation/clip_53/name=""
+animation/clip_53/start_frame=0
+animation/clip_53/end_frame=0
+animation/clip_53/loops=false
+animation/clip_54/name=""
+animation/clip_54/start_frame=0
+animation/clip_54/end_frame=0
+animation/clip_54/loops=false
+animation/clip_55/name=""
+animation/clip_55/start_frame=0
+animation/clip_55/end_frame=0
+animation/clip_55/loops=false
+animation/clip_56/name=""
+animation/clip_56/start_frame=0
+animation/clip_56/end_frame=0
+animation/clip_56/loops=false
+animation/clip_57/name=""
+animation/clip_57/start_frame=0
+animation/clip_57/end_frame=0
+animation/clip_57/loops=false
+animation/clip_58/name=""
+animation/clip_58/start_frame=0
+animation/clip_58/end_frame=0
+animation/clip_58/loops=false
+animation/clip_59/name=""
+animation/clip_59/start_frame=0
+animation/clip_59/end_frame=0
+animation/clip_59/loops=false
+animation/clip_60/name=""
+animation/clip_60/start_frame=0
+animation/clip_60/end_frame=0
+animation/clip_60/loops=false
+animation/clip_61/name=""
+animation/clip_61/start_frame=0
+animation/clip_61/end_frame=0
+animation/clip_61/loops=false
+animation/clip_62/name=""
+animation/clip_62/start_frame=0
+animation/clip_62/end_frame=0
+animation/clip_62/loops=false
+animation/clip_63/name=""
+animation/clip_63/start_frame=0
+animation/clip_63/end_frame=0
+animation/clip_63/loops=false
+animation/clip_64/name=""
+animation/clip_64/start_frame=0
+animation/clip_64/end_frame=0
+animation/clip_64/loops=false
+animation/clip_65/name=""
+animation/clip_65/start_frame=0
+animation/clip_65/end_frame=0
+animation/clip_65/loops=false
+animation/clip_66/name=""
+animation/clip_66/start_frame=0
+animation/clip_66/end_frame=0
+animation/clip_66/loops=false
+animation/clip_67/name=""
+animation/clip_67/start_frame=0
+animation/clip_67/end_frame=0
+animation/clip_67/loops=false
+animation/clip_68/name=""
+animation/clip_68/start_frame=0
+animation/clip_68/end_frame=0
+animation/clip_68/loops=false
+animation/clip_69/name=""
+animation/clip_69/start_frame=0
+animation/clip_69/end_frame=0
+animation/clip_69/loops=false
+animation/clip_70/name=""
+animation/clip_70/start_frame=0
+animation/clip_70/end_frame=0
+animation/clip_70/loops=false
+animation/clip_71/name=""
+animation/clip_71/start_frame=0
+animation/clip_71/end_frame=0
+animation/clip_71/loops=false
+animation/clip_72/name=""
+animation/clip_72/start_frame=0
+animation/clip_72/end_frame=0
+animation/clip_72/loops=false
+animation/clip_73/name=""
+animation/clip_73/start_frame=0
+animation/clip_73/end_frame=0
+animation/clip_73/loops=false
+animation/clip_74/name=""
+animation/clip_74/start_frame=0
+animation/clip_74/end_frame=0
+animation/clip_74/loops=false
+animation/clip_75/name=""
+animation/clip_75/start_frame=0
+animation/clip_75/end_frame=0
+animation/clip_75/loops=false
+animation/clip_76/name=""
+animation/clip_76/start_frame=0
+animation/clip_76/end_frame=0
+animation/clip_76/loops=false
+animation/clip_77/name=""
+animation/clip_77/start_frame=0
+animation/clip_77/end_frame=0
+animation/clip_77/loops=false
+animation/clip_78/name=""
+animation/clip_78/start_frame=0
+animation/clip_78/end_frame=0
+animation/clip_78/loops=false
+animation/clip_79/name=""
+animation/clip_79/start_frame=0
+animation/clip_79/end_frame=0
+animation/clip_79/loops=false
+animation/clip_80/name=""
+animation/clip_80/start_frame=0
+animation/clip_80/end_frame=0
+animation/clip_80/loops=false
+animation/clip_81/name=""
+animation/clip_81/start_frame=0
+animation/clip_81/end_frame=0
+animation/clip_81/loops=false
+animation/clip_82/name=""
+animation/clip_82/start_frame=0
+animation/clip_82/end_frame=0
+animation/clip_82/loops=false
+animation/clip_83/name=""
+animation/clip_83/start_frame=0
+animation/clip_83/end_frame=0
+animation/clip_83/loops=false
+animation/clip_84/name=""
+animation/clip_84/start_frame=0
+animation/clip_84/end_frame=0
+animation/clip_84/loops=false
+animation/clip_85/name=""
+animation/clip_85/start_frame=0
+animation/clip_85/end_frame=0
+animation/clip_85/loops=false
+animation/clip_86/name=""
+animation/clip_86/start_frame=0
+animation/clip_86/end_frame=0
+animation/clip_86/loops=false
+animation/clip_87/name=""
+animation/clip_87/start_frame=0
+animation/clip_87/end_frame=0
+animation/clip_87/loops=false
+animation/clip_88/name=""
+animation/clip_88/start_frame=0
+animation/clip_88/end_frame=0
+animation/clip_88/loops=false
+animation/clip_89/name=""
+animation/clip_89/start_frame=0
+animation/clip_89/end_frame=0
+animation/clip_89/loops=false
+animation/clip_90/name=""
+animation/clip_90/start_frame=0
+animation/clip_90/end_frame=0
+animation/clip_90/loops=false
+animation/clip_91/name=""
+animation/clip_91/start_frame=0
+animation/clip_91/end_frame=0
+animation/clip_91/loops=false
+animation/clip_92/name=""
+animation/clip_92/start_frame=0
+animation/clip_92/end_frame=0
+animation/clip_92/loops=false
+animation/clip_93/name=""
+animation/clip_93/start_frame=0
+animation/clip_93/end_frame=0
+animation/clip_93/loops=false
+animation/clip_94/name=""
+animation/clip_94/start_frame=0
+animation/clip_94/end_frame=0
+animation/clip_94/loops=false
+animation/clip_95/name=""
+animation/clip_95/start_frame=0
+animation/clip_95/end_frame=0
+animation/clip_95/loops=false
+animation/clip_96/name=""
+animation/clip_96/start_frame=0
+animation/clip_96/end_frame=0
+animation/clip_96/loops=false
+animation/clip_97/name=""
+animation/clip_97/start_frame=0
+animation/clip_97/end_frame=0
+animation/clip_97/loops=false
+animation/clip_98/name=""
+animation/clip_98/start_frame=0
+animation/clip_98/end_frame=0
+animation/clip_98/loops=false
+animation/clip_99/name=""
+animation/clip_99/start_frame=0
+animation/clip_99/end_frame=0
+animation/clip_99/loops=false
+animation/clip_100/name=""
+animation/clip_100/start_frame=0
+animation/clip_100/end_frame=0
+animation/clip_100/loops=false
+animation/clip_101/name=""
+animation/clip_101/start_frame=0
+animation/clip_101/end_frame=0
+animation/clip_101/loops=false
+animation/clip_102/name=""
+animation/clip_102/start_frame=0
+animation/clip_102/end_frame=0
+animation/clip_102/loops=false
+animation/clip_103/name=""
+animation/clip_103/start_frame=0
+animation/clip_103/end_frame=0
+animation/clip_103/loops=false
+animation/clip_104/name=""
+animation/clip_104/start_frame=0
+animation/clip_104/end_frame=0
+animation/clip_104/loops=false
+animation/clip_105/name=""
+animation/clip_105/start_frame=0
+animation/clip_105/end_frame=0
+animation/clip_105/loops=false
+animation/clip_106/name=""
+animation/clip_106/start_frame=0
+animation/clip_106/end_frame=0
+animation/clip_106/loops=false
+animation/clip_107/name=""
+animation/clip_107/start_frame=0
+animation/clip_107/end_frame=0
+animation/clip_107/loops=false
+animation/clip_108/name=""
+animation/clip_108/start_frame=0
+animation/clip_108/end_frame=0
+animation/clip_108/loops=false
+animation/clip_109/name=""
+animation/clip_109/start_frame=0
+animation/clip_109/end_frame=0
+animation/clip_109/loops=false
+animation/clip_110/name=""
+animation/clip_110/start_frame=0
+animation/clip_110/end_frame=0
+animation/clip_110/loops=false
+animation/clip_111/name=""
+animation/clip_111/start_frame=0
+animation/clip_111/end_frame=0
+animation/clip_111/loops=false
+animation/clip_112/name=""
+animation/clip_112/start_frame=0
+animation/clip_112/end_frame=0
+animation/clip_112/loops=false
+animation/clip_113/name=""
+animation/clip_113/start_frame=0
+animation/clip_113/end_frame=0
+animation/clip_113/loops=false
+animation/clip_114/name=""
+animation/clip_114/start_frame=0
+animation/clip_114/end_frame=0
+animation/clip_114/loops=false
+animation/clip_115/name=""
+animation/clip_115/start_frame=0
+animation/clip_115/end_frame=0
+animation/clip_115/loops=false
+animation/clip_116/name=""
+animation/clip_116/start_frame=0
+animation/clip_116/end_frame=0
+animation/clip_116/loops=false
+animation/clip_117/name=""
+animation/clip_117/start_frame=0
+animation/clip_117/end_frame=0
+animation/clip_117/loops=false
+animation/clip_118/name=""
+animation/clip_118/start_frame=0
+animation/clip_118/end_frame=0
+animation/clip_118/loops=false
+animation/clip_119/name=""
+animation/clip_119/start_frame=0
+animation/clip_119/end_frame=0
+animation/clip_119/loops=false
+animation/clip_120/name=""
+animation/clip_120/start_frame=0
+animation/clip_120/end_frame=0
+animation/clip_120/loops=false
+animation/clip_121/name=""
+animation/clip_121/start_frame=0
+animation/clip_121/end_frame=0
+animation/clip_121/loops=false
+animation/clip_122/name=""
+animation/clip_122/start_frame=0
+animation/clip_122/end_frame=0
+animation/clip_122/loops=false
+animation/clip_123/name=""
+animation/clip_123/start_frame=0
+animation/clip_123/end_frame=0
+animation/clip_123/loops=false
+animation/clip_124/name=""
+animation/clip_124/start_frame=0
+animation/clip_124/end_frame=0
+animation/clip_124/loops=false
+animation/clip_125/name=""
+animation/clip_125/start_frame=0
+animation/clip_125/end_frame=0
+animation/clip_125/loops=false
+animation/clip_126/name=""
+animation/clip_126/start_frame=0
+animation/clip_126/end_frame=0
+animation/clip_126/loops=false
+animation/clip_127/name=""
+animation/clip_127/start_frame=0
+animation/clip_127/end_frame=0
+animation/clip_127/loops=false
+animation/clip_128/name=""
+animation/clip_128/start_frame=0
+animation/clip_128/end_frame=0
+animation/clip_128/loops=false
+animation/clip_129/name=""
+animation/clip_129/start_frame=0
+animation/clip_129/end_frame=0
+animation/clip_129/loops=false
+animation/clip_130/name=""
+animation/clip_130/start_frame=0
+animation/clip_130/end_frame=0
+animation/clip_130/loops=false
+animation/clip_131/name=""
+animation/clip_131/start_frame=0
+animation/clip_131/end_frame=0
+animation/clip_131/loops=false
+animation/clip_132/name=""
+animation/clip_132/start_frame=0
+animation/clip_132/end_frame=0
+animation/clip_132/loops=false
+animation/clip_133/name=""
+animation/clip_133/start_frame=0
+animation/clip_133/end_frame=0
+animation/clip_133/loops=false
+animation/clip_134/name=""
+animation/clip_134/start_frame=0
+animation/clip_134/end_frame=0
+animation/clip_134/loops=false
+animation/clip_135/name=""
+animation/clip_135/start_frame=0
+animation/clip_135/end_frame=0
+animation/clip_135/loops=false
+animation/clip_136/name=""
+animation/clip_136/start_frame=0
+animation/clip_136/end_frame=0
+animation/clip_136/loops=false
+animation/clip_137/name=""
+animation/clip_137/start_frame=0
+animation/clip_137/end_frame=0
+animation/clip_137/loops=false
+animation/clip_138/name=""
+animation/clip_138/start_frame=0
+animation/clip_138/end_frame=0
+animation/clip_138/loops=false
+animation/clip_139/name=""
+animation/clip_139/start_frame=0
+animation/clip_139/end_frame=0
+animation/clip_139/loops=false
+animation/clip_140/name=""
+animation/clip_140/start_frame=0
+animation/clip_140/end_frame=0
+animation/clip_140/loops=false
+animation/clip_141/name=""
+animation/clip_141/start_frame=0
+animation/clip_141/end_frame=0
+animation/clip_141/loops=false
+animation/clip_142/name=""
+animation/clip_142/start_frame=0
+animation/clip_142/end_frame=0
+animation/clip_142/loops=false
+animation/clip_143/name=""
+animation/clip_143/start_frame=0
+animation/clip_143/end_frame=0
+animation/clip_143/loops=false
+animation/clip_144/name=""
+animation/clip_144/start_frame=0
+animation/clip_144/end_frame=0
+animation/clip_144/loops=false
+animation/clip_145/name=""
+animation/clip_145/start_frame=0
+animation/clip_145/end_frame=0
+animation/clip_145/loops=false
+animation/clip_146/name=""
+animation/clip_146/start_frame=0
+animation/clip_146/end_frame=0
+animation/clip_146/loops=false
+animation/clip_147/name=""
+animation/clip_147/start_frame=0
+animation/clip_147/end_frame=0
+animation/clip_147/loops=false
+animation/clip_148/name=""
+animation/clip_148/start_frame=0
+animation/clip_148/end_frame=0
+animation/clip_148/loops=false
+animation/clip_149/name=""
+animation/clip_149/start_frame=0
+animation/clip_149/end_frame=0
+animation/clip_149/loops=false
+animation/clip_150/name=""
+animation/clip_150/start_frame=0
+animation/clip_150/end_frame=0
+animation/clip_150/loops=false
+animation/clip_151/name=""
+animation/clip_151/start_frame=0
+animation/clip_151/end_frame=0
+animation/clip_151/loops=false
+animation/clip_152/name=""
+animation/clip_152/start_frame=0
+animation/clip_152/end_frame=0
+animation/clip_152/loops=false
+animation/clip_153/name=""
+animation/clip_153/start_frame=0
+animation/clip_153/end_frame=0
+animation/clip_153/loops=false
+animation/clip_154/name=""
+animation/clip_154/start_frame=0
+animation/clip_154/end_frame=0
+animation/clip_154/loops=false
+animation/clip_155/name=""
+animation/clip_155/start_frame=0
+animation/clip_155/end_frame=0
+animation/clip_155/loops=false
+animation/clip_156/name=""
+animation/clip_156/start_frame=0
+animation/clip_156/end_frame=0
+animation/clip_156/loops=false
+animation/clip_157/name=""
+animation/clip_157/start_frame=0
+animation/clip_157/end_frame=0
+animation/clip_157/loops=false
+animation/clip_158/name=""
+animation/clip_158/start_frame=0
+animation/clip_158/end_frame=0
+animation/clip_158/loops=false
+animation/clip_159/name=""
+animation/clip_159/start_frame=0
+animation/clip_159/end_frame=0
+animation/clip_159/loops=false
+animation/clip_160/name=""
+animation/clip_160/start_frame=0
+animation/clip_160/end_frame=0
+animation/clip_160/loops=false
+animation/clip_161/name=""
+animation/clip_161/start_frame=0
+animation/clip_161/end_frame=0
+animation/clip_161/loops=false
+animation/clip_162/name=""
+animation/clip_162/start_frame=0
+animation/clip_162/end_frame=0
+animation/clip_162/loops=false
+animation/clip_163/name=""
+animation/clip_163/start_frame=0
+animation/clip_163/end_frame=0
+animation/clip_163/loops=false
+animation/clip_164/name=""
+animation/clip_164/start_frame=0
+animation/clip_164/end_frame=0
+animation/clip_164/loops=false
+animation/clip_165/name=""
+animation/clip_165/start_frame=0
+animation/clip_165/end_frame=0
+animation/clip_165/loops=false
+animation/clip_166/name=""
+animation/clip_166/start_frame=0
+animation/clip_166/end_frame=0
+animation/clip_166/loops=false
+animation/clip_167/name=""
+animation/clip_167/start_frame=0
+animation/clip_167/end_frame=0
+animation/clip_167/loops=false
+animation/clip_168/name=""
+animation/clip_168/start_frame=0
+animation/clip_168/end_frame=0
+animation/clip_168/loops=false
+animation/clip_169/name=""
+animation/clip_169/start_frame=0
+animation/clip_169/end_frame=0
+animation/clip_169/loops=false
+animation/clip_170/name=""
+animation/clip_170/start_frame=0
+animation/clip_170/end_frame=0
+animation/clip_170/loops=false
+animation/clip_171/name=""
+animation/clip_171/start_frame=0
+animation/clip_171/end_frame=0
+animation/clip_171/loops=false
+animation/clip_172/name=""
+animation/clip_172/start_frame=0
+animation/clip_172/end_frame=0
+animation/clip_172/loops=false
+animation/clip_173/name=""
+animation/clip_173/start_frame=0
+animation/clip_173/end_frame=0
+animation/clip_173/loops=false
+animation/clip_174/name=""
+animation/clip_174/start_frame=0
+animation/clip_174/end_frame=0
+animation/clip_174/loops=false
+animation/clip_175/name=""
+animation/clip_175/start_frame=0
+animation/clip_175/end_frame=0
+animation/clip_175/loops=false
+animation/clip_176/name=""
+animation/clip_176/start_frame=0
+animation/clip_176/end_frame=0
+animation/clip_176/loops=false
+animation/clip_177/name=""
+animation/clip_177/start_frame=0
+animation/clip_177/end_frame=0
+animation/clip_177/loops=false
+animation/clip_178/name=""
+animation/clip_178/start_frame=0
+animation/clip_178/end_frame=0
+animation/clip_178/loops=false
+animation/clip_179/name=""
+animation/clip_179/start_frame=0
+animation/clip_179/end_frame=0
+animation/clip_179/loops=false
+animation/clip_180/name=""
+animation/clip_180/start_frame=0
+animation/clip_180/end_frame=0
+animation/clip_180/loops=false
+animation/clip_181/name=""
+animation/clip_181/start_frame=0
+animation/clip_181/end_frame=0
+animation/clip_181/loops=false
+animation/clip_182/name=""
+animation/clip_182/start_frame=0
+animation/clip_182/end_frame=0
+animation/clip_182/loops=false
+animation/clip_183/name=""
+animation/clip_183/start_frame=0
+animation/clip_183/end_frame=0
+animation/clip_183/loops=false
+animation/clip_184/name=""
+animation/clip_184/start_frame=0
+animation/clip_184/end_frame=0
+animation/clip_184/loops=false
+animation/clip_185/name=""
+animation/clip_185/start_frame=0
+animation/clip_185/end_frame=0
+animation/clip_185/loops=false
+animation/clip_186/name=""
+animation/clip_186/start_frame=0
+animation/clip_186/end_frame=0
+animation/clip_186/loops=false
+animation/clip_187/name=""
+animation/clip_187/start_frame=0
+animation/clip_187/end_frame=0
+animation/clip_187/loops=false
+animation/clip_188/name=""
+animation/clip_188/start_frame=0
+animation/clip_188/end_frame=0
+animation/clip_188/loops=false
+animation/clip_189/name=""
+animation/clip_189/start_frame=0
+animation/clip_189/end_frame=0
+animation/clip_189/loops=false
+animation/clip_190/name=""
+animation/clip_190/start_frame=0
+animation/clip_190/end_frame=0
+animation/clip_190/loops=false
+animation/clip_191/name=""
+animation/clip_191/start_frame=0
+animation/clip_191/end_frame=0
+animation/clip_191/loops=false
+animation/clip_192/name=""
+animation/clip_192/start_frame=0
+animation/clip_192/end_frame=0
+animation/clip_192/loops=false
+animation/clip_193/name=""
+animation/clip_193/start_frame=0
+animation/clip_193/end_frame=0
+animation/clip_193/loops=false
+animation/clip_194/name=""
+animation/clip_194/start_frame=0
+animation/clip_194/end_frame=0
+animation/clip_194/loops=false
+animation/clip_195/name=""
+animation/clip_195/start_frame=0
+animation/clip_195/end_frame=0
+animation/clip_195/loops=false
+animation/clip_196/name=""
+animation/clip_196/start_frame=0
+animation/clip_196/end_frame=0
+animation/clip_196/loops=false
+animation/clip_197/name=""
+animation/clip_197/start_frame=0
+animation/clip_197/end_frame=0
+animation/clip_197/loops=false
+animation/clip_198/name=""
+animation/clip_198/start_frame=0
+animation/clip_198/end_frame=0
+animation/clip_198/loops=false
+animation/clip_199/name=""
+animation/clip_199/start_frame=0
+animation/clip_199/end_frame=0
+animation/clip_199/loops=false
+animation/clip_200/name=""
+animation/clip_200/start_frame=0
+animation/clip_200/end_frame=0
+animation/clip_200/loops=false
+animation/clip_201/name=""
+animation/clip_201/start_frame=0
+animation/clip_201/end_frame=0
+animation/clip_201/loops=false
+animation/clip_202/name=""
+animation/clip_202/start_frame=0
+animation/clip_202/end_frame=0
+animation/clip_202/loops=false
+animation/clip_203/name=""
+animation/clip_203/start_frame=0
+animation/clip_203/end_frame=0
+animation/clip_203/loops=false
+animation/clip_204/name=""
+animation/clip_204/start_frame=0
+animation/clip_204/end_frame=0
+animation/clip_204/loops=false
+animation/clip_205/name=""
+animation/clip_205/start_frame=0
+animation/clip_205/end_frame=0
+animation/clip_205/loops=false
+animation/clip_206/name=""
+animation/clip_206/start_frame=0
+animation/clip_206/end_frame=0
+animation/clip_206/loops=false
+animation/clip_207/name=""
+animation/clip_207/start_frame=0
+animation/clip_207/end_frame=0
+animation/clip_207/loops=false
+animation/clip_208/name=""
+animation/clip_208/start_frame=0
+animation/clip_208/end_frame=0
+animation/clip_208/loops=false
+animation/clip_209/name=""
+animation/clip_209/start_frame=0
+animation/clip_209/end_frame=0
+animation/clip_209/loops=false
+animation/clip_210/name=""
+animation/clip_210/start_frame=0
+animation/clip_210/end_frame=0
+animation/clip_210/loops=false
+animation/clip_211/name=""
+animation/clip_211/start_frame=0
+animation/clip_211/end_frame=0
+animation/clip_211/loops=false
+animation/clip_212/name=""
+animation/clip_212/start_frame=0
+animation/clip_212/end_frame=0
+animation/clip_212/loops=false
+animation/clip_213/name=""
+animation/clip_213/start_frame=0
+animation/clip_213/end_frame=0
+animation/clip_213/loops=false
+animation/clip_214/name=""
+animation/clip_214/start_frame=0
+animation/clip_214/end_frame=0
+animation/clip_214/loops=false
+animation/clip_215/name=""
+animation/clip_215/start_frame=0
+animation/clip_215/end_frame=0
+animation/clip_215/loops=false
+animation/clip_216/name=""
+animation/clip_216/start_frame=0
+animation/clip_216/end_frame=0
+animation/clip_216/loops=false
+animation/clip_217/name=""
+animation/clip_217/start_frame=0
+animation/clip_217/end_frame=0
+animation/clip_217/loops=false
+animation/clip_218/name=""
+animation/clip_218/start_frame=0
+animation/clip_218/end_frame=0
+animation/clip_218/loops=false
+animation/clip_219/name=""
+animation/clip_219/start_frame=0
+animation/clip_219/end_frame=0
+animation/clip_219/loops=false
+animation/clip_220/name=""
+animation/clip_220/start_frame=0
+animation/clip_220/end_frame=0
+animation/clip_220/loops=false
+animation/clip_221/name=""
+animation/clip_221/start_frame=0
+animation/clip_221/end_frame=0
+animation/clip_221/loops=false
+animation/clip_222/name=""
+animation/clip_222/start_frame=0
+animation/clip_222/end_frame=0
+animation/clip_222/loops=false
+animation/clip_223/name=""
+animation/clip_223/start_frame=0
+animation/clip_223/end_frame=0
+animation/clip_223/loops=false
+animation/clip_224/name=""
+animation/clip_224/start_frame=0
+animation/clip_224/end_frame=0
+animation/clip_224/loops=false
+animation/clip_225/name=""
+animation/clip_225/start_frame=0
+animation/clip_225/end_frame=0
+animation/clip_225/loops=false
+animation/clip_226/name=""
+animation/clip_226/start_frame=0
+animation/clip_226/end_frame=0
+animation/clip_226/loops=false
+animation/clip_227/name=""
+animation/clip_227/start_frame=0
+animation/clip_227/end_frame=0
+animation/clip_227/loops=false
+animation/clip_228/name=""
+animation/clip_228/start_frame=0
+animation/clip_228/end_frame=0
+animation/clip_228/loops=false
+animation/clip_229/name=""
+animation/clip_229/start_frame=0
+animation/clip_229/end_frame=0
+animation/clip_229/loops=false
+animation/clip_230/name=""
+animation/clip_230/start_frame=0
+animation/clip_230/end_frame=0
+animation/clip_230/loops=false
+animation/clip_231/name=""
+animation/clip_231/start_frame=0
+animation/clip_231/end_frame=0
+animation/clip_231/loops=false
+animation/clip_232/name=""
+animation/clip_232/start_frame=0
+animation/clip_232/end_frame=0
+animation/clip_232/loops=false
+animation/clip_233/name=""
+animation/clip_233/start_frame=0
+animation/clip_233/end_frame=0
+animation/clip_233/loops=false
+animation/clip_234/name=""
+animation/clip_234/start_frame=0
+animation/clip_234/end_frame=0
+animation/clip_234/loops=false
+animation/clip_235/name=""
+animation/clip_235/start_frame=0
+animation/clip_235/end_frame=0
+animation/clip_235/loops=false
+animation/clip_236/name=""
+animation/clip_236/start_frame=0
+animation/clip_236/end_frame=0
+animation/clip_236/loops=false
+animation/clip_237/name=""
+animation/clip_237/start_frame=0
+animation/clip_237/end_frame=0
+animation/clip_237/loops=false
+animation/clip_238/name=""
+animation/clip_238/start_frame=0
+animation/clip_238/end_frame=0
+animation/clip_238/loops=false
+animation/clip_239/name=""
+animation/clip_239/start_frame=0
+animation/clip_239/end_frame=0
+animation/clip_239/loops=false
+animation/clip_240/name=""
+animation/clip_240/start_frame=0
+animation/clip_240/end_frame=0
+animation/clip_240/loops=false
+animation/clip_241/name=""
+animation/clip_241/start_frame=0
+animation/clip_241/end_frame=0
+animation/clip_241/loops=false
+animation/clip_242/name=""
+animation/clip_242/start_frame=0
+animation/clip_242/end_frame=0
+animation/clip_242/loops=false
+animation/clip_243/name=""
+animation/clip_243/start_frame=0
+animation/clip_243/end_frame=0
+animation/clip_243/loops=false
+animation/clip_244/name=""
+animation/clip_244/start_frame=0
+animation/clip_244/end_frame=0
+animation/clip_244/loops=false
+animation/clip_245/name=""
+animation/clip_245/start_frame=0
+animation/clip_245/end_frame=0
+animation/clip_245/loops=false
+animation/clip_246/name=""
+animation/clip_246/start_frame=0
+animation/clip_246/end_frame=0
+animation/clip_246/loops=false
+animation/clip_247/name=""
+animation/clip_247/start_frame=0
+animation/clip_247/end_frame=0
+animation/clip_247/loops=false
+animation/clip_248/name=""
+animation/clip_248/start_frame=0
+animation/clip_248/end_frame=0
+animation/clip_248/loops=false
+animation/clip_249/name=""
+animation/clip_249/start_frame=0
+animation/clip_249/end_frame=0
+animation/clip_249/loops=false
+animation/clip_250/name=""
+animation/clip_250/start_frame=0
+animation/clip_250/end_frame=0
+animation/clip_250/loops=false
+animation/clip_251/name=""
+animation/clip_251/start_frame=0
+animation/clip_251/end_frame=0
+animation/clip_251/loops=false
+animation/clip_252/name=""
+animation/clip_252/start_frame=0
+animation/clip_252/end_frame=0
+animation/clip_252/loops=false
+animation/clip_253/name=""
+animation/clip_253/start_frame=0
+animation/clip_253/end_frame=0
+animation/clip_253/loops=false
+animation/clip_254/name=""
+animation/clip_254/start_frame=0
+animation/clip_254/end_frame=0
+animation/clip_254/loops=false
+animation/clip_255/name=""
+animation/clip_255/start_frame=0
+animation/clip_255/end_frame=0
+animation/clip_255/loops=false
+animation/clip_256/name=""
+animation/clip_256/start_frame=0
+animation/clip_256/end_frame=0
+animation/clip_256/loops=false

+ 8 - 0
3d/rigidbody_character/models/white_cube_material.tres

@@ -0,0 +1,8 @@
+[gd_resource type="SpatialMaterial" load_steps=2 format=2]
+
+[ext_resource path="res://models/white_wood.png" type="Texture" id=1]
+
+[resource]
+resource_name = "Material"
+albedo_texture = ExtResource( 1 )
+roughness = 0.75

BIN
3d/rigidbody_character/models/white_wood.png


+ 38 - 0
3d/rigidbody_character/models/white_wood.png.import

@@ -0,0 +1,38 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path.s3tc="res://.import/white_wood.png-821b7bf9b3881778c9bff1c965d8a87c.s3tc.stex"
+path.etc2="res://.import/white_wood.png-821b7bf9b3881778c9bff1c965d8a87c.etc2.stex"
+path.etc="res://.import/white_wood.png-821b7bf9b3881778c9bff1c965d8a87c.etc.stex"
+metadata={
+"imported_formats": [ "s3tc", "etc2", "etc" ],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://models/white_wood.png"
+dest_files=[ "res://.import/white_wood.png-821b7bf9b3881778c9bff1c965d8a87c.s3tc.stex", "res://.import/white_wood.png-821b7bf9b3881778c9bff1c965d8a87c.etc2.stex", "res://.import/white_wood.png-821b7bf9b3881778c9bff1c965d8a87c.etc.stex" ]
+
+[params]
+
+compress/mode=2
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=true
+flags/filter=true
+flags/mipmaps=true
+flags/anisotropic=true
+flags/srgb=1
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=false
+svg/scale=1.0

+ 39 - 0
3d/rigidbody_character/player/cubio.gd

@@ -0,0 +1,39 @@
+extends RigidBody
+
+onready var raycast = $RayCast
+onready var camera = $Target/Camera
+onready var start_position = translation
+
+func _physics_process(_delta):
+	if Input.is_action_just_pressed("exit"):
+		get_tree().quit()
+	if Input.is_action_just_pressed("reset_position"):
+		translation = start_position
+		return
+
+	var dir = Vector3()
+	dir.x = Input.get_action_strength("move_right") - Input.get_action_strength("move_left")
+	dir.z = Input.get_action_strength("move_back") - Input.get_action_strength("move_forward")
+
+	# Get the camera's transform basis, but remove the X rotation such
+	# that the Y axis is up and Z is horizontal.
+	var cam_basis = camera.global_transform.basis
+	var basis = cam_basis.rotated(cam_basis.x, -cam_basis.get_euler().x)
+	dir = basis.xform(dir)
+
+	apply_central_impulse(dir.normalized() / 10)
+
+	# Jumping code.
+	if on_ground() and Input.is_action_pressed("jump"):
+		apply_central_impulse(Vector3.UP)
+
+
+# Test if there is a body below the player.
+func on_ground():
+	if raycast.is_colliding():
+		return true
+
+
+func _on_tcube_body_entered(body):
+	if body == self:
+		get_node("WinText").show()

+ 64 - 0
3d/rigidbody_character/player/cubio.tscn

@@ -0,0 +1,64 @@
+[gd_scene load_steps=6 format=2]
+
+[ext_resource path="res://player/cubio.gd" type="Script" id=1]
+[ext_resource path="res://player/follow_camera.gd" type="Script" id=3]
+[ext_resource path="res://models/white_cube_material.tres" type="Material" id=4]
+
+[sub_resource type="CapsuleMesh" id=6]
+radius = 0.5
+mid_height = 0.7
+
+[sub_resource type="CapsuleShape" id=5]
+radius = 0.5
+height = 0.7
+
+[node name="RigidBody" type="RigidBody"]
+can_sleep = false
+axis_lock_angular_x = true
+axis_lock_angular_y = true
+axis_lock_angular_z = true
+linear_damp = 0.5
+script = ExtResource( 1 )
+
+[node name="CubeMesh" type="MeshInstance" parent="."]
+_import_path = NodePath("cube-col")
+transform = Transform( 0.9, 0, 0, 0, -3.93403e-08, -0.9, 0, 0.9, -3.93403e-08, 0, 0, 0 )
+mesh = SubResource( 6 )
+skeleton = NodePath("")
+material/0 = ExtResource( 4 )
+
+[node name="CollisionShape" type="CollisionShape" parent="."]
+transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0 )
+shape = SubResource( 5 )
+
+[node name="Target" type="Spatial" parent="."]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0 )
+
+[node name="Camera" type="Camera" parent="Target"]
+transform = Transform( 0.34202, -0.321394, 0.883022, 0, 0.939693, 0.34202, -0.939693, -0.116978, 0.321394, 2, 0.5, 0.913381 )
+fov = 74.0
+near = 0.1
+far = 50.0
+script = ExtResource( 3 )
+
+[node name="WinText" type="CenterContainer" parent="."]
+visible = false
+anchor_right = 1.0
+margin_bottom = 100.0
+
+[node name="Holder" type="Control" parent="WinText"]
+margin_left = 512.0
+margin_top = 50.0
+margin_right = 512.0
+margin_bottom = 50.0
+
+[node name="TextLabel" type="Label" parent="WinText/Holder"]
+margin_left = -354.0
+margin_bottom = 14.0
+rect_scale = Vector2( 2, 2 )
+text = "Thank You, Cubio! But the Princess is in Another Demo!"
+align = 1
+valign = 1
+
+[node name="RayCast" type="RayCast" parent="."]
+enabled = true

+ 41 - 0
3d/rigidbody_character/player/follow_camera.gd

@@ -0,0 +1,41 @@
+extends Camera
+
+var collision_exception = []
+export var min_distance = 0.5
+export var max_distance = 3.0
+export var angle_v_adjust = 0.0
+var max_height = 2.0
+var min_height = 0
+onready var target_node: Spatial = get_parent()
+
+
+func _ready():
+	collision_exception.append(target_node.get_parent().get_rid())
+	# Detaches the camera transform from the parent spatial node
+	set_as_toplevel(true)
+
+
+func _physics_process(_delta):
+	var target_pos: Vector3 = target_node.global_transform.origin
+	var camera_pos: Vector3 = global_transform.origin
+
+	var delta_pos: Vector3 = camera_pos - target_pos
+
+	# Regular delta follow
+
+	# Check ranges
+	if delta_pos.length() < min_distance:
+		delta_pos = delta_pos.normalized() * min_distance
+	elif delta_pos.length() > max_distance:
+		delta_pos = delta_pos.normalized() * max_distance
+
+	# Check upper and lower height
+	delta_pos.y = clamp(delta_pos.y, min_height, max_height)
+	camera_pos = target_pos + delta_pos
+
+	look_at_from_position(camera_pos, target_pos, Vector3.UP)
+
+	# Turn a little up or down
+	var t = transform
+	t.basis = Basis(t.basis[0], deg2rad(angle_v_adjust)) * t.basis
+	transform = t

+ 93 - 0
3d/rigidbody_character/project.godot

@@ -0,0 +1,93 @@
+; Engine configuration file.
+; It's best edited using the editor UI and not directly,
+; since the parameters that go here are not all obvious.
+;
+; Format:
+;   [section] ; section goes between []
+;   param=value ; assign values to parameters
+
+config_version=4
+
+[application]
+
+config/name="RigidBody Character 3D"
+config/description="Rigidbody character demo for 3D using a capsule for the character.
+"
+run/main_scene="res://level.tscn"
+config/icon="res://icon.png"
+
+[gdnative]
+
+singletons=[  ]
+
+[input]
+
+jump={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null)
+ ]
+}
+move_back={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null)
+ ]
+}
+move_forward={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null)
+ ]
+}
+move_left={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null)
+ ]
+}
+move_right={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null)
+ ]
+}
+reset_position={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":82,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":2,"pressure":0.0,"pressed":false,"script":null)
+ ]
+}
+exit={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777217,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null)
+ ]
+}
+
+[physics]
+
+common/physics_fps=120
+
+[rasterizer]
+
+shadow_filter=3
+
+[rendering]
+
+quality/driver/fallback_to_gles2=true
+vram_compression/import_etc=true
+quality/shadows/filter_mode=2
+quality/filters/anisotropic_filter_level=16
+quality/filters/msaa=2
+environment/default_environment="res://default_env.tres"
+quality/filters/msaa.mobile=0
+quality/filters/anisotropic_filter_level.mobile=4

+ 0 - 0
3d/rigidbody_character/screenshots/.gdignore


BIN
3d/rigidbody_character/screenshots/editor.png


BIN
3d/rigidbody_character/screenshots/ingame.png


+ 2 - 2
LICENSE.md

@@ -1,5 +1,5 @@
-Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. \
-Copyright (c) 2014-2021 Godot Engine contributors.
+Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. \
+Copyright (c) 2014-2022 Godot Engine contributors.
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the

+ 3 - 1
README.md

@@ -6,9 +6,11 @@ be used with [Godot Engine](https://godotengine.org), the open source
 
 ## Godot versions
 
-- The [`master`](https://github.com/godotengine/godot-demo-projects) branch is compatible with the latest stable Godot version (currently 3.4.x).
+- The [`master`](https://github.com/godotengine/godot-demo-projects) branch is compatible with the latest Godot version (currently 4.0 alpha).
 - If you are using an older version of Godot, use the appropriate branch for your Godot version:
 
+  - [`3.4`](https://github.com/godotengine/godot-demo-projects/tree/3.4)
+    branch for Godot 3.4.x.
   - [`3.3`](https://github.com/godotengine/godot-demo-projects/tree/3.3)
     branch for Godot 3.3.x.
   - [`3.2`](https://github.com/godotengine/godot-demo-projects/tree/3.2)

+ 21 - 0
audio/midi_piano/README.md

@@ -0,0 +1,21 @@
+# MIDI Piano
+
+This demo shows how to use
+[InputEventMIDI](https://docs.godotengine.org/en/latest/classes/class_inputeventmidi.html)
+by creating a piano that can be controlled by a MIDI device.
+This is known to work with a Yamaha MX88.
+
+The piano can also be controlled by clicking on the keys, or by
+manually calling the activate and deactivate methods on each key.
+
+Note that MIDI output is not yet supported in Godot, only input works.
+
+Language: GDScript
+
+Renderer: GLES 2
+
+Check out this demo on the asset library: https://godotengine.org/asset-library/asset/1292
+
+## Screenshots
+
+![Screenshot](screenshots/piano-pressed.png)

BIN
audio/midi_piano/icon.png


+ 35 - 0
audio/midi_piano/icon.png.import

@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://icon.png"
+dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

+ 97 - 0
audio/midi_piano/piano.gd

@@ -0,0 +1,97 @@
+extends Control
+
+# A standard piano with 88 keys has keys from 21 to 108.
+# To get a different set of keys, modify these numbers.
+# A maximally extended 108-key piano goes from 12 to 119.
+# A 76-key piano goes from 23 to 98, 61-key from 36 to 96,
+# 49-key from 36 to 84, 37-key from 41 to 77, and 25-key
+# from 48 to 72. Middle C is pitch number 60, A440 is 69.
+const START_KEY = 21
+const END_KEY = 108
+
+const WhiteKeyScene = preload("res://piano_keys/white_piano_key.tscn")
+const BlackKeyScene = preload("res://piano_keys/black_piano_key.tscn")
+
+var piano_key_dict := Dictionary()
+
+onready var white_keys = $WhiteKeys
+onready var black_keys = $BlackKeys
+
+func _ready():
+	# Sanity checks.
+	if _is_note_index_sharp(_pitch_index_to_note_index(START_KEY)):
+		printerr("The start key can't be a sharp note (limitation of this piano-generating algorithm). Try 21.")
+		return
+
+	for i in range(START_KEY, END_KEY + 1):
+		piano_key_dict[i] = _create_piano_key(i)
+
+	if white_keys.get_child_count() != black_keys.get_child_count():
+		_add_placeholder_key(black_keys)
+	OS.open_midi_inputs()
+	print(OS.get_connected_midi_inputs())
+
+
+func _input(input_event):
+	if not (input_event is InputEventMIDI):
+		return
+	var midi_event: InputEventMIDI = input_event
+	if midi_event.pitch < START_KEY or midi_event.pitch > END_KEY:
+		# The given pitch isn't on the on-screen keyboard, so return.
+		return
+	_print_midi_info(midi_event)
+	var key: PianoKey = piano_key_dict[midi_event.pitch]
+	if midi_event.message == MIDI_MESSAGE_NOTE_ON:
+		key.activate()
+	else:
+		key.deactivate()
+
+
+func _add_placeholder_key(container):
+	var placeholder = Control.new()
+	placeholder.size_flags_horizontal = SIZE_EXPAND_FILL
+	placeholder.mouse_filter = Control.MOUSE_FILTER_IGNORE
+	placeholder.name = "Placeholder"
+	container.add_child(placeholder)
+
+
+func _create_piano_key(pitch_index):
+	var note_index = _pitch_index_to_note_index(pitch_index)
+	var piano_key: PianoKey
+	if _is_note_index_sharp(note_index):
+		piano_key = BlackKeyScene.instance()
+		black_keys.add_child(piano_key)
+	else:
+		piano_key = WhiteKeyScene.instance()
+		white_keys.add_child(piano_key)
+		if _is_note_index_lacking_sharp(note_index):
+			_add_placeholder_key(black_keys)
+	piano_key.setup(pitch_index)
+	return piano_key
+
+
+func _is_note_index_lacking_sharp(note_index: int):
+	# B and E, because no B# or E#
+	return note_index in [2, 7]
+
+
+func _is_note_index_sharp(note_index: int):
+	# A#, C#, D#, F#, and G#
+	return note_index in [1, 4, 6, 9, 11]
+
+
+func _pitch_index_to_note_index(pitch: int):
+	pitch += 3
+	return pitch % 12
+
+
+func _print_midi_info(midi_event: InputEventMIDI):
+	print(midi_event)
+	print("Channel: " + str(midi_event.channel))
+	print("Message: " + str(midi_event.message))
+	print("Pitch: " + str(midi_event.pitch))
+	print("Velocity: " + str(midi_event.velocity))
+	print("Instrument: " + str(midi_event.instrument))
+	print("Pressure: " + str(midi_event.pressure))
+	print("Controller number: " + str(midi_event.controller_number))
+	print("Controller value: " + str(midi_event.controller_value))

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.