mirror of
https://github.com/godotengine/godot-demo-projects.git
synced 2026-01-04 15:00:09 +01:00
[3DP] Update to Godot 3.1.2
Conform to style guide, add WASD movement, add controller support
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
|
||||
extends RigidBody
|
||||
|
||||
# Member variables
|
||||
var disabled = false
|
||||
#warning-ignore:unused_class_variable
|
||||
var enabled = true
|
||||
|
||||
@@ -25,7 +25,7 @@ surfaces/0 = {
|
||||
"vertex_count": 34
|
||||
}
|
||||
|
||||
[sub_resource type="SpatialMaterial" id=6]
|
||||
[sub_resource type="SpatialMaterial" id=3]
|
||||
albedo_color = Color( 0.7, 0.7, 0.7, 1 )
|
||||
metallic = 0.1
|
||||
roughness = 0.0
|
||||
@@ -35,8 +35,7 @@ emission_energy = 3.71
|
||||
emission_operator = 0
|
||||
emission_on_uv2 = false
|
||||
|
||||
[sub_resource type="Animation" id=3]
|
||||
resource_name = "life"
|
||||
[sub_resource type="Animation" id=4]
|
||||
length = 2.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Sphere:visible")
|
||||
@@ -63,7 +62,7 @@ tracks/1/keys = {
|
||||
"values": [ true, false ]
|
||||
}
|
||||
tracks/2/type = "method"
|
||||
tracks/2/path = NodePath(".:")
|
||||
tracks/2/path = NodePath(".")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
@@ -77,19 +76,19 @@ tracks/2/keys = {
|
||||
} ]
|
||||
}
|
||||
|
||||
[sub_resource type="Gradient" id=8]
|
||||
[sub_resource type="Gradient" id=5]
|
||||
colors = PoolColorArray( 1, 1, 1, 1, 1, 1, 1, 0 )
|
||||
|
||||
[sub_resource type="GradientTexture" id=9]
|
||||
gradient = SubResource( 8 )
|
||||
[sub_resource type="GradientTexture" id=6]
|
||||
gradient = SubResource( 5 )
|
||||
|
||||
[sub_resource type="ParticlesMaterial" id=7]
|
||||
spread = 0.0
|
||||
gravity = Vector3( 0, 0, 0 )
|
||||
scale = 0.3
|
||||
color_ramp = SubResource( 9 )
|
||||
color_ramp = SubResource( 6 )
|
||||
|
||||
[sub_resource type="SphereShape" id=5]
|
||||
[sub_resource type="SphereShape" id=8]
|
||||
radius = 0.27
|
||||
|
||||
[node name="Bullet" type="RigidBody"]
|
||||
@@ -102,13 +101,11 @@ __meta__ = {
|
||||
[node name="Sphere" type="MeshInstance" parent="."]
|
||||
transform = Transform( 0.24972, 0, 0, 0, 0.24972, 0, 0, 0, 0.24972, 0.00159812, 0.0110106, 0.0045104 )
|
||||
mesh = SubResource( 2 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 6 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
root_node = NodePath("..:")
|
||||
autoplay = "life"
|
||||
anims/life = SubResource( 3 )
|
||||
anims/life = SubResource( 4 )
|
||||
|
||||
[node name="Particles" type="Particles" parent="."]
|
||||
amount = 16
|
||||
@@ -120,4 +117,4 @@ process_material = SubResource( 7 )
|
||||
draw_pass_1 = SubResource( 2 )
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="."]
|
||||
shape = SubResource( 5 )
|
||||
shape = SubResource( 8 )
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
|
||||
extends Area
|
||||
|
||||
# Member variables
|
||||
var taken = false
|
||||
|
||||
|
||||
func _on_coin_body_enter(body):
|
||||
if not taken and body is preload("res://player.gd"):
|
||||
get_node("Animation").play("take")
|
||||
|
||||
@@ -85,23 +85,24 @@ tracks/2/keys = {
|
||||
"values": [ true ]
|
||||
}
|
||||
|
||||
[sub_resource type="SphereShape" id=7]
|
||||
[sub_resource type="SphereShape" id=5]
|
||||
radius = 0.312546
|
||||
|
||||
[sub_resource type="Gradient" id=8]
|
||||
[sub_resource type="Gradient" id=6]
|
||||
colors = PoolColorArray( 1, 1, 1, 1, 1, 1, 1, 0 )
|
||||
|
||||
[sub_resource type="GradientTexture" id=9]
|
||||
gradient = SubResource( 8 )
|
||||
[sub_resource type="GradientTexture" id=7]
|
||||
gradient = SubResource( 6 )
|
||||
|
||||
[sub_resource type="ParticlesMaterial" id=10]
|
||||
[sub_resource type="ParticlesMaterial" id=8]
|
||||
emission_shape = 2
|
||||
emission_box_extents = Vector3( 0.3, 0.3, 0.3 )
|
||||
initial_velocity = 5.51
|
||||
angular_velocity = 4.27461e-05
|
||||
scale = 0.1
|
||||
color_ramp = SubResource( 9 )
|
||||
color_ramp = SubResource( 7 )
|
||||
|
||||
[sub_resource type="SpatialMaterial" id=11]
|
||||
[sub_resource type="SpatialMaterial" id=9]
|
||||
flags_transparent = true
|
||||
flags_unshaded = true
|
||||
vertex_color_use_as_albedo = true
|
||||
@@ -114,8 +115,8 @@ particles_anim_loop = false
|
||||
albedo_color = Color( 1, 1, 0.759137, 1 )
|
||||
albedo_texture = ExtResource( 3 )
|
||||
|
||||
[sub_resource type="QuadMesh" id=12]
|
||||
material = SubResource( 11 )
|
||||
[sub_resource type="QuadMesh" id=10]
|
||||
material = SubResource( 9 )
|
||||
|
||||
[node name="Coin" type="Area"]
|
||||
input_ray_pickable = false
|
||||
@@ -128,18 +129,16 @@ __meta__ = {
|
||||
transform = Transform( 0.2, 0, 0, 0, -3.25841e-08, 0.2, 0, -0.2, -3.25841e-08, 0.00550658, 0.532125, 0.000651598 )
|
||||
layers = 2
|
||||
mesh = SubResource( 2 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = null
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="."]
|
||||
root_node = NodePath("..:")
|
||||
autoplay = "spin"
|
||||
anims/spin = SubResource( 3 )
|
||||
anims/take = SubResource( 4 )
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00894194, 0.575859, 0.0193955 )
|
||||
shape = SubResource( 7 )
|
||||
shape = SubResource( 5 )
|
||||
|
||||
[node name="VisibilityEnabler" type="VisibilityEnabler" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0321827, 0.57887, 0.0268312 )
|
||||
@@ -155,6 +154,6 @@ emitting = false
|
||||
one_shot = true
|
||||
explosiveness = 1.0
|
||||
visibility_aabb = AABB( -4.12919, -4, -4, 8.25837, 8, 8 )
|
||||
process_material = SubResource( 10 )
|
||||
draw_pass_1 = SubResource( 12 )
|
||||
process_material = SubResource( 8 )
|
||||
draw_pass_1 = SubResource( 10 )
|
||||
[connection signal="body_entered" from="." to="." method="_on_coin_body_enter"]
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
|
||||
extends RigidBody
|
||||
|
||||
# Member variables
|
||||
const STATE_WALKING = 0
|
||||
const STATE_DYING = 1
|
||||
|
||||
@@ -14,15 +12,17 @@ var rot_speed = 1
|
||||
|
||||
var dying = false
|
||||
|
||||
onready var gravity = ProjectSettings.get_setting("physics/3d/default_gravity") * ProjectSettings.get_setting("physics/3d/default_gravity_vector")
|
||||
|
||||
func _integrate_forces(state):
|
||||
var delta = state.get_step()
|
||||
var lv = state.get_linear_velocity()
|
||||
var g = state.get_total_gravity()
|
||||
# get_total_gravity returns zero for the first few frames, leading to errors
|
||||
if g == Vector3.ZERO: g = Vector3 (0, -9.8, 0)
|
||||
# get_total_gravity returns zero for the first few frames, leading to errors.
|
||||
if g == Vector3.ZERO:
|
||||
g = gravity
|
||||
|
||||
lv += g * delta # Apply gravity
|
||||
lv += g * delta # Apply gravity.
|
||||
var up = -g.normalized()
|
||||
|
||||
if dying:
|
||||
@@ -34,22 +34,20 @@ func _integrate_forces(state):
|
||||
var dp = state.get_contact_local_normal(i)
|
||||
|
||||
if cc:
|
||||
if cc is preload("res://bullet.gd") and not cc.disabled:
|
||||
if cc is preload("res://bullet.gd") and cc.enabled:
|
||||
set_mode(MODE_RIGID)
|
||||
dying = true
|
||||
#lv = s.get_contact_local_normal(i)*400
|
||||
state.set_angular_velocity(-dp.cross(up).normalized() * 33.0)
|
||||
get_node("AnimationPlayer").play("impact")
|
||||
get_node("AnimationPlayer").queue("explode")
|
||||
set_friction(1)
|
||||
cc.disabled = true
|
||||
get_node("sound_hit").play()
|
||||
cc.enabled = false
|
||||
get_node("SoundHit").play()
|
||||
return
|
||||
|
||||
var col_floor = get_node("Armature/ray_floor").is_colliding()
|
||||
var col_wall = get_node("Armature/ray_wall").is_colliding()
|
||||
var col_floor = get_node("Armature/RayFloor").is_colliding()
|
||||
var col_wall = get_node("Armature/RayWall").is_colliding()
|
||||
|
||||
var advance = not col_wall and col_floor
|
||||
var advance = col_floor and not col_wall
|
||||
|
||||
var dir = get_node("Armature").get_transform().basis[2].normalized()
|
||||
var deaccel_dir = dir
|
||||
@@ -60,7 +58,7 @@ func _integrate_forces(state):
|
||||
deaccel_dir = dir.cross(g).normalized()
|
||||
else:
|
||||
if prev_advance:
|
||||
rot_dir = 1 # randf()*2.0 - 1.0
|
||||
rot_dir = 1
|
||||
|
||||
dir = Basis(up, rot_dir * rot_speed * delta).xform(dir)
|
||||
get_node("Armature").set_transform(Transform().looking_at(-dir, up))
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
[ext_resource path="res://sound_explode.wav" type="AudioStream" id=4]
|
||||
[ext_resource path="res://shine.png" type="Texture" id=5]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id=22]
|
||||
[sub_resource type="PhysicsMaterial" id=1]
|
||||
friction = 0.0
|
||||
|
||||
[sub_resource type="SpatialMaterial" id=2]
|
||||
@@ -67,7 +67,7 @@ surfaces/2 = {
|
||||
"vertex_count": 28
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=7]
|
||||
[sub_resource type="Animation" id=6]
|
||||
length = 2.5
|
||||
tracks/0/type = "transform"
|
||||
tracks/0/path = NodePath("Armature/Skeleton:r-backleg.001")
|
||||
@@ -147,11 +147,11 @@ tracks/10/imported = false
|
||||
tracks/10/enabled = true
|
||||
tracks/10/keys = PoolRealArray( 0, 1, 0, 5.96046e-08, 0, 0, 0, 0, 1, 1, 1, 1 )
|
||||
|
||||
[sub_resource type="Animation" id=10]
|
||||
[sub_resource type="Animation" id=7]
|
||||
resource_name = "explode"
|
||||
length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("explosion:emitting")
|
||||
tracks/0/path = NodePath("Explosion:emitting")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
@@ -175,7 +175,7 @@ tracks/1/keys = {
|
||||
"values": [ true, false ]
|
||||
}
|
||||
tracks/2/type = "method"
|
||||
tracks/2/path = NodePath(".:")
|
||||
tracks/2/path = NodePath(".")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
@@ -189,7 +189,7 @@ tracks/2/keys = {
|
||||
} ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("sound_explode:playing")
|
||||
tracks/3/path = NodePath("SoundExplode:playing")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/imported = false
|
||||
@@ -201,7 +201,7 @@ tracks/3/keys = {
|
||||
"values": [ true ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("sound_walk_loop:playing")
|
||||
tracks/4/path = NodePath("SoundWalkLoop:playing")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/imported = false
|
||||
@@ -213,8 +213,7 @@ tracks/4/keys = {
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=6]
|
||||
resource_name = "idle"
|
||||
[sub_resource type="Animation" id=8]
|
||||
length = 2.5
|
||||
loop = true
|
||||
tracks/0/type = "transform"
|
||||
@@ -375,7 +374,7 @@ tracks/10/imported = false
|
||||
tracks/10/enabled = true
|
||||
tracks/10/keys = PoolRealArray( 0, 1, 0, 5.96046e-08, 0, 0, 0, 0, 1, 1, 1, 1, 2.5, 1, 0, 5.96046e-08, 0, 0, 0, 0, 1, 1, 1, 1 )
|
||||
|
||||
[sub_resource type="Animation" id=8]
|
||||
[sub_resource type="Animation" id=10]
|
||||
length = 1.66667
|
||||
loop = true
|
||||
tracks/0/type = "transform"
|
||||
@@ -456,35 +455,35 @@ tracks/10/imported = false
|
||||
tracks/10/enabled = true
|
||||
tracks/10/keys = PoolRealArray( 0, 1, 0, -0.149993, 0, 0, 0, 0, 1, 1, 1, 1, 0.05, 1, 0, -0.12914, 0, 0, 0, 0, 1, 1, 1, 1, 0.15, 1, 0, -0.0283493, 0, 0, 0, 0, 1, 1, 1, 1, 0.2, 1, 0, -0.00266618, 0, 0, 0, 0, 1, 1, 1, 1, 0.25, 1, 0, -0.0155987, 0.0483675, 0, 0, 0, 1, 1, 1, 1, 0.3, 1, 0, -0.0777871, 0.182986, 0, 0, 3.55271e-15, 1, 1, 1, 1, 0.35, 1, 0, -0.171135, 0.269949, 0, 0, 0, 1, 1, 1, 1, 0.4, 1, 0, -0.273424, 0.297207, 0, 0, 0, 1, 1, 1, 1, 0.45, 1, 0, -0.3, 0.278664, 0, 0, 0, 1, 1, 1, 1, 0.5, 1, 0, -0.3, 0.198231, 0, 0, 0, 1, 1, 1, 1, 0.55, 1, 0, -0.3, 0.0867803, 0, 0, 0, 1, 1, 1, 1, 0.6, 1, 0, -0.3, 0.0160092, 0, 0, 0, 1, 1, 1, 1, 0.65, 1, 0, -0.296009, -5.96046e-08, 0, 0, 0, 1, 1, 1, 1, 0.7, 1, 0, -0.277333, -5.96046e-08, 0, 0, 0, 1, 1, 1, 1, 0.75, 1, 0, -0.240782, 0, 0, 0, 0, 1, 1, 1, 1, 0.95, 1, 0, -0.0331749, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, -0.00665081, 0, 0, 0, 0, 1, 1, 1, 1, 1.05, 1, 0, -0.00311971, 0.0096736, 0, 0, 0, 1, 1, 1, 1, 1.1, 1, 0, -0.0353009, 0.0950568, 0, 0, 0, 1, 1, 1, 1, 1.15, 1, 0, -0.103653, 0.218778, 0, 0, 0, 1, 1, 1, 1, 1.2, 1, 0, -0.212752, 0.285328, 0, 0, 0, 1, 1, 1, 1, 1.25, 1, 0, -0.3, 0.3, 0, 0, 0, 1, 1, 1, 1, 1.3, 1, 0, -0.3, 0.258311, 0, 0, 0, 1, 1, 1, 1, 1.4, 1, 0, -0.3, 0.0567318, 0, 0, 0, 1, 1, 1, 1, 1.45, 1, 0, -0.3, 0.00533658, 0, 0, 0, 1, 1, 1, 1, 1.5, 1, 0, -0.286666, -5.96046e-08, 0, 0, 0, 1, 1, 1, 1, 1.6, 1, 0, -0.185874, 0, 0, 0, 0, 1, 1, 1, 1, 1.65, 1, 0, -0.15533, 0, 0, 0, 0, 1, 1, 1, 1, 1.7, 1, 0, -0.149993, 0, 0, 0, 0, 1, 1, 1, 1, 2.5, 1, 0, -0.149993, 0, 0, 0, 0, 1, 1, 1, 1 )
|
||||
|
||||
[sub_resource type="SphereShape" id=13]
|
||||
[sub_resource type="SphereShape" id=11]
|
||||
radius = 0.68
|
||||
|
||||
[sub_resource type="SphereShape" id=1]
|
||||
[sub_resource type="SphereShape" id=12]
|
||||
radius = 0.4
|
||||
|
||||
[sub_resource type="BoxShape" id=16]
|
||||
[sub_resource type="BoxShape" id=13]
|
||||
extents = Vector3( 0.57253, 0.388409, 0.560511 )
|
||||
|
||||
[sub_resource type="AudioStreamRandomPitch" id=15]
|
||||
[sub_resource type="AudioStreamRandomPitch" id=14]
|
||||
audio_stream = ExtResource( 2 )
|
||||
|
||||
[sub_resource type="Curve" id=17]
|
||||
[sub_resource type="Curve" id=15]
|
||||
max_value = 3.0
|
||||
_data = [ Vector2( 0, 1 ), 0.0, 0.0, 0, 0, Vector2( 0.0349232, 2.1123 ), 0.0, 0.0, 0, 0, Vector2( 0.151192, 0.823242 ), 0.0, 0.0, 0, 0, Vector2( 1, 0 ), 0.0, 0.0, 0, 0 ]
|
||||
|
||||
[sub_resource type="CurveTexture" id=18]
|
||||
curve = SubResource( 17 )
|
||||
[sub_resource type="CurveTexture" id=16]
|
||||
curve = SubResource( 15 )
|
||||
|
||||
[sub_resource type="ParticlesMaterial" id=19]
|
||||
[sub_resource type="ParticlesMaterial" id=17]
|
||||
emission_shape = 1
|
||||
emission_sphere_radius = 1.0
|
||||
gravity = Vector3( 0, 0, 0 )
|
||||
initial_velocity = 0.15
|
||||
angular_velocity = 351.05
|
||||
angular_velocity_random = 1.0
|
||||
scale_curve = SubResource( 18 )
|
||||
scale_curve = SubResource( 16 )
|
||||
|
||||
[sub_resource type="SpatialMaterial" id=20]
|
||||
[sub_resource type="SpatialMaterial" id=18]
|
||||
flags_transparent = true
|
||||
flags_unshaded = true
|
||||
params_blend_mode = 1
|
||||
@@ -494,12 +493,12 @@ particles_anim_v_frames = 1
|
||||
particles_anim_loop = false
|
||||
albedo_texture = ExtResource( 5 )
|
||||
|
||||
[sub_resource type="QuadMesh" id=21]
|
||||
material = SubResource( 20 )
|
||||
[sub_resource type="QuadMesh" id=19]
|
||||
material = SubResource( 18 )
|
||||
|
||||
[node name="enemy" type="RigidBody"]
|
||||
[node name="Enemy" type="RigidBody"]
|
||||
mode = 2
|
||||
physics_material_override = SubResource( 22 )
|
||||
physics_material_override = SubResource( 1 )
|
||||
custom_integrator = true
|
||||
contacts_reported = 5
|
||||
contact_monitor = true
|
||||
@@ -570,75 +569,73 @@ bones/10/bound_children = [ ]
|
||||
[node name="Sphere" type="MeshInstance" parent="Armature/Skeleton"]
|
||||
layers = 2
|
||||
mesh = SubResource( 5 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = null
|
||||
material/1 = null
|
||||
material/2 = null
|
||||
|
||||
[node name="ray_floor" type="RayCast" parent="Armature"]
|
||||
[node name="RayFloor" type="RayCast" parent="Armature"]
|
||||
transform = Transform( 1, 0, 0, 0, 0.576528, 0.817077, 0, -0.817077, 0.576528, 0, 0.643772, 0.803052 )
|
||||
enabled = true
|
||||
cast_to = Vector3( 0, -2, 0 )
|
||||
|
||||
[node name="ray_wall" type="RayCast" parent="Armature"]
|
||||
[node name="RayWall" type="RayCast" parent="Armature"]
|
||||
transform = Transform( 1, 0, 0, 0, -0.0374391, 0.999299, 0, -0.999299, -0.0374391, 0, 0.643772, 0.310413 )
|
||||
enabled = true
|
||||
cast_to = Vector3( 0, -3, 0 )
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
root_node = NodePath("..:")
|
||||
autoplay = "walk-cycle"
|
||||
playback_default_blend_time = 0.5
|
||||
anims/default = SubResource( 7 )
|
||||
anims/explode = SubResource( 10 )
|
||||
anims/idle = SubResource( 6 )
|
||||
anims/default = SubResource( 6 )
|
||||
anims/explode = SubResource( 7 )
|
||||
anims/idle = SubResource( 8 )
|
||||
anims/impact = SubResource( 9 )
|
||||
anims/walk-cycle = SubResource( 8 )
|
||||
anims/walk-cycle = SubResource( 10 )
|
||||
|
||||
[node name="sphere" type="CollisionShape" parent="."]
|
||||
[node name="Sphere1" type="CollisionShape" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.74185, 0.267137 )
|
||||
shape = SubResource( 11 )
|
||||
|
||||
[node name="Sphere2" type="CollisionShape" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.491839, 0.74185, 0.852485 )
|
||||
shape = SubResource( 12 )
|
||||
|
||||
[node name="Sphere3" type="CollisionShape" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.652943, 0.74185, 0.852485 )
|
||||
shape = SubResource( 12 )
|
||||
|
||||
[node name="Sphere4" type="CollisionShape" parent="."]
|
||||
transform = Transform( 0.617236, 0, 0.786778, 0, 1, 0, -0.786778, 0, 0.617236, -0.0445105, 1.04515, 0.0531231 )
|
||||
shape = SubResource( 13 )
|
||||
|
||||
[node name="sphere 2" type="CollisionShape" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.491839, 0.74185, 0.852485 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="sphere 3" type="CollisionShape" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.652943, 0.74185, 0.852485 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="sphere 4" type="CollisionShape" parent="."]
|
||||
transform = Transform( 0.617236, 0, 0.786778, 0, 1, 0, -0.786778, 0, 0.617236, -0.0445105, 1.04515, 0.0531231 )
|
||||
shape = SubResource( 16 )
|
||||
|
||||
[node name="box" type="CollisionShape" parent="."]
|
||||
[node name="Box" type="CollisionShape" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.678859, 0.74185, -0.335599 )
|
||||
shape = SubResource( 1 )
|
||||
shape = SubResource( 12 )
|
||||
|
||||
[node name="sound" type="Spatial" parent="."]
|
||||
[node name="Sound" type="Spatial" parent="."]
|
||||
|
||||
[node name="sound_walk_loop" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = SubResource( 15 )
|
||||
[node name="SoundWalkLoop" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = SubResource( 14 )
|
||||
unit_db = 12.0
|
||||
autoplay = true
|
||||
max_distance = 30.0
|
||||
out_of_range_mode = 1
|
||||
doppler_tracking = 1
|
||||
|
||||
[node name="sound_hit" type="AudioStreamPlayer3D" parent="."]
|
||||
[node name="SoundHit" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = ExtResource( 3 )
|
||||
unit_db = 6.0
|
||||
doppler_tracking = 1
|
||||
|
||||
[node name="sound_explode" type="AudioStreamPlayer3D" parent="."]
|
||||
[node name="SoundExplode" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = ExtResource( 4 )
|
||||
unit_db = 18.0
|
||||
doppler_tracking = 1
|
||||
|
||||
[node name="explosion" type="Particles" parent="."]
|
||||
[node name="Explosion" type="Particles" parent="."]
|
||||
emitting = false
|
||||
lifetime = 0.5
|
||||
one_shot = true
|
||||
explosiveness = 1.0
|
||||
process_material = SubResource( 19 )
|
||||
draw_pass_1 = SubResource( 21 )
|
||||
process_material = SubResource( 17 )
|
||||
draw_pass_1 = SubResource( 19 )
|
||||
|
||||
@@ -1,73 +1,17 @@
|
||||
|
||||
extends Camera
|
||||
|
||||
# Member variables
|
||||
var collision_exception = []
|
||||
export var min_distance = 0.5
|
||||
export var max_distance = 3.5
|
||||
export var angle_v_adjust = 0.0
|
||||
export var autoturn_ray_aperture = 25
|
||||
export var autoturn_speed = 50
|
||||
|
||||
var collision_exception = []
|
||||
var max_height = 2.0
|
||||
var min_height = 0
|
||||
|
||||
func _physics_process(dt):
|
||||
var target = get_parent().get_global_transform().origin
|
||||
var pos = get_global_transform().origin
|
||||
var up = Vector3(0, 1, 0)
|
||||
|
||||
var delta = pos - target
|
||||
|
||||
# Regular delta follow
|
||||
|
||||
# Check ranges
|
||||
if delta.length() < min_distance:
|
||||
delta = delta.normalized() * min_distance
|
||||
elif delta.length() > max_distance:
|
||||
delta = delta.normalized() * max_distance
|
||||
|
||||
# Check upper and lower height
|
||||
if delta.y > max_height:
|
||||
delta.y = max_height
|
||||
if delta.y < min_height:
|
||||
delta.y = min_height
|
||||
|
||||
# Check autoturn
|
||||
var ds = PhysicsServer.space_get_direct_state(get_world().get_space())
|
||||
|
||||
var col_left = ds.intersect_ray(target, target + Basis(up, deg2rad(autoturn_ray_aperture)).xform(delta), collision_exception)
|
||||
var col = ds.intersect_ray(target, target + delta, collision_exception)
|
||||
var col_right = ds.intersect_ray(target, target + Basis(up, deg2rad(-autoturn_ray_aperture)).xform(delta), collision_exception)
|
||||
|
||||
if !col.empty():
|
||||
# If main ray was occluded, get camera closer, this is the worst case scenario
|
||||
delta = col.position - target
|
||||
elif !col_left.empty() and col_right.empty():
|
||||
# If only left ray is occluded, turn the camera around to the right
|
||||
delta = Basis(up, deg2rad(-dt * autoturn_speed)).xform(delta)
|
||||
elif col_left.empty() and !col_right.empty():
|
||||
# If only right ray is occluded, turn the camera around to the left
|
||||
delta = Basis(up, deg2rad(dt *autoturn_speed)).xform(delta)
|
||||
else:
|
||||
# Do nothing otherwise, left and right are occluded but center is not, so do not autoturn
|
||||
pass
|
||||
|
||||
# Apply lookat
|
||||
if delta == Vector3():
|
||||
delta = (pos - target).normalized() * 0.0001
|
||||
|
||||
pos = target + delta
|
||||
|
||||
look_at_from_position(pos, target, up)
|
||||
|
||||
# Turn a little up or down
|
||||
var t = get_transform()
|
||||
t.basis = Basis(t.basis[0], deg2rad(angle_v_adjust)) * t.basis
|
||||
set_transform(t)
|
||||
|
||||
|
||||
func _ready():
|
||||
# Find collision exceptions for ray
|
||||
# Find collision exceptions for ray.
|
||||
var node = self
|
||||
while node:
|
||||
if node is RigidBody:
|
||||
@@ -76,5 +20,57 @@ func _ready():
|
||||
else:
|
||||
node = node.get_parent()
|
||||
set_physics_process(true)
|
||||
# This detaches the camera transform from the parent spatial node
|
||||
# This detaches the camera transform from the parent spatial node.
|
||||
set_as_toplevel(true)
|
||||
|
||||
|
||||
func _physics_process(dt):
|
||||
var target = get_parent().get_global_transform().origin
|
||||
var pos = get_global_transform().origin
|
||||
|
||||
var delta = pos - target
|
||||
|
||||
# Regular delta follow.
|
||||
|
||||
# Check ranges.
|
||||
if delta.length() < min_distance:
|
||||
delta = delta.normalized() * min_distance
|
||||
elif delta.length() > max_distance:
|
||||
delta = delta.normalized() * max_distance
|
||||
|
||||
# Check upper and lower height.
|
||||
if delta.y > max_height:
|
||||
delta.y = max_height
|
||||
if delta.y < min_height:
|
||||
delta.y = min_height
|
||||
|
||||
# Check autoturn.
|
||||
var ds = PhysicsServer.space_get_direct_state(get_world().get_space())
|
||||
|
||||
var col_left = ds.intersect_ray(target, target + Basis(Vector3.UP, deg2rad(autoturn_ray_aperture)).xform(delta), collision_exception)
|
||||
var col = ds.intersect_ray(target, target + delta, collision_exception)
|
||||
var col_right = ds.intersect_ray(target, target + Basis(Vector3.UP, deg2rad(-autoturn_ray_aperture)).xform(delta), collision_exception)
|
||||
|
||||
if !col.empty():
|
||||
# If main ray was occluded, get camera closer, this is the worst case scenario.
|
||||
delta = col.position - target
|
||||
elif !col_left.empty() and col_right.empty():
|
||||
# If only left ray is occluded, turn the camera around to the right.
|
||||
delta = Basis(Vector3.UP, deg2rad(-dt * autoturn_speed)).xform(delta)
|
||||
elif col_left.empty() and !col_right.empty():
|
||||
# If only right ray is occluded, turn the camera around to the left.
|
||||
delta = Basis(Vector3.UP, deg2rad(dt *autoturn_speed)).xform(delta)
|
||||
# Do nothing otherwise, left and right are occluded but center is not, so do not autoturn.
|
||||
|
||||
# Apply lookat.
|
||||
if delta == Vector3():
|
||||
delta = (pos - target).normalized() * 0.0001
|
||||
|
||||
pos = target + delta
|
||||
|
||||
look_at_from_position(pos, target, Vector3.UP)
|
||||
|
||||
# Turn a little up or down.
|
||||
var t = get_transform()
|
||||
t.basis = Basis(t.basis[0], deg2rad(angle_v_adjust)) * t.basis
|
||||
set_transform(t)
|
||||
|
||||
@@ -1,110 +1,68 @@
|
||||
|
||||
extends KinematicBody
|
||||
|
||||
# Member variables
|
||||
const ANIM_FLOOR = 0
|
||||
const ANIM_AIR_UP = 1
|
||||
const ANIM_AIR_DOWN = 2
|
||||
|
||||
const SHOOT_TIME = 1.5
|
||||
const SHOOT_SCALE = 2
|
||||
|
||||
const CHAR_SCALE = Vector3(0.3, 0.3, 0.3)
|
||||
const TURN_SPEED = 40
|
||||
|
||||
var facing_dir = Vector3(1, 0, 0)
|
||||
var facing_dir = Vector3.RIGHT
|
||||
var movement_dir = Vector3()
|
||||
var linear_velocity = Vector3()
|
||||
|
||||
var jumping = false
|
||||
|
||||
var turn_speed = 40
|
||||
var keep_jump_inertia = true
|
||||
var air_idle_deaccel = false
|
||||
var accel = 19.0
|
||||
var deaccel = 14.0
|
||||
var sharp_turn_threshold = 140
|
||||
|
||||
var max_speed = 3.1
|
||||
|
||||
var prev_shoot = false
|
||||
|
||||
var linear_velocity=Vector3()
|
||||
|
||||
var shoot_blend = 0
|
||||
|
||||
func adjust_facing(p_facing, p_target, p_step, p_adjust_rate, current_gn):
|
||||
var n = p_target # Normal
|
||||
var t = n.cross(current_gn).normalized()
|
||||
|
||||
var x = n.dot(p_facing)
|
||||
var y = t.dot(p_facing)
|
||||
|
||||
var ang = atan2(y,x)
|
||||
|
||||
if abs(ang) < 0.001: # Too small
|
||||
return p_facing
|
||||
|
||||
var s = sign(ang)
|
||||
ang = ang * s
|
||||
var turn = ang * p_adjust_rate * p_step
|
||||
var a
|
||||
if ang < turn:
|
||||
a = ang
|
||||
else:
|
||||
a = turn
|
||||
ang = (ang - a) * s
|
||||
|
||||
return (n * cos(ang) + t * sin(ang)) * p_facing.length()
|
||||
onready var gravity = ProjectSettings.get_setting("physics/3d/default_gravity") * ProjectSettings.get_setting("physics/3d/default_gravity_vector")
|
||||
|
||||
func _ready():
|
||||
get_node("AnimationTreePlayer").set_active(true)
|
||||
|
||||
|
||||
func _physics_process(delta):
|
||||
|
||||
var lv = linear_velocity
|
||||
var g = Vector3(0, -9.8, 0)
|
||||
|
||||
# var d = 1.0 - delta*state.get_total_density()
|
||||
# if (d < 0):
|
||||
# d = 0
|
||||
lv += g * delta # Apply gravity
|
||||
linear_velocity += gravity * delta
|
||||
|
||||
var anim = ANIM_FLOOR
|
||||
|
||||
var up = -g.normalized() # (up is against gravity)
|
||||
var vv = up.dot(lv) # Vertical velocity
|
||||
var hv = lv - up * vv # Horizontal velocity
|
||||
var vv = linear_velocity.y # Vertical velocity.
|
||||
var hv = Vector3(linear_velocity.x, 0, linear_velocity.z) # Horizontal velocity.
|
||||
|
||||
var hdir = hv.normalized() # Horizontal direction
|
||||
var hspeed = hv.length() # Horizontal speed
|
||||
var hdir = hv.normalized() # Horizontal direction.
|
||||
var hspeed = hv.length() # Horizontal speed.
|
||||
|
||||
var dir = Vector3() # Where does the player intend to walk to
|
||||
var cam_xform = get_node("Target/Camera").get_global_transform()
|
||||
|
||||
if Input.is_action_pressed("move_forward"):
|
||||
dir += -cam_xform.basis[2]
|
||||
if Input.is_action_pressed("move_backwards"):
|
||||
dir += cam_xform.basis[2]
|
||||
if Input.is_action_pressed("move_left"):
|
||||
dir += -cam_xform.basis[0]
|
||||
if Input.is_action_pressed("move_right"):
|
||||
dir += cam_xform.basis[0]
|
||||
# Player input
|
||||
var cam_basis = get_node("Target/Camera").get_global_transform().basis
|
||||
var dir = Vector3() # Where does the player intend to walk to.
|
||||
dir = Input.get_action_strength("move_right") * cam_basis[0]
|
||||
dir -= Input.get_action_strength("move_left") * cam_basis[0]
|
||||
dir += Input.get_action_strength("move_backwards") * cam_basis[2]
|
||||
dir -= Input.get_action_strength("move_forward") * cam_basis[2]
|
||||
dir.y = 0
|
||||
dir = dir.normalized()
|
||||
|
||||
var jump_attempt = Input.is_action_pressed("jump")
|
||||
var shoot_attempt = Input.is_action_pressed("shoot")
|
||||
|
||||
var target_dir = (dir - up * dir.dot(up)).normalized()
|
||||
|
||||
if is_on_floor():
|
||||
var sharp_turn = hspeed > 0.1 and rad2deg(acos(target_dir.dot(hdir))) > sharp_turn_threshold
|
||||
var sharp_turn = hspeed > 0.1 and rad2deg(acos(dir.dot(hdir))) > sharp_turn_threshold
|
||||
|
||||
if dir.length() > 0.1 and !sharp_turn:
|
||||
if hspeed > 0.001:
|
||||
#linear_dir = linear_h_velocity/linear_vel
|
||||
#if (linear_vel > brake_velocity_limit and linear_dir.dot(ctarget_dir) < -cos(Math::deg2rad(brake_angular_limit)))
|
||||
# brake = true
|
||||
#else
|
||||
hdir = adjust_facing(hdir, target_dir, delta, 1.0 / hspeed * turn_speed, up)
|
||||
hdir = adjust_facing(hdir, dir, delta, 1.0 / hspeed * TURN_SPEED, Vector3.UP)
|
||||
facing_dir = hdir
|
||||
else:
|
||||
hdir = target_dir
|
||||
hdir = dir
|
||||
|
||||
if hspeed < max_speed:
|
||||
hspeed += accel * delta
|
||||
@@ -117,11 +75,11 @@ func _physics_process(delta):
|
||||
|
||||
var mesh_xform = get_node("Armature").get_transform()
|
||||
var facing_mesh = -mesh_xform.basis[0].normalized()
|
||||
facing_mesh = (facing_mesh - up * facing_mesh.dot(up)).normalized()
|
||||
facing_mesh = (facing_mesh - Vector3.UP * facing_mesh.dot(Vector3.UP)).normalized()
|
||||
|
||||
if hspeed>0:
|
||||
facing_mesh = adjust_facing(facing_mesh, target_dir, delta, 1.0/hspeed*turn_speed, up)
|
||||
var m3 = Basis(-facing_mesh, up, -facing_mesh.cross(up).normalized()).scaled(CHAR_SCALE)
|
||||
if hspeed > 0:
|
||||
facing_mesh = adjust_facing(facing_mesh, dir, delta, 1.0 / hspeed * TURN_SPEED, Vector3.UP)
|
||||
var m3 = Basis(-facing_mesh, Vector3.UP, -facing_mesh.cross(Vector3.UP).normalized()).scaled(CHAR_SCALE)
|
||||
|
||||
get_node("Armature").set_transform(Transform(m3, mesh_xform.origin))
|
||||
|
||||
@@ -135,14 +93,13 @@ func _physics_process(delta):
|
||||
else:
|
||||
anim = ANIM_AIR_DOWN
|
||||
|
||||
# var hs
|
||||
if dir.length() > 0.1:
|
||||
hv += target_dir * (accel * 0.2) * delta
|
||||
if (hv.length() > max_speed):
|
||||
hv = hv.normalized()*max_speed
|
||||
hv += dir * (accel * 0.2 * delta)
|
||||
if hv.length() > max_speed:
|
||||
hv = hv.normalized() * max_speed
|
||||
else:
|
||||
if air_idle_deaccel:
|
||||
hspeed = hspeed - (deaccel * 0.2) * delta
|
||||
hspeed = hspeed - (deaccel * 0.2 * delta)
|
||||
if hspeed < 0:
|
||||
hspeed = 0
|
||||
hv = hdir * hspeed
|
||||
@@ -150,12 +107,12 @@ func _physics_process(delta):
|
||||
if jumping and vv < 0:
|
||||
jumping = false
|
||||
|
||||
lv = hv + up*vv
|
||||
linear_velocity = hv + Vector3.UP * vv
|
||||
|
||||
if is_on_floor():
|
||||
movement_dir = lv
|
||||
movement_dir = linear_velocity
|
||||
|
||||
linear_velocity = move_and_slide(lv,-g.normalized())
|
||||
linear_velocity = move_and_slide(linear_velocity, -gravity.normalized())
|
||||
|
||||
if shoot_blend > 0:
|
||||
shoot_blend -= delta * SHOOT_SCALE
|
||||
@@ -168,7 +125,7 @@ func _physics_process(delta):
|
||||
bullet.set_transform(get_node("Armature/Bullet").get_global_transform().orthonormalized())
|
||||
get_parent().add_child(bullet)
|
||||
bullet.set_linear_velocity(get_node("Armature/Bullet").get_global_transform().basis[2].normalized() * 20)
|
||||
bullet.add_collision_exception_with(self) # Add it to bullet
|
||||
bullet.add_collision_exception_with(self) # Add it to bullet.
|
||||
get_node("SoundShoot").play()
|
||||
|
||||
prev_shoot = shoot_attempt
|
||||
@@ -178,8 +135,28 @@ func _physics_process(delta):
|
||||
|
||||
get_node("AnimationTreePlayer").transition_node_set_current("state", anim)
|
||||
get_node("AnimationTreePlayer").blend2_node_set_amount("gun", min(shoot_blend, 1.0))
|
||||
# state.set_angular_velocity(Vector3())
|
||||
|
||||
|
||||
func _ready():
|
||||
get_node("AnimationTreePlayer").set_active(true)
|
||||
func adjust_facing(p_facing, p_target, p_step, p_adjust_rate, current_gn):
|
||||
var n = p_target # Normal.
|
||||
var t = n.cross(current_gn).normalized()
|
||||
|
||||
var x = n.dot(p_facing)
|
||||
var y = t.dot(p_facing)
|
||||
|
||||
var ang = atan2(y,x)
|
||||
|
||||
if abs(ang) < 0.001: # Too small.
|
||||
return p_facing
|
||||
|
||||
var s = sign(ang)
|
||||
ang = ang * s
|
||||
var turn = ang * p_adjust_rate * p_step
|
||||
var a
|
||||
if ang < turn:
|
||||
a = ang
|
||||
else:
|
||||
a = turn
|
||||
ang = (ang - a) * s
|
||||
|
||||
return (n * cos(ang) + t * sin(ang)) * p_facing.length()
|
||||
|
||||
@@ -1828,12 +1828,18 @@ data = {
|
||||
"type": "animation"
|
||||
}, {
|
||||
"blend": 1.0,
|
||||
"filter": [ NodePath("Armature/Skeleton:r-leg"), NodePath("Armature/Skeleton:r-foot"), NodePath("Armature/Skeleton:r-LEGORIENT"), NodePath("Armature/Skeleton:r-LEGCONTROL"), NodePath("Armature/Skeleton:r-ARMORIENT"), NodePath("Armature/Skeleton:r-ARMCONTROL"), NodePath("Armature/Skeleton:waist"), NodePath("Armature/Skeleton:neck"), NodePath("Armature/Skeleton:l-leg"), NodePath("Armature/Skeleton:l-foot"), NodePath("Armature/Skeleton:hip"), NodePath("Armature/Skeleton:head"), NodePath("Armature/Skeleton:HEAD"), NodePath("Armature/Skeleton:l-LEGORIENT"), NodePath("Armature/Skeleton:l-LEGCONTROL"), NodePath("Armature/Skeleton:l-ARMORIENT"), NodePath("Armature/Skeleton:l-ARMCONTROL"), NodePath("Armature/Skeleton:r-thigh"), NodePath("Armature/Skeleton:MASTER"), NodePath("Armature"), NodePath("Armature/Skeleton:l-thigh"), NodePath("Armature/Skeleton:headtracker") ],
|
||||
"filter": [ NodePath("Armature/Skeleton:r-foot"), NodePath("Armature/Skeleton:r-leg"), NodePath("Armature/Skeleton:waist"), NodePath("Armature/Skeleton:r-ARMCONTROL"), NodePath("Armature/Skeleton:r-ARMORIENT"), NodePath("Armature/Skeleton:r-LEGCONTROL"), NodePath("Armature/Skeleton:r-LEGORIENT"), NodePath("Armature/Skeleton:hip"), NodePath("Armature/Skeleton:l-foot"), NodePath("Armature/Skeleton:l-leg"), NodePath("Armature/Skeleton:neck"), NodePath("Armature/Skeleton:l-ARMCONTROL"), NodePath("Armature/Skeleton:l-ARMORIENT"), NodePath("Armature/Skeleton:l-LEGCONTROL"), NodePath("Armature/Skeleton:l-LEGORIENT"), NodePath("Armature/Skeleton:HEAD"), NodePath("Armature/Skeleton:head"), NodePath("Armature/Skeleton:r-thigh"), NodePath("Armature/Skeleton:MASTER"), NodePath("Armature/Skeleton:l-thigh"), NodePath("Armature"), NodePath("Armature/Skeleton:headtracker") ],
|
||||
"id": "gun",
|
||||
"position": Vector2( 779, 489 ),
|
||||
"type": "blend2"
|
||||
}, {
|
||||
"filter": [ ],
|
||||
"from": "walk-cycle",
|
||||
"id": "anim 2",
|
||||
"position": Vector2( 44, 202 ),
|
||||
"type": "animation"
|
||||
}, {
|
||||
"filter": [ ],
|
||||
"from": "falling-cycle",
|
||||
"id": "anim 4",
|
||||
"position": Vector2( 46, 419 ),
|
||||
@@ -1844,12 +1850,6 @@ data = {
|
||||
"id": "walk",
|
||||
"position": Vector2( 309, 182 ),
|
||||
"type": "blend2"
|
||||
}, {
|
||||
"filter": [ ],
|
||||
"from": "walk-cycle",
|
||||
"id": "anim 2",
|
||||
"position": Vector2( 44, 202 ),
|
||||
"type": "animation"
|
||||
} ]
|
||||
}
|
||||
|
||||
|
||||
@@ -92,31 +92,43 @@ ui_page_down={
|
||||
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,"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,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null)
|
||||
]
|
||||
}
|
||||
move_backwards={
|
||||
"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,"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,"unicode":0,"echo":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,"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,"unicode":0,"echo":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,"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,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null)
|
||||
]
|
||||
}
|
||||
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,"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)
|
||||
]
|
||||
}
|
||||
shoot={
|
||||
"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":90,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":1,"pressed":false,"doubleclick":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":1,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":7,"pressure":0.0,"pressed":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
633
3d/platformer/tiles.tres
Normal file
633
3d/platformer/tiles.tres
Normal file
File diff suppressed because one or more lines are too long
@@ -2,12 +2,11 @@
|
||||
|
||||
[ext_resource path="res://texture.png" type="Texture" id=1]
|
||||
|
||||
[sub_resource type="SpatialMaterial" id=37]
|
||||
[sub_resource type="SpatialMaterial" id=1]
|
||||
params_diffuse_mode = 1
|
||||
roughness = 0.0
|
||||
|
||||
[sub_resource type="ArrayMesh" id=1]
|
||||
resource_name = "Cube.036"
|
||||
[sub_resource type="ArrayMesh" id=2]
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -0.999271, -1.3, -1.63489, 0.696762, 0.3, 0.734894 ),
|
||||
"array_data": PoolByteArray( 238, 182, 102, 188, 40, 188, 0, 60, 85, 43, 83, 0, 24, 58, 174, 52, 158, 185, 102, 188, 51, 187, 0, 60, 27, 45, 115, 0, 114, 58, 214, 52, 158, 185, 204, 188, 51, 187, 0, 60, 27, 211, 115, 0, 110, 58, 8, 53, 238, 182, 204, 188, 40, 188, 0, 60, 85, 213, 83, 0, 16, 58, 237, 52, 215, 180, 204, 188, 51, 189, 0, 60, 115, 211, 26, 0, 146, 59, 7, 53, 112, 182, 51, 189, 51, 189, 0, 60, 88, 168, 23, 0, 153, 59, 100, 53, 112, 182, 51, 189, 137, 190, 0, 60, 89, 167, 0, 0, 82, 59, 105, 53, 215, 180, 204, 188, 137, 190, 0, 60, 117, 208, 0, 0, 81, 59, 13, 53, 238, 182, 204, 188, 40, 188, 0, 60, 85, 213, 83, 0, 244, 59, 8, 53, 5, 184, 51, 189, 102, 188, 0, 60, 65, 170, 66, 0, 235, 59, 104, 53, 215, 180, 102, 188, 51, 189, 0, 60, 115, 45, 26, 0, 146, 59, 201, 52, 215, 180, 102, 188, 137, 190, 0, 60, 117, 48, 0, 0, 81, 59, 194, 52, 238, 182, 102, 188, 40, 188, 0, 60, 85, 43, 83, 0, 243, 59, 191, 52, 158, 185, 51, 189, 0, 188, 0, 60, 24, 169, 88, 0, 96, 58, 83, 53, 5, 184, 51, 189, 102, 188, 0, 60, 65, 170, 66, 0, 26, 58, 67, 53, 5, 184, 0, 188, 102, 188, 0, 60, 41, 112, 41, 0, 23, 58, 98, 52, 158, 185, 0, 188, 0, 188, 0, 60, 14, 114, 53, 0, 114, 58, 146, 52, 112, 182, 0, 188, 137, 190, 0, 60, 48, 117, 0, 0, 84, 59, 101, 52, 112, 182, 0, 188, 51, 189, 0, 60, 53, 114, 14, 0, 154, 59, 114, 52, 5, 184, 0, 188, 102, 188, 0, 60, 41, 112, 41, 0, 231, 59, 95, 52, 5, 184, 0, 188, 51, 189, 0, 60, 0, 127, 0, 0, 162, 59, 47, 52, 209, 184, 0, 188, 204, 188, 0, 60, 0, 127, 0, 0, 209, 59, 3, 52, 209, 184, 0, 188, 204, 188, 0, 60, 0, 127, 0, 0, 70, 58, 35, 52, 158, 185, 0, 188, 102, 188, 0, 60, 0, 127, 0, 0, 113, 58, 93, 52, 5, 184, 0, 188, 137, 190, 0, 60, 0, 127, 0, 0, 87, 59, 22, 52, 5, 184, 0, 188, 137, 190, 0, 60, 0, 127, 0, 0, 62, 59, 219, 47, 254, 187, 0, 188, 138, 190, 0, 60, 0, 127, 0, 0, 180, 58, 219, 47, 254, 187, 0, 188, 102, 188, 0, 60, 0, 127, 0, 0, 180, 58, 65, 50, 5, 184, 0, 188, 51, 189, 0, 60, 0, 127, 0, 0, 62, 59, 98, 49, 209, 184, 0, 188, 204, 188, 0, 60, 0, 127, 0, 0, 35, 59, 210, 49, 158, 185, 0, 188, 102, 188, 0, 60, 0, 127, 0, 0, 7, 59, 65, 50, 254, 187, 102, 188, 51, 187, 0, 60, 0, 48, 117, 0, 187, 58, 220, 52, 254, 187, 204, 188, 51, 187, 0, 60, 0, 208, 117, 0, 185, 58, 20, 53, 254, 187, 51, 189, 0, 188, 0, 60, 0, 167, 89, 0, 182, 58, 88, 53, 254, 187, 0, 188, 0, 188, 0, 60, 0, 117, 48, 0, 189, 58, 155, 52, 254, 187, 0, 188, 102, 188, 0, 60, 0, 127, 0, 0, 192, 58, 101, 52 ),
|
||||
@@ -15,18 +14,17 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 108,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 36
|
||||
}
|
||||
|
||||
[sub_resource type="SpatialMaterial" id=38]
|
||||
[sub_resource type="SpatialMaterial" id=3]
|
||||
params_diffuse_mode = 1
|
||||
albedo_texture = ExtResource( 1 )
|
||||
|
||||
[sub_resource type="ArrayMesh" id=3]
|
||||
resource_name = "Cube.035"
|
||||
[sub_resource type="ArrayMesh" id=4]
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( 0.307282, -1.3, -1.63489, 0.696762, 0.3, 0.734894 ),
|
||||
"array_data": PoolByteArray( 1, 55, 102, 188, 40, 188, 0, 60, 172, 43, 83, 0, 24, 58, 174, 52, 1, 55, 204, 188, 40, 188, 0, 60, 172, 213, 83, 0, 16, 58, 237, 52, 168, 57, 204, 188, 51, 187, 0, 60, 230, 211, 115, 0, 110, 58, 8, 53, 168, 57, 102, 188, 51, 187, 0, 60, 230, 45, 115, 0, 114, 58, 214, 52, 234, 52, 204, 188, 51, 189, 0, 60, 141, 211, 26, 0, 146, 59, 7, 53, 234, 52, 204, 188, 137, 190, 0, 60, 139, 208, 0, 0, 81, 59, 13, 53, 132, 54, 51, 189, 137, 190, 0, 60, 167, 167, 0, 0, 82, 59, 105, 53, 132, 54, 51, 189, 51, 189, 0, 60, 168, 168, 23, 0, 153, 59, 100, 53, 1, 55, 204, 188, 40, 188, 0, 60, 172, 213, 83, 0, 244, 59, 8, 53, 14, 56, 51, 189, 102, 188, 0, 60, 191, 170, 66, 0, 235, 59, 104, 53, 234, 52, 102, 188, 51, 189, 0, 60, 141, 45, 26, 0, 146, 59, 201, 52, 234, 52, 102, 188, 137, 190, 0, 60, 139, 48, 0, 0, 81, 59, 194, 52, 1, 55, 102, 188, 40, 188, 0, 60, 172, 43, 83, 0, 243, 59, 191, 52, 14, 56, 51, 189, 102, 188, 0, 60, 191, 170, 66, 0, 26, 58, 67, 53, 168, 57, 51, 189, 0, 188, 0, 60, 232, 169, 88, 0, 96, 58, 83, 53, 14, 56, 0, 188, 102, 188, 0, 60, 215, 112, 41, 0, 23, 58, 98, 52, 168, 57, 0, 188, 0, 188, 0, 60, 242, 114, 53, 0, 114, 58, 146, 52, 132, 54, 0, 188, 51, 189, 0, 60, 203, 114, 14, 0, 154, 59, 114, 52, 132, 54, 0, 188, 137, 190, 0, 60, 208, 117, 0, 0, 84, 59, 101, 52, 14, 56, 0, 188, 102, 188, 0, 60, 215, 112, 41, 0, 231, 59, 95, 52, 219, 56, 0, 188, 204, 188, 0, 60, 0, 127, 0, 0, 209, 59, 3, 52, 14, 56, 0, 188, 51, 189, 0, 60, 0, 127, 0, 0, 162, 59, 47, 52, 168, 57, 0, 188, 102, 188, 0, 60, 0, 127, 0, 0, 113, 58, 93, 52, 219, 56, 0, 188, 204, 188, 0, 60, 0, 127, 0, 0, 70, 58, 35, 52, 14, 56, 0, 188, 137, 190, 0, 60, 0, 127, 0, 0, 87, 59, 22, 52, 14, 56, 0, 188, 137, 190, 0, 60, 0, 127, 0, 0, 62, 59, 219, 47, 4, 60, 0, 188, 102, 188, 0, 60, 0, 127, 0, 0, 180, 58, 65, 50, 4, 60, 0, 188, 138, 190, 0, 60, 0, 127, 0, 0, 180, 58, 219, 47, 14, 56, 0, 188, 51, 189, 0, 60, 0, 127, 0, 0, 62, 59, 98, 49, 219, 56, 0, 188, 204, 188, 0, 60, 0, 127, 0, 0, 35, 59, 210, 49, 168, 57, 0, 188, 102, 188, 0, 60, 0, 127, 0, 0, 7, 59, 65, 50, 4, 60, 204, 188, 51, 187, 0, 60, 0, 208, 117, 0, 185, 58, 20, 53, 4, 60, 102, 188, 51, 187, 0, 60, 0, 48, 117, 0, 187, 58, 220, 52, 4, 60, 51, 189, 0, 188, 0, 60, 0, 167, 89, 0, 182, 58, 88, 53, 4, 60, 0, 188, 0, 188, 0, 60, 0, 117, 48, 0, 189, 58, 155, 52, 4, 60, 0, 188, 102, 188, 0, 60, 0, 127, 0, 0, 192, 58, 101, 52 ),
|
||||
@@ -34,7 +32,7 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 108,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 36
|
||||
@@ -49,13 +47,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 36,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 16
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=7]
|
||||
[sub_resource type="ArrayMesh" id=6]
|
||||
resource_name = "Cube.031"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -1, -1, -1, 2, 2, 2.00001 ),
|
||||
@@ -64,13 +62,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 12,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 8
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=9]
|
||||
[sub_resource type="ArrayMesh" id=7]
|
||||
resource_name = "Cube.030"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -0.999999, -1, -1, 2, 2, 2 ),
|
||||
@@ -79,13 +77,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 30,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 20
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=11]
|
||||
[sub_resource type="ArrayMesh" id=8]
|
||||
resource_name = "Cube.028"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -0.3, -1, -0.3, 0.6, 2, 0.60001 ),
|
||||
@@ -94,13 +92,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 24,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 16
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=13]
|
||||
[sub_resource type="ArrayMesh" id=9]
|
||||
resource_name = "Cube.026"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -0.3, -1, -0.3, 1.47014, 2, 0.6 ),
|
||||
@@ -109,13 +107,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 204,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 120
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=15]
|
||||
[sub_resource type="ArrayMesh" id=10]
|
||||
resource_name = "Cube.025"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -1, -1, -1, 2, 2, 2 ),
|
||||
@@ -124,13 +122,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 132,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 72
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=17]
|
||||
[sub_resource type="ArrayMesh" id=11]
|
||||
resource_name = "Cube.024"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -1, -1, -1, 2, 1.00136e-05, 2 ),
|
||||
@@ -139,13 +137,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 54,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 15
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=19]
|
||||
[sub_resource type="ArrayMesh" id=12]
|
||||
resource_name = "Cube.023"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -1, -1, -1, 2.00001, 1.00136e-05, 2.00001 ),
|
||||
@@ -154,13 +152,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 6,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 4
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=21]
|
||||
[sub_resource type="ArrayMesh" id=13]
|
||||
resource_name = "Cube.022"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -1, -1, 1, 2, 2, 1.00136e-05 ),
|
||||
@@ -169,13 +167,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 6,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 4
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=23]
|
||||
[sub_resource type="ArrayMesh" id=14]
|
||||
resource_name = "Cube.021"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -1, -1, 1, 2, 2, 1.00136e-05 ),
|
||||
@@ -184,13 +182,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 6,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 4
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=25]
|
||||
[sub_resource type="ArrayMesh" id=15]
|
||||
resource_name = "Cube.020"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -1, -1, -1, 2, 2.00001, 2 ),
|
||||
@@ -199,13 +197,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 42,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 20
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=27]
|
||||
[sub_resource type="ArrayMesh" id=16]
|
||||
resource_name = "Cube.019"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -1.1, -1.3, -1, 2.1, 0.3, 2.10001 ),
|
||||
@@ -214,13 +212,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 162,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 44
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=29]
|
||||
[sub_resource type="ArrayMesh" id=17]
|
||||
resource_name = "Cube.018"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -1, -1.3, -1, 2, 0.30001, 2.1 ),
|
||||
@@ -229,13 +227,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 30,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 12
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=31]
|
||||
[sub_resource type="ArrayMesh" id=18]
|
||||
resource_name = "Cube.016"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -1, -1, -1, 2, 1.00136e-05, 2.00001 ),
|
||||
@@ -244,13 +242,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 6,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 4
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=33]
|
||||
[sub_resource type="ArrayMesh" id=19]
|
||||
resource_name = "Cube.015"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -1, -1, 1, 2, 2, 1.00136e-05 ),
|
||||
@@ -259,13 +257,13 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 6,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 4
|
||||
}
|
||||
|
||||
[sub_resource type="ArrayMesh" id=35]
|
||||
[sub_resource type="ArrayMesh" id=20]
|
||||
resource_name = "Cube.012"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -1, -1, -1, 2, 2.00001, 2 ),
|
||||
@@ -274,7 +272,7 @@ surfaces/0 = {
|
||||
"blend_shape_data": [ ],
|
||||
"format": 98067,
|
||||
"index_count": 36,
|
||||
"material": SubResource( 37 ),
|
||||
"material": SubResource( 1 ),
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 16
|
||||
@@ -285,152 +283,133 @@ __meta__ = {
|
||||
"__editor_plugin_screen__": "Script"
|
||||
}
|
||||
|
||||
[node name="cornerfixr" type="MeshInstance" parent="."]
|
||||
[node name="CornerFixr" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 1, -2 )
|
||||
mesh = SubResource( 1 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 2 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="cornerfixr_col" type="StaticBody" parent="cornerfixr"]
|
||||
[node name="CornerFixrCol" type="StaticBody" parent="CornerFixr"]
|
||||
|
||||
[node name="cornerfix" type="MeshInstance" parent="."]
|
||||
[node name="CornerFix" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 1, -2 )
|
||||
mesh = SubResource( 3 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 4 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="cornerfix_col" type="StaticBody" parent="cornerfix"]
|
||||
[node name="CornerFixCol" type="StaticBody" parent="CornerFix"]
|
||||
|
||||
[node name="ramp" type="MeshInstance" parent="."]
|
||||
[node name="Ramp" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 1, 5 )
|
||||
mesh = SubResource( 5 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="ramp_col" type="StaticBody" parent="ramp"]
|
||||
[node name="RampCol" type="StaticBody" parent="Ramp"]
|
||||
|
||||
[node name="cilingwall" type="MeshInstance" parent="."]
|
||||
[node name="CeilingWall" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 8, 0 )
|
||||
mesh = SubResource( 7 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 6 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="cilingwall_col" type="StaticBody" parent="cilingwall"]
|
||||
[node name="CelingWallCol" type="StaticBody" parent="CeilingWall"]
|
||||
|
||||
[node name="trunkfloor" type="MeshInstance" parent="."]
|
||||
[node name="TrunkFloor" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 4, 0 )
|
||||
mesh = SubResource( 9 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 7 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="trunkfloor_col" type="StaticBody" parent="trunkfloor"]
|
||||
[node name="TrunkFloorCol" type="StaticBody" parent="TrunkFloor"]
|
||||
|
||||
[node name="trunk" type="MeshInstance" parent="."]
|
||||
[node name="Trunk" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 4, 0 )
|
||||
mesh = SubResource( 11 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 8 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="trunk_col" type="StaticBody" parent="trunk"]
|
||||
[node name="TrunkCol" type="StaticBody" parent="Trunk"]
|
||||
|
||||
[node name="trunkdeco" type="MeshInstance" parent="."]
|
||||
[node name="TrunkDeco" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 4, 0 )
|
||||
mesh = SubResource( 13 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 9 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="trunkdeco_col" type="StaticBody" parent="trunkdeco"]
|
||||
[node name="DrunkDecoCol" type="StaticBody" parent="TrunkDeco"]
|
||||
|
||||
[node name="treetop" type="MeshInstance" parent="."]
|
||||
[node name="TreeTop" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 4, 0 )
|
||||
mesh = SubResource( 15 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 10 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="treetop_col" type="StaticBody" parent="treetop"]
|
||||
[node name="TreeTopCol" type="StaticBody" parent="TreeTop"]
|
||||
|
||||
[node name="ceilingcorner" type="MeshInstance" parent="."]
|
||||
[node name="CeilingCorner" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 3, 0 )
|
||||
mesh = SubResource( 17 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 11 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="ceilingcorner_col" type="StaticBody" parent="ceilingcorner"]
|
||||
[node name="CeilingCornerCol" type="StaticBody" parent="CeilingCorner"]
|
||||
|
||||
[node name="ceiling" type="MeshInstance" parent="."]
|
||||
[node name="Ceiling" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 3, 0 )
|
||||
mesh = SubResource( 19 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 12 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="ceiling_col" type="StaticBody" parent="ceiling"]
|
||||
[node name="CeilingCol" type="StaticBody" parent="Ceiling"]
|
||||
|
||||
[node name="wallvar" type="MeshInstance" parent="."]
|
||||
[node name="WallVar" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 4, 0 )
|
||||
mesh = SubResource( 21 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 13 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="wallvar_col" type="StaticBody" parent="wallvar"]
|
||||
[node name="WallVarCol" type="StaticBody" parent="WallVar"]
|
||||
|
||||
[node name="Sun" type="DirectionalLight" parent="."]
|
||||
transform = Transform( 0.857622, 0.156623, -0.489851, 0.253967, 0.699272, 0.668221, 0.447198, -0.697487, 0.559934, -4.80758, 1.11554, 0.539132 )
|
||||
|
||||
[node name="wallfloor" type="MeshInstance" parent="."]
|
||||
[node name="WallFloor" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 1, 0 )
|
||||
mesh = SubResource( 23 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 14 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="wallfloor_col" type="StaticBody" parent="wallfloor"]
|
||||
[node name="WallFloorCollider" type="StaticBody" parent="WallFloor"]
|
||||
|
||||
[node name="cornerfloor" type="MeshInstance" parent="."]
|
||||
[node name="CornerFloor" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1, 0 )
|
||||
mesh = SubResource( 25 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 15 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="cornerfloor_col" type="StaticBody" parent="cornerfloor"]
|
||||
[node name="CornerFloorCol" type="StaticBody" parent="CornerFloor"]
|
||||
|
||||
[node name="floorcorner" type="MeshInstance" parent="."]
|
||||
[node name="FloorCorner" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 1, 0 )
|
||||
mesh = SubResource( 27 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 16 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="floorcorner_col" type="StaticBody" parent="floorcorner"]
|
||||
[node name="FloorCornerCol" type="StaticBody" parent="FloorCorner"]
|
||||
|
||||
[node name="flooredge" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 1, 0 )
|
||||
mesh = SubResource( 29 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 17 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="flooredge_col" type="StaticBody" parent="flooredge"]
|
||||
[node name="FloorEdgeCol" type="StaticBody" parent="flooredge"]
|
||||
|
||||
[node name="floor" type="MeshInstance" parent="."]
|
||||
[node name="Floor" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 1, 0 )
|
||||
mesh = SubResource( 31 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 18 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="floor_col" type="StaticBody" parent="floor"]
|
||||
[node name="FloorCol" type="StaticBody" parent="Floor"]
|
||||
|
||||
[node name="wall" type="MeshInstance" parent="."]
|
||||
[node name="Wall" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1, 0 )
|
||||
mesh = SubResource( 33 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 19 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="wall_col" type="StaticBody" parent="wall"]
|
||||
[node name="WallCol" type="StaticBody" parent="Wall"]
|
||||
|
||||
[node name="corner" type="MeshInstance" parent="."]
|
||||
[node name="Corner" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 )
|
||||
mesh = SubResource( 35 )
|
||||
skeleton = NodePath("..:")
|
||||
material/0 = SubResource( 38 )
|
||||
mesh = SubResource( 20 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
[node name="corner_col" type="StaticBody" parent="corner"]
|
||||
[node name="CornerCol" type="StaticBody" parent="Corner"]
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
root_node = NodePath("..:")
|
||||
|
||||
Reference in New Issue
Block a user