Initial Public Commit
14
LICENSE.md
Normal file
@@ -0,0 +1,14 @@
|
||||
All assets (C) 2018 Juan Linietsky, Fernando Miguel Calabró
|
||||
Distributed under the terms of the Creative Commons Attribution License
|
||||
version 3.0 (CC-BY 3.0) <https://creativecommons.org/licenses/by/3.0/legalcode>.
|
||||
|
||||
|
||||
Code under MIT License:
|
||||
|
||||
Copyright 2018 Juan Linietsky
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
|
||||
Third person shooter demo made using Godot, make sure to update to latest
|
||||
HEAD to test.
|
||||
51
default_bus_layout.tres
Normal file
@@ -0,0 +1,51 @@
|
||||
[gd_resource type="AudioBusLayout" load_steps=3 format=2]
|
||||
|
||||
[sub_resource type="AudioEffectReverb" id=1]
|
||||
|
||||
resource_name = "Reverb"
|
||||
predelay_msec = 150.0
|
||||
predelay_feedback = 0.4
|
||||
room_size = 0.98
|
||||
damping = 0.5
|
||||
spread = 1.0
|
||||
hipass = 0.42
|
||||
dry = 1.0
|
||||
wet = 0.29
|
||||
|
||||
[sub_resource type="AudioEffectReverb" id=2]
|
||||
|
||||
resource_name = "Reverb"
|
||||
predelay_msec = 150.0
|
||||
predelay_feedback = 0.4
|
||||
room_size = 0.74
|
||||
damping = 0.5
|
||||
spread = 1.0
|
||||
hipass = 0.14
|
||||
dry = 1.0
|
||||
wet = 0.56
|
||||
|
||||
[resource]
|
||||
|
||||
bus/0/name = "Master"
|
||||
bus/0/solo = false
|
||||
bus/0/mute = false
|
||||
bus/0/bypass_fx = false
|
||||
bus/0/volume_db = 0.0
|
||||
bus/0/send = ""
|
||||
bus/1/name = "Outside"
|
||||
bus/1/solo = false
|
||||
bus/1/mute = false
|
||||
bus/1/bypass_fx = false
|
||||
bus/1/volume_db = 0.0
|
||||
bus/1/send = "Master"
|
||||
bus/1/effect/0/effect = SubResource( 1 )
|
||||
bus/1/effect/0/enabled = true
|
||||
bus/2/name = "Reactor"
|
||||
bus/2/solo = false
|
||||
bus/2/mute = false
|
||||
bus/2/bypass_fx = false
|
||||
bus/2/volume_db = 0.0
|
||||
bus/2/send = "Master"
|
||||
bus/2/effect/0/effect = SubResource( 2 )
|
||||
bus/2/effect/0/enabled = true
|
||||
|
||||
102
default_env.tres
Normal file
@@ -0,0 +1,102 @@
|
||||
[gd_resource type="Environment" load_steps=2 format=2]
|
||||
|
||||
[sub_resource type="ProceduralSky" id=1]
|
||||
|
||||
radiance_size = 4
|
||||
sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
|
||||
sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
|
||||
sky_curve = 0.25
|
||||
sky_energy = 1.0
|
||||
ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
|
||||
ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
|
||||
ground_curve = 0.01
|
||||
ground_energy = 1.0
|
||||
sun_color = Color( 1, 1, 1, 1 )
|
||||
sun_latitude = 35.0
|
||||
sun_longitude = 0.0
|
||||
sun_angle_min = 1.0
|
||||
sun_angle_max = 100.0
|
||||
sun_curve = 0.05
|
||||
sun_energy = 16.0
|
||||
texture_size = 2
|
||||
|
||||
[resource]
|
||||
|
||||
background_mode = 2
|
||||
background_sky = SubResource( 1 )
|
||||
background_sky_custom_fov = 0.0
|
||||
background_color = Color( 0, 0, 0, 1 )
|
||||
background_energy = 1.0
|
||||
background_canvas_max_layer = 0
|
||||
ambient_light_color = Color( 0, 0, 0, 1 )
|
||||
ambient_light_energy = 1.0
|
||||
ambient_light_sky_contribution = 1.0
|
||||
fog_enabled = false
|
||||
fog_color = Color( 0.5, 0.6, 0.7, 1 )
|
||||
fog_sun_color = Color( 1, 0.9, 0.7, 1 )
|
||||
fog_sun_amount = 0.0
|
||||
fog_depth_enabled = true
|
||||
fog_depth_begin = 10.0
|
||||
fog_depth_curve = 1.0
|
||||
fog_transmit_enabled = false
|
||||
fog_transmit_curve = 1.0
|
||||
fog_height_enabled = false
|
||||
fog_height_min = 0.0
|
||||
fog_height_max = 100.0
|
||||
fog_height_curve = 1.0
|
||||
tonemap_mode = 0
|
||||
tonemap_exposure = 1.0
|
||||
tonemap_white = 1.0
|
||||
auto_exposure_enabled = false
|
||||
auto_exposure_scale = 0.4
|
||||
auto_exposure_min_luma = 0.05
|
||||
auto_exposure_max_luma = 8.0
|
||||
auto_exposure_speed = 0.5
|
||||
ss_reflections_enabled = false
|
||||
ss_reflections_max_steps = 64
|
||||
ss_reflections_fade_in = 0.15
|
||||
ss_reflections_fade_out = 2.0
|
||||
ss_reflections_depth_tolerance = 0.2
|
||||
ss_reflections_roughness = true
|
||||
ssao_enabled = false
|
||||
ssao_radius = 1.0
|
||||
ssao_intensity = 1.0
|
||||
ssao_radius2 = 0.0
|
||||
ssao_intensity2 = 1.0
|
||||
ssao_bias = 0.01
|
||||
ssao_light_affect = 0.0
|
||||
ssao_ao_channel_affect = 0.0
|
||||
ssao_color = Color( 0, 0, 0, 1 )
|
||||
ssao_quality = 0
|
||||
ssao_blur = 3
|
||||
ssao_edge_sharpness = 4.0
|
||||
dof_blur_far_enabled = false
|
||||
dof_blur_far_distance = 10.0
|
||||
dof_blur_far_transition = 5.0
|
||||
dof_blur_far_amount = 0.1
|
||||
dof_blur_far_quality = 1
|
||||
dof_blur_near_enabled = false
|
||||
dof_blur_near_distance = 2.0
|
||||
dof_blur_near_transition = 1.0
|
||||
dof_blur_near_amount = 0.1
|
||||
dof_blur_near_quality = 1
|
||||
glow_enabled = false
|
||||
glow_levels/1 = false
|
||||
glow_levels/2 = false
|
||||
glow_levels/3 = true
|
||||
glow_levels/4 = false
|
||||
glow_levels/5 = true
|
||||
glow_levels/6 = false
|
||||
glow_levels/7 = false
|
||||
glow_intensity = 0.8
|
||||
glow_strength = 1.0
|
||||
glow_bloom = 0.0
|
||||
glow_blend_mode = 2
|
||||
glow_hdr_threshold = 1.0
|
||||
glow_hdr_scale = 2.0
|
||||
glow_bicubic_upscale = false
|
||||
adjustment_enabled = false
|
||||
adjustment_brightness = 1.0
|
||||
adjustment_contrast = 1.0
|
||||
adjustment_saturation = 1.0
|
||||
|
||||
3
door/DoorSimple.blend
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1bae7d42bfab03d1fbe9dfe375f8238d0960e6b9aecef86cd01329e34407f332
|
||||
size 8095580
|
||||
3
door/DoorSimple.dae
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:305cdf1f75c453f728b994ad321d3dda2334611556547dc8dfd379fc4ee600a5
|
||||
size 6416474
|
||||
1062
door/DoorSimple.dae.import
Normal file
21
door/door.gd
Normal file
@@ -0,0 +1,21 @@
|
||||
extends Area
|
||||
|
||||
# class member variables go here, for example:
|
||||
# var a = 2
|
||||
# var b = "textvar"
|
||||
var open = false
|
||||
func _ready():
|
||||
# Called when the node is added to the scene for the first time.
|
||||
# Initialization here.
|
||||
pass
|
||||
|
||||
#func _process(delta):
|
||||
# # Called every frame. Delta is time since last frame.
|
||||
# # Update game logic here.
|
||||
# pass
|
||||
|
||||
|
||||
func _on_door_body_entered(body):
|
||||
if (not open and body is preload("res://player/player.gd")):
|
||||
$"Scene Root/AnimationPlayer".play("doorsimple_opening")
|
||||
open = true
|
||||
BIN
door/door.material
Normal file
74
door/door.tscn
Normal file
@@ -0,0 +1,74 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://door/door.gd" type="Script" id=1]
|
||||
[ext_resource path="res://door/DoorSimple.dae" type="PackedScene" id=2]
|
||||
[ext_resource path="res://door/open_close.wav" type="AudioStream" id=3]
|
||||
|
||||
[sub_resource type="BoxShape" id=1]
|
||||
|
||||
extents = Vector3( 4.42643, 3.10445, 5.53322 )
|
||||
|
||||
[node name="door" type="Area" index="0"]
|
||||
input_ray_pickable = false
|
||||
input_capture_on_drag = false
|
||||
space_override = 0
|
||||
gravity_point = false
|
||||
gravity_distance_scale = 0.0
|
||||
gravity_vec = Vector3( 0, -1, 0 )
|
||||
gravity = 9.8
|
||||
linear_damp = 0.1
|
||||
angular_damp = 1.0
|
||||
priority = 0.0
|
||||
monitoring = true
|
||||
monitorable = true
|
||||
collision_layer = 1
|
||||
collision_mask = 1
|
||||
audio_bus_override = false
|
||||
audio_bus_name = "Master"
|
||||
reverb_bus_enable = false
|
||||
reverb_bus_name = "Master"
|
||||
reverb_bus_amount = 0.0
|
||||
reverb_bus_uniformity = 0.0
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Scene Root" parent="." index="0" instance=ExtResource( 2 )]
|
||||
|
||||
[node name="shape" parent="Scene Root/armature-doorsimple/Skeleton/doorleft" index="0"]
|
||||
disabled = true
|
||||
|
||||
[node name="shape" parent="Scene Root/armature-doorsimple/Skeleton/doorlower" index="0"]
|
||||
disabled = true
|
||||
|
||||
[node name="shape" parent="Scene Root/armature-doorsimple/Skeleton/doorright" index="0"]
|
||||
disabled = true
|
||||
|
||||
[node name="shape" parent="Scene Root/armature-doorsimple/Skeleton/doorupper" index="0"]
|
||||
disabled = true
|
||||
|
||||
[node name="sound" type="AudioStreamPlayer3D" parent="." index="1"]
|
||||
stream = ExtResource( 3 )
|
||||
attenuation_model = 0
|
||||
unit_db = 4.0
|
||||
unit_size = 7.0
|
||||
max_db = 3.0
|
||||
pitch_scale = 1.0
|
||||
autoplay = false
|
||||
max_distance = 0.0
|
||||
out_of_range_mode = 0
|
||||
bus = "Master"
|
||||
area_mask = 1
|
||||
emission_angle_enabled = false
|
||||
emission_angle_degrees = 45.0
|
||||
emission_angle_filter_attenuation_db = -12.0
|
||||
attenuation_filter_cutoff_hz = 5000.0
|
||||
attenuation_filter_db = -24.0
|
||||
doppler_tracking = 0
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="." index="2"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.55109, 0 )
|
||||
shape = SubResource( 1 )
|
||||
disabled = false
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_door_body_entered"]
|
||||
|
||||
[editable path="Scene Root"]
|
||||
BIN
door/door_unlockedemission.material
Normal file
BIN
door/doorsimple_closed-cycle.anim
Normal file
BIN
door/doorsimple_closing.anim
Normal file
BIN
door/doorsimple_d.png
Normal file
|
After Width: | Height: | Size: 2.5 MiB |
30
door/doorsimple_d.png.import
Normal file
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/doorsimple_d.png-02a92a8ec0b85a36527038536e169143.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://door/doorsimple_d.png"
|
||||
dest_files=[ "res://.import/doorsimple_d.png-02a92a8ec0b85a36527038536e169143.s3tc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=1
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
BIN
door/doorsimple_e.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
30
door/doorsimple_e.png.import
Normal file
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/doorsimple_e.png-2c89b898ef55e96675401008e28dcb82.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://door/doorsimple_e.png"
|
||||
dest_files=[ "res://.import/doorsimple_e.png-2c89b898ef55e96675401008e28dcb82.s3tc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=1
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
BIN
door/doorsimple_n.png
Normal file
|
After Width: | Height: | Size: 2.8 MiB |
30
door/doorsimple_n.png.import
Normal file
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/doorsimple_n.png-0d2eaeddd75a8b0673d35149669ce64b.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://door/doorsimple_n.png"
|
||||
dest_files=[ "res://.import/doorsimple_n.png-0d2eaeddd75a8b0673d35149669ce64b.s3tc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/normal_map=1
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
BIN
door/doorsimple_open-cycle.anim
Normal file
BIN
door/doorsimple_opening.anim
Normal file
BIN
door/doorsimple_orm.png
Normal file
|
After Width: | Height: | Size: 3.2 MiB |
30
door/doorsimple_orm.png.import
Normal file
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/doorsimple_orm.png-af0bc78b1b2313b4d92440720608aac1.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://door/doorsimple_orm.png"
|
||||
dest_files=[ "res://.import/doorsimple_orm.png-af0bc78b1b2313b4d92440720608aac1.s3tc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
BIN
door/open_close.wav
Normal file
21
door/open_close.wav.import
Normal file
@@ -0,0 +1,21 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/open_close.wav-15c93b82a463a1fe63bbc03e48e48393.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://door/open_close.wav"
|
||||
dest_files=[ "res://.import/open_close.wav-15c93b82a463a1fe63bbc03e48e48393.sample" ]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=true
|
||||
edit/normalize=true
|
||||
edit/loop=false
|
||||
compress/mode=0
|
||||
BIN
enemies/red_robot/Cannon-D.anim
Normal file
BIN
enemies/red_robot/Cannon-L.anim
Normal file
BIN
enemies/red_robot/Cannon-N.anim
Normal file
BIN
enemies/red_robot/Cannon-R.anim
Normal file
BIN
enemies/red_robot/Cannon-U.anim
Normal file
BIN
enemies/red_robot/Cannon_Fire_Recoil.anim
Normal file
BIN
enemies/red_robot/Damage_heavy.anim
Normal file
BIN
enemies/red_robot/Damage_take1.anim
Normal file
BIN
enemies/red_robot/Damage_take2.anim
Normal file
BIN
enemies/red_robot/EvilRobo-BaseColor.png
Normal file
|
After Width: | Height: | Size: 4.1 MiB |
30
enemies/red_robot/EvilRobo-BaseColor.png.import
Normal file
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/EvilRobo-BaseColor.png-e1a7e1393d4f8b785136b1fbae2e632c.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/red_robot/EvilRobo-BaseColor.png"
|
||||
dest_files=[ "res://.import/EvilRobo-BaseColor.png-e1a7e1393d4f8b785136b1fbae2e632c.s3tc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=1
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
BIN
enemies/red_robot/EvilRobo-Emission.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
30
enemies/red_robot/EvilRobo-Emission.png.import
Normal file
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/EvilRobo-Emission.png-8b8c030f004b03fff60873854fc9de85.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/red_robot/EvilRobo-Emission.png"
|
||||
dest_files=[ "res://.import/EvilRobo-Emission.png-8b8c030f004b03fff60873854fc9de85.s3tc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=1
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
BIN
enemies/red_robot/EvilRobo-Normal.png
Normal file
|
After Width: | Height: | Size: 4.0 MiB |
30
enemies/red_robot/EvilRobo-Normal.png.import
Normal file
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/EvilRobo-Normal.png-c927264fda0350a21978f9019c9db2ff.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/red_robot/EvilRobo-Normal.png"
|
||||
dest_files=[ "res://.import/EvilRobo-Normal.png-c927264fda0350a21978f9019c9db2ff.s3tc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/normal_map=1
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
BIN
enemies/red_robot/EvilRobo-RoughnessOclussionMetallic.png
Normal file
|
After Width: | Height: | Size: 5.2 MiB |
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/EvilRobo-RoughnessOclussionMetallic.png-e94fd7ce8f28808e2da30e4fc7c3185a.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/red_robot/EvilRobo-RoughnessOclussionMetallic.png"
|
||||
dest_files=[ "res://.import/EvilRobo-RoughnessOclussionMetallic.png-e94fd7ce8f28808e2da30e4fc7c3185a.s3tc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
BIN
enemies/red_robot/EvilRobo.material
Normal file
BIN
enemies/red_robot/Idle-Eyes.anim
Normal file
BIN
enemies/red_robot/Idle-cycle.anim
Normal file
BIN
enemies/red_robot/Material_001.material
Normal file
BIN
enemies/red_robot/ShadelessBlack.material
Normal file
BIN
enemies/red_robot/TurnLeft-cycle.anim
Normal file
BIN
enemies/red_robot/TurnRight-cycle.anim
Normal file
BIN
enemies/red_robot/Walk-cycle.anim
Normal file
3
enemies/red_robot/badrobot_large.blend
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:35f0f3115c0f3c71383f864c07bc8cadb79dfc2457656628a22f3925be0f7782
|
||||
size 6415012
|
||||
3
enemies/red_robot/badrobot_large.dae
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fea1f2086ecb509611f8fc3aa5e1855c479e19a7771a037bf3deb4ff2b43bcaf
|
||||
size 21126029
|
||||
1062
enemies/red_robot/badrobot_large.dae.import
Normal file
BIN
enemies/red_robot/charge.wav
Normal file
21
enemies/red_robot/charge.wav.import
Normal file
@@ -0,0 +1,21 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/charge.wav-bc1042f7d3f6060630e0ef97e7270950.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/red_robot/charge.wav"
|
||||
dest_files=[ "res://.import/charge.wav-bc1042f7d3f6060630e0ef97e7270950.sample" ]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=true
|
||||
edit/normalize=true
|
||||
edit/loop=false
|
||||
compress/mode=0
|
||||
BIN
enemies/red_robot/explosion.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
30
enemies/red_robot/explosion.png.import
Normal file
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/explosion.png-bc8f5e219854bd707f9481ecbca3f8dc.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/red_robot/explosion.png"
|
||||
dest_files=[ "res://.import/explosion.png-bc8f5e219854bd707f9481ecbca3f8dc.s3tc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=1
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
BIN
enemies/red_robot/explosion.wav
Normal file
21
enemies/red_robot/explosion.wav.import
Normal file
@@ -0,0 +1,21 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/explosion.wav-6b181eeaf9022fc7807e78e100923e70.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/red_robot/explosion.wav"
|
||||
dest_files=[ "res://.import/explosion.wav-6b181eeaf9022fc7807e78e100923e70.sample" ]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=true
|
||||
edit/normalize=true
|
||||
edit/loop=false
|
||||
compress/mode=0
|
||||
875
enemies/red_robot/fire.tscn
Normal file
@@ -0,0 +1,875 @@
|
||||
[gd_scene load_steps=49 format=2]
|
||||
|
||||
[ext_resource path="res://enemies/red_robot/red_robot.gd" type="Script" id=1]
|
||||
[ext_resource path="res://enemies/red_robot/badrobot_large.dae" type="PackedScene" id=2]
|
||||
[ext_resource path="res://enemies/red_robot/ray.obj" type="ArrayMesh" id=3]
|
||||
[ext_resource path="res://enemies/red_robot/ray.shader" type="Shader" id=4]
|
||||
[ext_resource path="res://enemies/red_robot/ray_texture.png" type="Texture" id=5]
|
||||
[ext_resource path="res://enemies/red_robot/ray_smoke_texture.png" type="Texture" id=6]
|
||||
[ext_resource path="res://enemies/red_robot/particle.png" type="Texture" id=7]
|
||||
[ext_resource path="res://enemies/red_robot/explosion.png" type="Texture" id=8]
|
||||
[ext_resource path="res://enemies/red_robot/part_shield.obj" type="ArrayMesh" id=9]
|
||||
[ext_resource path="res://enemies/red_robot/EvilRobo.material" type="Material" id=10]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=1]
|
||||
|
||||
render_priority = 0
|
||||
shader = ExtResource( 4 )
|
||||
shader_param/deform = 2.0
|
||||
shader_param/transparency = 0.0
|
||||
shader_param/energy = 1.0
|
||||
shader_param/smoke = 1.0
|
||||
shader_param/clip = 20.0
|
||||
shader_param/ray_texture = ExtResource( 5 )
|
||||
shader_param/smoke_texture = ExtResource( 6 )
|
||||
_sections_unfolded = [ "Shader Param", "shader", "shader_param" ]
|
||||
|
||||
[sub_resource type="Gradient" id=2]
|
||||
|
||||
offsets = PoolRealArray( 0, 0.283019, 1 )
|
||||
colors = PoolColorArray( 1, 1, 1, 0, 1, 1, 1, 0.283019, 1, 1, 1, 1 )
|
||||
|
||||
[sub_resource type="GradientTexture" id=3]
|
||||
|
||||
flags = 4
|
||||
gradient = SubResource( 2 )
|
||||
width = 2048
|
||||
_sections_unfolded = [ "gradient" ]
|
||||
|
||||
[sub_resource type="Curve" id=4]
|
||||
|
||||
min_value = 0.0
|
||||
max_value = 1.0
|
||||
bake_resolution = 100
|
||||
_data = [ Vector2( 0, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 0.5264 ), 0.0, 0.0, 0, 0 ]
|
||||
|
||||
[sub_resource type="CurveTexture" id=5]
|
||||
|
||||
flags = 4
|
||||
width = 2048
|
||||
curve = SubResource( 4 )
|
||||
_sections_unfolded = [ "curve" ]
|
||||
|
||||
[sub_resource type="ParticlesMaterial" id=6]
|
||||
|
||||
render_priority = 0
|
||||
trail_divisor = 6
|
||||
trail_size_modifier = SubResource( 5 )
|
||||
emission_shape = 1
|
||||
emission_sphere_radius = 1.0
|
||||
flag_align_y = false
|
||||
flag_rotate_y = false
|
||||
flag_disable_z = false
|
||||
spread = 45.0
|
||||
flatness = 0.0
|
||||
gravity = Vector3( 0, 0, 0 )
|
||||
initial_velocity = 0.0
|
||||
initial_velocity_random = 0.0
|
||||
angular_velocity = -0.381543
|
||||
angular_velocity_random = 0.0
|
||||
linear_accel = 1.0
|
||||
linear_accel_random = 1.0
|
||||
radial_accel = -1.0
|
||||
radial_accel_random = 0.0
|
||||
tangential_accel = 1.0
|
||||
tangential_accel_random = 0.0
|
||||
damping = 0.0
|
||||
damping_random = 0.0
|
||||
angle = 0.0
|
||||
angle_random = 0.0
|
||||
scale = 0.1
|
||||
scale_random = 0.0
|
||||
color_ramp = SubResource( 3 )
|
||||
hue_variation = 0.0
|
||||
hue_variation_random = 0.0
|
||||
anim_speed = 0.0
|
||||
anim_speed_random = 0.0
|
||||
anim_offset = 0.0
|
||||
anim_offset_random = 0.0
|
||||
anim_loop = false
|
||||
_sections_unfolded = [ "Emission Shape", "Gravity", "Initial Velocity", "Linear Accel", "Radial Accel", "Scale", "Tangential Accel", "Trail", "trail_size_modifier" ]
|
||||
|
||||
[sub_resource type="SpatialMaterial" id=7]
|
||||
|
||||
render_priority = 0
|
||||
flags_transparent = true
|
||||
flags_unshaded = true
|
||||
flags_vertex_lighting = false
|
||||
flags_no_depth_test = false
|
||||
flags_use_point_size = false
|
||||
flags_world_triplanar = false
|
||||
flags_fixed_size = false
|
||||
flags_albedo_tex_force_srgb = false
|
||||
flags_do_not_receive_shadows = false
|
||||
vertex_color_use_as_albedo = true
|
||||
vertex_color_is_srgb = true
|
||||
params_diffuse_mode = 0
|
||||
params_specular_mode = 0
|
||||
params_blend_mode = 1
|
||||
params_cull_mode = 0
|
||||
params_depth_draw_mode = 0
|
||||
params_line_width = 1.0
|
||||
params_point_size = 1.0
|
||||
params_billboard_mode = 3
|
||||
params_grow = false
|
||||
params_use_alpha_scissor = false
|
||||
particles_anim_h_frames = 1
|
||||
particles_anim_v_frames = 1
|
||||
particles_anim_loop = 0
|
||||
albedo_color = Color( 0.870588, 0.294118, 0.294118, 1 )
|
||||
albedo_texture = ExtResource( 7 )
|
||||
metallic = 0.0
|
||||
metallic_specular = 0.5
|
||||
metallic_texture_channel = 0
|
||||
roughness = 0.0
|
||||
roughness_texture_channel = 0
|
||||
emission_enabled = false
|
||||
normal_enabled = false
|
||||
rim_enabled = false
|
||||
clearcoat_enabled = false
|
||||
anisotropy_enabled = false
|
||||
ao_enabled = false
|
||||
depth_enabled = false
|
||||
subsurf_scatter_enabled = false
|
||||
transmission_enabled = false
|
||||
refraction_enabled = false
|
||||
detail_enabled = false
|
||||
uv1_scale = Vector3( 1, 1, 1 )
|
||||
uv1_offset = Vector3( 0, 0, 0 )
|
||||
uv1_triplanar = false
|
||||
uv1_triplanar_sharpness = 1.0
|
||||
uv2_scale = Vector3( 1, 1, 1 )
|
||||
uv2_offset = Vector3( 0, 0, 0 )
|
||||
uv2_triplanar = false
|
||||
uv2_triplanar_sharpness = 1.0
|
||||
proximity_fade_enable = false
|
||||
distance_fade_enable = false
|
||||
_sections_unfolded = [ "Albedo", "Flags", "Parameters", "Vertex Color" ]
|
||||
|
||||
[sub_resource type="QuadMesh" id=8]
|
||||
|
||||
material = SubResource( 7 )
|
||||
custom_aabb = AABB( 0, 0, 0, 0, 0, 0 )
|
||||
flip_faces = false
|
||||
size = Vector2( 1, 1 )
|
||||
|
||||
[sub_resource type="Gradient" id=9]
|
||||
|
||||
offsets = PoolRealArray( 0, 1 )
|
||||
colors = PoolColorArray( 1, 1, 1, 0.961538, 0.960784, 0.960784, 0.960784, 0 )
|
||||
|
||||
[sub_resource type="GradientTexture" id=10]
|
||||
|
||||
flags = 4
|
||||
gradient = SubResource( 9 )
|
||||
width = 2048
|
||||
_sections_unfolded = [ "gradient" ]
|
||||
|
||||
[sub_resource type="Curve" id=11]
|
||||
|
||||
min_value = 0.0
|
||||
max_value = 2.0
|
||||
bake_resolution = 100
|
||||
_data = [ Vector2( 0, 0.3856 ), 0.0, 0.0, 0, 0, Vector2( 0.0612366, 1 ), 0.0, 0.0, 0, 0, Vector2( 0.999703, 1.4752 ), 0.0, 0.0, 0, 0 ]
|
||||
|
||||
[sub_resource type="CurveTexture" id=12]
|
||||
|
||||
flags = 4
|
||||
width = 2048
|
||||
curve = SubResource( 11 )
|
||||
|
||||
[sub_resource type="ParticlesMaterial" id=13]
|
||||
|
||||
render_priority = 0
|
||||
trail_divisor = 1
|
||||
emission_shape = 1
|
||||
emission_sphere_radius = 0.1
|
||||
flag_align_y = false
|
||||
flag_rotate_y = false
|
||||
flag_disable_z = false
|
||||
spread = 180.0
|
||||
flatness = 0.0
|
||||
gravity = Vector3( 0, 2, 0 )
|
||||
initial_velocity = 0.3
|
||||
initial_velocity_random = 0.0
|
||||
angular_velocity = 84.86
|
||||
angular_velocity_random = 1.0
|
||||
linear_accel = 0.0
|
||||
linear_accel_random = 0.0
|
||||
radial_accel = 0.0
|
||||
radial_accel_random = 0.0
|
||||
tangential_accel = 0.0
|
||||
tangential_accel_random = 0.0
|
||||
damping = 0.0
|
||||
damping_random = 0.0
|
||||
angle = 0.0
|
||||
angle_random = 0.0
|
||||
scale = 1.0
|
||||
scale_random = 0.0
|
||||
scale_curve = SubResource( 12 )
|
||||
color_ramp = SubResource( 10 )
|
||||
hue_variation = 0.0
|
||||
hue_variation_random = 0.0
|
||||
anim_speed = 0.0
|
||||
anim_speed_random = 0.0
|
||||
anim_offset = 0.0
|
||||
anim_offset_random = 0.0
|
||||
anim_loop = false
|
||||
_sections_unfolded = [ "Angular Velocity", "Emission Shape", "Gravity", "Initial Velocity", "Scale", "Spread", "color_ramp", "scale_curve" ]
|
||||
|
||||
[sub_resource type="SpatialMaterial" id=14]
|
||||
|
||||
render_priority = 0
|
||||
flags_transparent = true
|
||||
flags_unshaded = true
|
||||
flags_vertex_lighting = false
|
||||
flags_no_depth_test = false
|
||||
flags_use_point_size = false
|
||||
flags_world_triplanar = false
|
||||
flags_fixed_size = false
|
||||
flags_albedo_tex_force_srgb = false
|
||||
flags_do_not_receive_shadows = false
|
||||
vertex_color_use_as_albedo = true
|
||||
vertex_color_is_srgb = true
|
||||
params_diffuse_mode = 0
|
||||
params_specular_mode = 0
|
||||
params_blend_mode = 1
|
||||
params_cull_mode = 0
|
||||
params_depth_draw_mode = 0
|
||||
params_line_width = 1.0
|
||||
params_point_size = 1.0
|
||||
params_billboard_mode = 3
|
||||
params_grow = false
|
||||
params_use_alpha_scissor = false
|
||||
particles_anim_h_frames = 1
|
||||
particles_anim_v_frames = 1
|
||||
particles_anim_loop = 0
|
||||
albedo_color = Color( 1, 1, 1, 1 )
|
||||
albedo_texture = ExtResource( 8 )
|
||||
metallic = 0.0
|
||||
metallic_specular = 0.5
|
||||
metallic_texture_channel = 0
|
||||
roughness = 0.0
|
||||
roughness_texture_channel = 0
|
||||
emission_enabled = false
|
||||
normal_enabled = false
|
||||
rim_enabled = false
|
||||
clearcoat_enabled = false
|
||||
anisotropy_enabled = false
|
||||
ao_enabled = false
|
||||
depth_enabled = false
|
||||
subsurf_scatter_enabled = false
|
||||
transmission_enabled = false
|
||||
refraction_enabled = false
|
||||
detail_enabled = false
|
||||
uv1_scale = Vector3( 1, 1, 1 )
|
||||
uv1_offset = Vector3( 0, 0, 0 )
|
||||
uv1_triplanar = false
|
||||
uv1_triplanar_sharpness = 1.0
|
||||
uv2_scale = Vector3( 1, 1, 1 )
|
||||
uv2_offset = Vector3( 0, 0, 0 )
|
||||
uv2_triplanar = false
|
||||
uv2_triplanar_sharpness = 1.0
|
||||
proximity_fade_enable = true
|
||||
proximity_fade_distance = 0.2
|
||||
distance_fade_enable = false
|
||||
_sections_unfolded = [ "Albedo", "Distance Fade", "Flags", "Parameters", "Proximity Fade", "Vertex Color", "albedo_texture" ]
|
||||
|
||||
[sub_resource type="QuadMesh" id=15]
|
||||
|
||||
material = SubResource( 14 )
|
||||
custom_aabb = AABB( 0, 0, 0, 0, 0, 0 )
|
||||
flip_faces = false
|
||||
size = Vector2( 1, 1 )
|
||||
_sections_unfolded = [ "material" ]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=16]
|
||||
|
||||
resource_local_to_scene = true
|
||||
animation = "TurnRight-cycle"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=17]
|
||||
|
||||
resource_local_to_scene = true
|
||||
animation = "TurnLeft-cycle"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=18]
|
||||
|
||||
resource_local_to_scene = true
|
||||
animation = "Walk-cycle"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=19]
|
||||
|
||||
resource_local_to_scene = true
|
||||
animation = "Damage_take1"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=20]
|
||||
|
||||
resource_local_to_scene = true
|
||||
animation = "Damage_take2"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=21]
|
||||
|
||||
resource_local_to_scene = true
|
||||
animation = "Damage_heavy"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=22]
|
||||
|
||||
resource_local_to_scene = true
|
||||
animation = "Idle-cycle"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=23]
|
||||
|
||||
resource_local_to_scene = true
|
||||
animation = "Cannon-U"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=24]
|
||||
|
||||
resource_local_to_scene = true
|
||||
animation = "Cannon-D"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=25]
|
||||
|
||||
resource_local_to_scene = true
|
||||
animation = "Cannon-R"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=26]
|
||||
|
||||
resource_local_to_scene = true
|
||||
animation = "Cannon-L"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=27]
|
||||
|
||||
resource_local_to_scene = true
|
||||
animation = "Cannon-N"
|
||||
|
||||
[sub_resource type="AnimationNodeBlendSpace2D" id=28]
|
||||
|
||||
resource_local_to_scene = true
|
||||
auto_triangles = true
|
||||
blend_point_0/node = SubResource( 23 )
|
||||
blend_point_0/pos = Vector2( 0, 1 )
|
||||
blend_point_1/node = SubResource( 24 )
|
||||
blend_point_1/pos = Vector2( 0, -1 )
|
||||
blend_point_2/node = SubResource( 25 )
|
||||
blend_point_2/pos = Vector2( 1, 0 )
|
||||
blend_point_3/node = SubResource( 26 )
|
||||
blend_point_3/pos = Vector2( -1, 0 )
|
||||
blend_point_4/node = SubResource( 27 )
|
||||
blend_point_4/pos = Vector2( 0, 0 )
|
||||
triangles = PoolIntArray( 0, 2, 4, 0, 3, 4, 1, 2, 4, 1, 3, 4 )
|
||||
min_space = Vector2( -1, -1 )
|
||||
max_space = Vector2( 1, 1 )
|
||||
snap = Vector2( 0.1, 0.1 )
|
||||
blend_position = Vector2( -0.00151747, -0.0113636 )
|
||||
x_label = "x"
|
||||
y_label = "y"
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id=29]
|
||||
|
||||
resource_local_to_scene = true
|
||||
filter_enabled = true
|
||||
filters = [ "Armature/Skeleton:Cannon-TrackTurret", "Armature/Skeleton:CannonAnimRecoil" ]
|
||||
amount = 0.0
|
||||
sync = false
|
||||
|
||||
[sub_resource type="AnimationNodeOneShot" id=30]
|
||||
|
||||
resource_local_to_scene = true
|
||||
filter_enabled = false
|
||||
filters = [ ]
|
||||
fadein_time = 0.1
|
||||
fadeout_time = 0.5
|
||||
autorestart = false
|
||||
autorestart_delay = 1.0
|
||||
autorestart_random_delay = 0.0
|
||||
sync = false
|
||||
|
||||
[sub_resource type="AnimationNodeOneShot" id=31]
|
||||
|
||||
resource_local_to_scene = true
|
||||
filter_enabled = false
|
||||
filters = [ ]
|
||||
fadein_time = 0.1
|
||||
fadeout_time = 0.5
|
||||
autorestart = false
|
||||
autorestart_delay = 1.0
|
||||
autorestart_random_delay = 0.0
|
||||
sync = false
|
||||
|
||||
[sub_resource type="AnimationNodeOneShot" id=32]
|
||||
|
||||
resource_local_to_scene = true
|
||||
filter_enabled = false
|
||||
filters = [ ]
|
||||
fadein_time = 0.1
|
||||
fadeout_time = 0.5
|
||||
autorestart = false
|
||||
autorestart_delay = 1.0
|
||||
autorestart_random_delay = 0.0
|
||||
sync = false
|
||||
|
||||
[sub_resource type="AnimationNodeTransition" id=33]
|
||||
|
||||
resource_local_to_scene = true
|
||||
input_count = 4
|
||||
current = 0
|
||||
xfade_time = 0.5
|
||||
input_0/name = "idle"
|
||||
input_0/auto_advance = false
|
||||
input_1/name = "turn_left"
|
||||
input_1/auto_advance = false
|
||||
input_2/name = "turn_right"
|
||||
input_2/auto_advance = false
|
||||
input_3/name = "walk"
|
||||
input_3/auto_advance = false
|
||||
_sections_unfolded = [ "Input 0", "Input 1", "Input 2", "Input 3" ]
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id=34]
|
||||
|
||||
resource_local_to_scene = true
|
||||
graph_offset = Vector2( -16, 79 )
|
||||
nodes/Animation/node = SubResource( 22 )
|
||||
nodes/Animation/position = Vector2( -200, 100 )
|
||||
"nodes/Animation 2/node" = SubResource( 16 )
|
||||
"nodes/Animation 2/position" = Vector2( -200, 340 )
|
||||
"nodes/Animation 3/node" = SubResource( 17 )
|
||||
"nodes/Animation 3/position" = Vector2( -200, 220 )
|
||||
"nodes/Animation 4/node" = SubResource( 18 )
|
||||
"nodes/Animation 4/position" = Vector2( -160, 460 )
|
||||
"nodes/Animation 5/node" = SubResource( 19 )
|
||||
"nodes/Animation 5/position" = Vector2( 200, 440 )
|
||||
"nodes/Animation 6/node" = SubResource( 20 )
|
||||
"nodes/Animation 6/position" = Vector2( 500, 440 )
|
||||
"nodes/Animation 7/node" = SubResource( 21 )
|
||||
"nodes/Animation 7/position" = Vector2( 740, 440 )
|
||||
nodes/aim/node = SubResource( 28 )
|
||||
nodes/aim/position = Vector2( 80, 320 )
|
||||
nodes/aiming/node = SubResource( 29 )
|
||||
nodes/aiming/position = Vector2( 320, 200 )
|
||||
nodes/hit1/node = SubResource( 30 )
|
||||
nodes/hit1/position = Vector2( 540, 240 )
|
||||
nodes/hit2/node = SubResource( 31 )
|
||||
nodes/hit2/position = Vector2( 760, 240 )
|
||||
nodes/hit3/node = SubResource( 32 )
|
||||
nodes/hit3/position = Vector2( 980, 240 )
|
||||
nodes/output/position = Vector2( 1180, 200 )
|
||||
nodes/state/node = SubResource( 33 )
|
||||
nodes/state/position = Vector2( 60, 100 )
|
||||
node_connections = [ "output", 0, "hit3", "state", 0, "Animation", "state", 1, "Animation 3", "state", 2, "Animation 2", "state", 3, "Animation 4", "aiming", 0, "state", "aiming", 1, "aim", "hit1", 0, "aiming", "hit1", 1, "Animation 5", "hit2", 0, "hit1", "hit2", 1, "Animation 6", "hit3", 0, "hit2", "hit3", 1, "Animation 7" ]
|
||||
|
||||
[sub_resource type="SphereShape" id=35]
|
||||
|
||||
radius = 1.11815
|
||||
|
||||
[sub_resource type="SphereShape" id=36]
|
||||
|
||||
radius = 18.1337
|
||||
|
||||
[sub_resource type="Animation" id=37]
|
||||
|
||||
length = 4.0
|
||||
loop = false
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Scene Root/Armature/Skeleton/ray_from/ray:material/0:shader_param/energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 2, 2.1, 2.2, 2.6 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ 1.0, 1.0, 5.0, 1.0, 1.0 ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath("Scene Root/Armature/Skeleton/ray_from/ray:material/0:shader_param/transparency")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0, 2, 2.1, 2.6, 2.8 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0, 0.0, 1.0, 1.0, 0.0 ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath("Scene Root/Armature/Skeleton/ray_from/ray:material/0:shader_param/deform")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"times": PoolRealArray( 0, 2, 2.6, 2.8 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0, 0.0, 0.0, 2.0 ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("Scene Root/Armature/Skeleton/ray_from/ray:material/0:shader_param/smoke")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/keys = {
|
||||
"times": PoolRealArray( 0, 2, 2.2, 2.6 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0, 0.0, 0.0, 1.0 ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("shoot_light:visible")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/keys = {
|
||||
"times": PoolRealArray( 0.2, 1.6, 2, 2.6 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ true, false, true, false ]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/path = NodePath("shoot_light:light_energy")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/keys = {
|
||||
"times": PoolRealArray( 0, 0.2, 0.9, 1.6, 2, 2.1, 2.6 ),
|
||||
"transitions": PoolRealArray( 1, -2, 4.28709, 1, 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0, 0.0, 1.0, 0.0, 0.0, 5.0, 0.0 ]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/path = NodePath("Scene Root/Armature/Skeleton/ray_from/Particles:emitting")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/keys = {
|
||||
"times": PoolRealArray( 0, 0.2, 1 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ false, true, false ]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/path = NodePath("Scene Root/Armature/Skeleton/ray_from/explosion:emitting")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/keys = {
|
||||
"times": PoolRealArray( 2.1 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ true ]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/path = NodePath("AnimationTree:active")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = false
|
||||
tracks/8/keys = {
|
||||
"times": PoolRealArray( 0, 2.6, 2.9 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ true, false, true ]
|
||||
}
|
||||
tracks/9/type = "method"
|
||||
tracks/9/path = NodePath(".")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/keys = {
|
||||
"times": PoolRealArray( 1.9, 3 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"values": [ {
|
||||
"args": [ ],
|
||||
"method": "shoot_check"
|
||||
}, {
|
||||
"args": [ ],
|
||||
"method": "resume_approach"
|
||||
} ]
|
||||
}
|
||||
|
||||
[sub_resource type="BoxShape" id=38]
|
||||
|
||||
extents = Vector3( 0.499703, 0.514522, 0.0474423 )
|
||||
|
||||
[node name="big_robot" type="KinematicBody" index="0"]
|
||||
input_ray_pickable = true
|
||||
input_capture_on_drag = false
|
||||
collision_layer = 1
|
||||
collision_mask = 1
|
||||
axis_lock_linear_x = false
|
||||
axis_lock_linear_y = false
|
||||
axis_lock_linear_z = false
|
||||
axis_lock_angular_x = false
|
||||
axis_lock_angular_y = false
|
||||
axis_lock_angular_z = false
|
||||
collision/safe_margin = 0.001
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Scene Root" parent="." index="0" instance=ExtResource( 2 )]
|
||||
_sections_unfolded = [ "Transform" ]
|
||||
|
||||
[node name="Armature" parent="Scene Root" index="0"]
|
||||
_sections_unfolded = [ "Transform" ]
|
||||
|
||||
[node name="Skeleton" parent="Scene Root/Armature" index="0"]
|
||||
bones/14/bound_children = [ NodePath("ray_from") ]
|
||||
_sections_unfolded = [ "Transform" ]
|
||||
|
||||
[node name="EvilRoboBody" parent="Scene Root/Armature/Skeleton" index="0"]
|
||||
_sections_unfolded = [ "mesh" ]
|
||||
|
||||
[node name="ray_from" type="BoneAttachment" parent="Scene Root/Armature/Skeleton" index="4"]
|
||||
transform = Transform( -0.996181, 0.0216769, 0.0845814, 0.0448158, 0.958298, 0.282233, -0.0749363, 0.284946, -0.95561, 0.0285844, 1.88065, 0.865486 )
|
||||
bone_name = "CannonAnimRecoil"
|
||||
|
||||
[node name="ray" type="MeshInstance" parent="Scene Root/Armature/Skeleton/ray_from" index="0"]
|
||||
transform = Transform( 1, 8.40737e-09, -9.31323e-10, -6.55928e-09, 1, -9.31323e-10, 4.65661e-10, 0, 1, 1.67638e-08, 0, -1.21376 )
|
||||
layers = 1
|
||||
material_override = null
|
||||
cast_shadow = 1
|
||||
extra_cull_margin = 0.0
|
||||
use_in_baked_light = false
|
||||
lod_min_distance = 0.0
|
||||
lod_min_hysteresis = 0.0
|
||||
lod_max_distance = 0.0
|
||||
lod_max_hysteresis = 0.0
|
||||
mesh = ExtResource( 3 )
|
||||
skeleton = NodePath("")
|
||||
material/0 = SubResource( 1 )
|
||||
_sections_unfolded = [ "Material", "material/0" ]
|
||||
|
||||
[node name="Particles" type="Particles" parent="Scene Root/Armature/Skeleton/ray_from" index="1"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.07273 )
|
||||
layers = 1
|
||||
material_override = null
|
||||
cast_shadow = 1
|
||||
extra_cull_margin = 0.0
|
||||
use_in_baked_light = false
|
||||
lod_min_distance = 0.0
|
||||
lod_min_hysteresis = 0.0
|
||||
lod_max_distance = 0.0
|
||||
lod_max_hysteresis = 0.0
|
||||
emitting = false
|
||||
amount = 64
|
||||
lifetime = 1.0
|
||||
one_shot = false
|
||||
preprocess = 0.0
|
||||
speed_scale = 1.0
|
||||
explosiveness = 0.0
|
||||
randomness = 0.0
|
||||
fixed_fps = 0
|
||||
fract_delta = true
|
||||
visibility_aabb = AABB( -4, -4, -4, 8, 8, 8 )
|
||||
local_coords = true
|
||||
draw_order = 0
|
||||
process_material = SubResource( 6 )
|
||||
draw_passes = 1
|
||||
draw_pass_1 = SubResource( 8 )
|
||||
_sections_unfolded = [ "Draw Passes", "Geometry", "Process Material", "Time", "draw_pass_1", "process_material" ]
|
||||
|
||||
[node name="explosion" type="Particles" parent="Scene Root/Armature/Skeleton/ray_from" index="2"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0332087, -10.283 )
|
||||
layers = 1
|
||||
material_override = null
|
||||
cast_shadow = 1
|
||||
extra_cull_margin = 0.0
|
||||
use_in_baked_light = false
|
||||
lod_min_distance = 0.0
|
||||
lod_min_hysteresis = 0.0
|
||||
lod_max_distance = 0.0
|
||||
lod_max_hysteresis = 0.0
|
||||
emitting = false
|
||||
amount = 64
|
||||
lifetime = 0.5
|
||||
one_shot = true
|
||||
preprocess = 0.0
|
||||
speed_scale = 1.0
|
||||
explosiveness = 1.0
|
||||
randomness = 0.0
|
||||
fixed_fps = 0
|
||||
fract_delta = true
|
||||
visibility_aabb = AABB( -4, -4, -4, 8, 8, 8 )
|
||||
local_coords = false
|
||||
draw_order = 0
|
||||
process_material = SubResource( 13 )
|
||||
draw_passes = 1
|
||||
draw_pass_1 = SubResource( 15 )
|
||||
_sections_unfolded = [ "Draw Passes", "Drawing", "Process Material", "Time", "process_material" ]
|
||||
|
||||
[node name="AnimationTree" type="AnimationTree" parent="." index="1"]
|
||||
tree_root = SubResource( 34 )
|
||||
anim_player = NodePath("../Scene Root/AnimationPlayer")
|
||||
active = true
|
||||
process_mode = 0
|
||||
root_motion_track = NodePath("Armature/Skeleton:MASTER")
|
||||
_sections_unfolded = [ "Root Motion", "tree_root" ]
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="." index="2"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.11655, -0.0212681 )
|
||||
shape = SubResource( 35 )
|
||||
disabled = false
|
||||
|
||||
[node name="area" type="Area" parent="." index="3"]
|
||||
input_ray_pickable = false
|
||||
input_capture_on_drag = false
|
||||
space_override = 0
|
||||
gravity_point = false
|
||||
gravity_distance_scale = 0.0
|
||||
gravity_vec = Vector3( 0, -1, 0 )
|
||||
gravity = 9.8
|
||||
linear_damp = 0.1
|
||||
angular_damp = 1.0
|
||||
priority = 0.0
|
||||
monitoring = true
|
||||
monitorable = true
|
||||
collision_layer = 1
|
||||
collision_mask = 1
|
||||
audio_bus_override = false
|
||||
audio_bus_name = "Master"
|
||||
reverb_bus_enable = false
|
||||
reverb_bus_name = "Master"
|
||||
reverb_bus_amount = 0.0
|
||||
reverb_bus_uniformity = 0.0
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="area" index="0"]
|
||||
shape = SubResource( 36 )
|
||||
disabled = false
|
||||
|
||||
[node name="RootMotionView" type="RootMotionView" parent="." index="4"]
|
||||
layers = 1
|
||||
animation_path = NodePath("../AnimationTree")
|
||||
color = Color( 0.5, 0.5, 1, 1 )
|
||||
cell_size = 1.0
|
||||
radius = 10.0
|
||||
zero_y = true
|
||||
|
||||
[node name="shoot_anim" type="AnimationPlayer" parent="." index="5"]
|
||||
root_node = NodePath("..")
|
||||
autoplay = ""
|
||||
playback_process_mode = 1
|
||||
playback_default_blend_time = 0.0
|
||||
playback_speed = 1.0
|
||||
anims/shoot = SubResource( 37 )
|
||||
blend_times = [ ]
|
||||
|
||||
[node name="shoot_light" type="OmniLight" parent="." index="6"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.82358, 2.06607 )
|
||||
visible = false
|
||||
layers = 1
|
||||
light_color = Color( 0.992157, 0.713726, 0.713726, 1 )
|
||||
light_energy = 0.0
|
||||
light_indirect_energy = 1.0
|
||||
light_negative = false
|
||||
light_specular = 0.5
|
||||
light_bake_mode = 1
|
||||
light_cull_mask = -1
|
||||
shadow_enabled = true
|
||||
shadow_color = Color( 0, 0, 0, 1 )
|
||||
shadow_bias = 0.15
|
||||
shadow_contact = 0.0
|
||||
shadow_reverse_cull_face = false
|
||||
editor_only = false
|
||||
omni_range = 8.68993
|
||||
omni_attenuation = 1.0
|
||||
omni_shadow_mode = 0
|
||||
omni_shadow_detail = 1
|
||||
_sections_unfolded = [ "Light", "Omni", "Shadow", "Visibility" ]
|
||||
|
||||
[node name="death" type="Spatial" parent="." index="7"]
|
||||
|
||||
[node name="part_shield" type="RigidBody" parent="death" index="0"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.81641, 0, 0 )
|
||||
input_ray_pickable = true
|
||||
input_capture_on_drag = false
|
||||
collision_layer = 1
|
||||
collision_mask = 1
|
||||
mode = 0
|
||||
mass = 1.0
|
||||
friction = 1.0
|
||||
bounce = 0.0
|
||||
gravity_scale = 1.0
|
||||
custom_integrator = false
|
||||
continuous_cd = false
|
||||
contacts_reported = 0
|
||||
contact_monitor = false
|
||||
sleeping = false
|
||||
can_sleep = true
|
||||
axis_lock_linear_x = false
|
||||
axis_lock_linear_y = false
|
||||
axis_lock_linear_z = false
|
||||
axis_lock_angular_x = false
|
||||
axis_lock_angular_y = false
|
||||
axis_lock_angular_z = false
|
||||
linear_velocity = Vector3( 0, 0, 0 )
|
||||
linear_damp = -1.0
|
||||
angular_velocity = Vector3( 0, 0, 0 )
|
||||
angular_damp = -1.0
|
||||
|
||||
[node name="mesh" type="MeshInstance" parent="death/part_shield" index="0"]
|
||||
layers = 1
|
||||
material_override = null
|
||||
cast_shadow = 1
|
||||
extra_cull_margin = 0.0
|
||||
use_in_baked_light = false
|
||||
lod_min_distance = 0.0
|
||||
lod_min_hysteresis = 0.0
|
||||
lod_max_distance = 0.0
|
||||
lod_max_hysteresis = 0.0
|
||||
mesh = ExtResource( 9 )
|
||||
skeleton = NodePath("..")
|
||||
material/0 = ExtResource( 10 )
|
||||
_sections_unfolded = [ "Geometry", "Material" ]
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="death/part_shield" index="1"]
|
||||
transform = Transform( 1, 0, 0, 0, 0.908425, 0.418048, 0, -0.418048, 0.908425, 1.26196, 1.92252, 0.648781 )
|
||||
shape = SubResource( 38 )
|
||||
disabled = false
|
||||
|
||||
[node name="CollisionShape2" type="CollisionShape" parent="death/part_shield" index="2"]
|
||||
transform = Transform( 1, 0, 0, 0, 0.999275, -0.038063, 0, 0.038063, 0.999275, 1.26196, 0.914196, 0.807968 )
|
||||
shape = SubResource( 38 )
|
||||
disabled = false
|
||||
|
||||
[node name="fire" type="Particles" parent="death/part_shield" index="3"]
|
||||
transform = Transform( -0.999594, 0.0284228, 0.00205158, 0.0284288, 0.999592, 0.00296096, -0.0019666, 0.00301808, -0.999993, 1.84765, 2.51685, 10.484 )
|
||||
layers = 1
|
||||
material_override = null
|
||||
cast_shadow = 1
|
||||
extra_cull_margin = 0.0
|
||||
use_in_baked_light = false
|
||||
lod_min_distance = 0.0
|
||||
lod_min_hysteresis = 0.0
|
||||
lod_max_distance = 0.0
|
||||
lod_max_hysteresis = 0.0
|
||||
emitting = true
|
||||
amount = 32
|
||||
lifetime = 1.0
|
||||
one_shot = false
|
||||
preprocess = 0.0
|
||||
speed_scale = 1.0
|
||||
explosiveness = 0.0
|
||||
randomness = 0.0
|
||||
fixed_fps = 0
|
||||
fract_delta = true
|
||||
visibility_aabb = AABB( -4, -4, -4, 8, 8, 8 )
|
||||
local_coords = true
|
||||
draw_order = 0
|
||||
process_material = SubResource( 13 )
|
||||
draw_passes = 1
|
||||
draw_pass_1 = SubResource( 15 )
|
||||
_sections_unfolded = [ "Draw Passes", "Process Material", "Time", "draw_pass_1", "process_material" ]
|
||||
|
||||
[connection signal="body_entered" from="area" to="." method="_on_area_body_entered"]
|
||||
[connection signal="body_exited" from="area" to="." method="_on_area_body_exited"]
|
||||
|
||||
[editable path="Scene Root"]
|
||||
BIN
enemies/red_robot/hit.wav
Normal file
21
enemies/red_robot/hit.wav.import
Normal file
@@ -0,0 +1,21 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/hit.wav-6d8b1c6e535ef90efa1ef287a501b5db.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/red_robot/hit.wav"
|
||||
dest_files=[ "res://.import/hit.wav-6d8b1c6e535ef90efa1ef287a501b5db.sample" ]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=true
|
||||
edit/normalize=true
|
||||
edit/loop=false
|
||||
compress/mode=0
|
||||
24
enemies/red_robot/part_head.mtl
Normal file
@@ -0,0 +1,24 @@
|
||||
# Blender MTL File: 'badrobot_large.blend'
|
||||
# Material Count: 2
|
||||
|
||||
newmtl EvilRobo
|
||||
Ns 96.078431
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.452006 0.397301 0.361267
|
||||
Ks 0.000000 0.000000 0.000000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 0
|
||||
map_Kd /home/red/coding/godot/Desktop/RobotMalo/EvilRobo-BaseColor.png
|
||||
|
||||
newmtl ShadelessBlack
|
||||
Ns 96.078431
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.000000 0.000000 0.000000
|
||||
Ks 0.000000 0.000000 0.000000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 0
|
||||
map_Kd /home/red/coding/godot/Desktop/RobotMalo/EvilRobo-BaseColor.png
|
||||
17412
enemies/red_robot/part_head.obj
Normal file
18
enemies/red_robot/part_head.obj.import
Normal file
@@ -0,0 +1,18 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
type="Mesh"
|
||||
path="res://.import/part_head.obj-139943756a373f59f2fa564edc1c12f1.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=[ "res://.import/part_head.obj-139943756a373f59f2fa564edc1c12f1.mesh" ]
|
||||
|
||||
source_file="res://enemies/red_robot/part_head.obj"
|
||||
dest_files=[ "res://.import/part_head.obj-139943756a373f59f2fa564edc1c12f1.mesh", "res://.import/part_head.obj-139943756a373f59f2fa564edc1c12f1.mesh" ]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
scale_mesh=Vector3( 1, 1, 1 )
|
||||
optimize_mesh=true
|
||||
13
enemies/red_robot/part_shield.mtl
Normal file
@@ -0,0 +1,13 @@
|
||||
# Blender MTL File: 'badrobot_large.blend'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl EvilRobo
|
||||
Ns 96.078431
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.452006 0.397301 0.361267
|
||||
Ks 0.000000 0.000000 0.000000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 0
|
||||
map_Kd /home/red/coding/godot/Desktop/RobotMalo/EvilRobo-BaseColor.png
|
||||
2059
enemies/red_robot/part_shield.obj
Normal file
18
enemies/red_robot/part_shield.obj.import
Normal file
@@ -0,0 +1,18 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
type="Mesh"
|
||||
path="res://.import/part_shield.obj-3ee32b2d765fa709ced40b01f8f70521.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=[ "res://.import/part_shield.obj-3ee32b2d765fa709ced40b01f8f70521.mesh" ]
|
||||
|
||||
source_file="res://enemies/red_robot/part_shield.obj"
|
||||
dest_files=[ "res://.import/part_shield.obj-3ee32b2d765fa709ced40b01f8f70521.mesh", "res://.import/part_shield.obj-3ee32b2d765fa709ced40b01f8f70521.mesh" ]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
scale_mesh=Vector3( 1, 1, 1 )
|
||||
optimize_mesh=true
|
||||
BIN
enemies/red_robot/particle.png
Normal file
|
After Width: | Height: | Size: 892 B |
30
enemies/red_robot/particle.png.import
Normal file
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/particle.png-dfce7d6cf368ef8abaac135ccb791a2e.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/red_robot/particle.png"
|
||||
dest_files=[ "res://.import/particle.png-dfce7d6cf368ef8abaac135ccb791a2e.s3tc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=1
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
3
enemies/red_robot/ray.blend
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c7497d5e737ed8c571d2a0d0b665785e0f1cc7c5a00ebb3eb8a7f242950d967a
|
||||
size 759396
|
||||
BIN
enemies/red_robot/ray.blend1
Normal file
3
enemies/red_robot/ray.dae
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b9c01ffa31f59e4f2fab59e3c90880a44ea6b667b0cc5fd422ad115b8931481b
|
||||
size 2022553
|
||||
1062
enemies/red_robot/ray.dae.import
Normal file
13
enemies/red_robot/ray.mtl
Normal file
@@ -0,0 +1,13 @@
|
||||
# Blender MTL File: 'ray.blend'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl Material.001
|
||||
Ns 96.078431
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.640000 0.640000 0.640000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 0
|
||||
map_Kd ray_smoke_texture.png
|
||||
6420
enemies/red_robot/ray.obj
Normal file
18
enemies/red_robot/ray.obj.import
Normal file
@@ -0,0 +1,18 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
type="Mesh"
|
||||
path="res://.import/ray.obj-d36389ed36595462fc2df02b2fefb633.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=[ "res://.import/ray.obj-d36389ed36595462fc2df02b2fefb633.mesh" ]
|
||||
|
||||
source_file="res://enemies/red_robot/ray.obj"
|
||||
dest_files=[ "res://.import/ray.obj-d36389ed36595462fc2df02b2fefb633.mesh", "res://.import/ray.obj-d36389ed36595462fc2df02b2fefb633.mesh" ]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
scale_mesh=Vector3( 1, 1, 1 )
|
||||
optimize_mesh=false
|
||||
39
enemies/red_robot/ray.shader
Normal file
@@ -0,0 +1,39 @@
|
||||
shader_type spatial;
|
||||
render_mode unshaded,cull_disabled;
|
||||
|
||||
uniform sampler2D ray_texture : hint_albedo;
|
||||
uniform sampler2D smoke_texture : hint_albedo;
|
||||
uniform float deform = 0.0;
|
||||
uniform float transparency = 1.0;
|
||||
uniform float energy = 1.0;
|
||||
uniform float smoke = 0.0;
|
||||
uniform float clip = 1000.0;
|
||||
|
||||
varying float dist;
|
||||
|
||||
void vertex() {
|
||||
|
||||
float deform_amount = 0.01 * deform;
|
||||
vec2 offset = vec2(sin(VERTEX.z*1.4321),sin(VERTEX.z*2.12351));
|
||||
VERTEX.xy+=deform_amount * offset;
|
||||
VERTEX.xy*=1.0+deform;
|
||||
dist = abs(VERTEX.z);
|
||||
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
|
||||
if (dist > clip) {
|
||||
discard;
|
||||
}
|
||||
vec4 ray_color = texture(ray_texture,UV);
|
||||
vec4 smoke_color = texture(smoke_texture,UV);
|
||||
|
||||
vec4 col = mix(ray_color,smoke_color,smoke);
|
||||
|
||||
ALBEDO=col.rgb * energy;
|
||||
ALPHA=col.a * transparency;
|
||||
//ALBEDO=ray_color.rgb;
|
||||
//ALPHA=ray_color.a;
|
||||
|
||||
}
|
||||
BIN
enemies/red_robot/ray_smoke_texture.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
30
enemies/red_robot/ray_smoke_texture.png.import
Normal file
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/ray_smoke_texture.png-1e78781a356519f726ebcb8b3343bab8.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/red_robot/ray_smoke_texture.png"
|
||||
dest_files=[ "res://.import/ray_smoke_texture.png-1e78781a356519f726ebcb8b3343bab8.s3tc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=1
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
BIN
enemies/red_robot/ray_texture.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
30
enemies/red_robot/ray_texture.png.import
Normal file
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/ray_texture.png-0cc16380a96b1ab2c03fd2c2529c17a0.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/red_robot/ray_texture.png"
|
||||
dest_files=[ "res://.import/ray_texture.png-0cc16380a96b1ab2c03fd2c2529c17a0.s3tc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=1
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
222
enemies/red_robot/red_robot.gd
Normal file
@@ -0,0 +1,222 @@
|
||||
extends KinematicBody
|
||||
|
||||
# class member variables go here, for example:
|
||||
# var a = 2
|
||||
# var b = "textvar"
|
||||
|
||||
const GRAVITY = Vector3(0,-9.8, 0)
|
||||
|
||||
const PLAYER_AIM_TOLERANCE_DEGREES = 15
|
||||
|
||||
const STATE_APPROACH = 0
|
||||
const STATE_AIM = 1
|
||||
const STATE_SHOOTING = 2
|
||||
|
||||
var state = STATE_APPROACH
|
||||
|
||||
const SHOOT_WAIT = 6.0
|
||||
var shoot_countdown = SHOOT_WAIT
|
||||
const AIM_TIME = 1
|
||||
var aim_countdown = AIM_TIME
|
||||
|
||||
const AIM_PREPARE_TIME = 0.5
|
||||
var aim_preparing = AIM_PREPARE_TIME
|
||||
|
||||
var player = null
|
||||
var velocity = Vector3()
|
||||
|
||||
var orientation = Transform()
|
||||
|
||||
const MAX_ENERGY = 5
|
||||
|
||||
var energy = MAX_ENERGY
|
||||
|
||||
|
||||
const BLEND_AIM_SPEED = 0.05
|
||||
|
||||
func _ready():
|
||||
orientation=$"Scene Root".global_transform
|
||||
orientation.origin = Vector3()
|
||||
|
||||
func resume_approach():
|
||||
state = STATE_APPROACH
|
||||
aim_preparing = AIM_PREPARE_TIME
|
||||
shoot_countdown = SHOOT_WAIT
|
||||
|
||||
var dead = false
|
||||
|
||||
func hit():
|
||||
if (dead):
|
||||
return
|
||||
$AnimationTree["parameters/hit"+["1","2","3"][randi()%3]+"/active"]=true
|
||||
$sfx/hit.play()
|
||||
energy-=1
|
||||
if (energy==0):
|
||||
dead=true
|
||||
var base_xf = global_transform.basis
|
||||
$AnimationTree.active=false
|
||||
#$death/explosion.play("kaboom")
|
||||
$"Scene Root".visible=false
|
||||
$death.visible=true
|
||||
$CollisionShape.disabled=true
|
||||
$death/particles.emitting=true
|
||||
$death/part_shield1/col1.disabled=false
|
||||
$death/part_shield1/col2.disabled=false
|
||||
$death/part_shield1.mode=RigidBody.MODE_RIGID
|
||||
$death/part_shield2/col1.disabled=false
|
||||
$death/part_shield2/col2.disabled=false
|
||||
$death/part_shield2.mode=RigidBody.MODE_RIGID
|
||||
$death/part_shield3/col1.disabled=false
|
||||
$death/part_shield3/col2.disabled=false
|
||||
$death/part_shield3.mode=RigidBody.MODE_RIGID
|
||||
$death/part_shield2.linear_velocity = (base_xf.x+Vector3(0,1,0)).normalized() * 3
|
||||
$death/part_shield3.linear_velocity = (Vector3(0,1,0)).normalized() * 3
|
||||
$death/part_shield1.linear_velocity = (-base_xf.x+Vector3(0,1,0)).normalized() * 3
|
||||
$death/part_shield2.angular_velocity = (Vector3(randf(),randf(),randf()).normalized() * Vector3(2,2,2) - Vector3(1,1,1)) * 10
|
||||
$death/part_shield1.angular_velocity = (Vector3(randf(),randf(),randf()).normalized() * Vector3(2,2,2) - Vector3(1,1,1)) * 10
|
||||
$death/part_shield3.angular_velocity = (Vector3(randf(),randf(),randf()).normalized() * Vector3(2,2,2) - Vector3(1,1,1)) * 10
|
||||
$sfx/explosion.play()
|
||||
|
||||
|
||||
func do_shoot():
|
||||
var gt = $"Scene Root/Armature/Skeleton/ray_from".global_transform
|
||||
var ray_from = gt.origin
|
||||
var ray_dir = -gt.basis.z
|
||||
var max_dist = 1000
|
||||
|
||||
var col = get_world().direct_space_state.intersect_ray(ray_from,ray_from + ray_dir * max_dist,[self])
|
||||
if (not col.empty()):
|
||||
max_dist = ray_from.distance_to(col.position)
|
||||
if (col.collider == player):
|
||||
pass # kill
|
||||
#clip ray in shader
|
||||
$"Scene Root/Armature/Skeleton/ray_from/ray".get_surface_material(0).set_shader_param("clip",max_dist)
|
||||
#position explosion
|
||||
$"Scene Root/Armature/Skeleton/ray_from/explosion".transform.origin.z = -max_dist
|
||||
|
||||
var test_shoot=false
|
||||
func shoot_check():
|
||||
test_shoot=true
|
||||
|
||||
func _physics_process(delta):
|
||||
if (test_shoot):
|
||||
do_shoot()
|
||||
test_shoot=false
|
||||
|
||||
if (dead):
|
||||
return
|
||||
|
||||
if (not player):
|
||||
$AnimationTree["parameters/state/current"]=0 # go idle and good bye
|
||||
return
|
||||
var to_player_local = $"Scene Root".global_transform.affine_inverse().xform(player.global_transform.origin)
|
||||
var to_player_angle = atan2( to_player_local.x, to_player_local.z )
|
||||
|
||||
if (state == STATE_APPROACH):
|
||||
|
||||
|
||||
if (aim_preparing > 0):
|
||||
aim_preparing-=delta
|
||||
if (aim_preparing<0):
|
||||
aim_preparing=0
|
||||
$AnimationTree["parameters/aiming/blend_amount"]= aim_preparing / AIM_PREPARE_TIME
|
||||
|
||||
|
||||
if (to_player_angle < -deg2rad(PLAYER_AIM_TOLERANCE_DEGREES)):
|
||||
$AnimationTree["parameters/state/current"]=2
|
||||
elif (to_player_angle > deg2rad(PLAYER_AIM_TOLERANCE_DEGREES)):
|
||||
$AnimationTree["parameters/state/current"]=1
|
||||
else:
|
||||
$AnimationTree["parameters/state/current"]=3
|
||||
# facing player, try to shoot
|
||||
shoot_countdown-=delta
|
||||
if (shoot_countdown <0):
|
||||
#see if player can be killed because in sight
|
||||
var ray_from = $"Scene Root/Armature/Skeleton/ray_from".global_transform.origin
|
||||
var ray_to = player.global_transform.origin + Vector3(0,1,0) # middle of player
|
||||
var col = get_world().direct_space_state.intersect_ray(ray_from,ray_to,[self])
|
||||
if (not col.empty() and col.collider == player):
|
||||
state = STATE_AIM
|
||||
aim_countdown = AIM_TIME
|
||||
aim_preparing = 0
|
||||
$AnimationTree["parameters/state/current"]=0
|
||||
|
||||
else:
|
||||
#player not in sight, do nothing
|
||||
shoot_countdown = SHOOT_WAIT
|
||||
|
||||
elif (state==STATE_AIM or state==STATE_SHOOTING):
|
||||
|
||||
|
||||
if (aim_preparing<AIM_PREPARE_TIME):
|
||||
aim_preparing+=delta
|
||||
if (aim_preparing > AIM_PREPARE_TIME):
|
||||
aim_preparing = AIM_PREPARE_TIME
|
||||
|
||||
$AnimationTree["parameters/aiming/blend_amount"]=clamp(aim_preparing / AIM_PREPARE_TIME,0,1)
|
||||
|
||||
aim_countdown-=delta
|
||||
if (aim_countdown<0 and state==STATE_AIM):
|
||||
|
||||
var ray_from = $"Scene Root/Armature/Skeleton/ray_from".global_transform.origin
|
||||
var ray_to = player.global_transform.origin + Vector3(0,1,0) # middle of player
|
||||
var col = get_world().direct_space_state.intersect_ray(ray_from,ray_to,[self])
|
||||
if (not col.empty() and col.collider == player):
|
||||
state = STATE_SHOOTING
|
||||
$shoot_anim.play("shoot")
|
||||
else:
|
||||
resume_approach()
|
||||
|
||||
if ($AnimationTree.active):
|
||||
|
||||
var to_cannon_local = $"Scene Root/Armature/Skeleton/ray_from/ray".global_transform.affine_inverse().xform(player.global_transform.origin + Vector3(0,1,0))
|
||||
var h_angle = rad2deg(atan2( to_cannon_local.x, -to_cannon_local.z ))
|
||||
var v_angle = rad2deg(atan2( to_cannon_local.y, -to_cannon_local.z ))
|
||||
|
||||
|
||||
var blend_pos = $AnimationTree["parameters/aim/blend_position"]
|
||||
var h_motion = BLEND_AIM_SPEED * delta * -h_angle
|
||||
blend_pos.x += h_motion
|
||||
blend_pos.x = clamp(blend_pos.x, -1 , 1 )
|
||||
|
||||
var v_motion = BLEND_AIM_SPEED * delta * v_angle
|
||||
blend_pos.y += v_motion
|
||||
blend_pos.y = clamp(blend_pos.y, -1 , 1 )
|
||||
|
||||
$AnimationTree["parameters/aiming/blend_amount"]= blend_pos
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var root_motion = $AnimationTree.get_root_motion_transform()
|
||||
|
||||
|
||||
# apply root motion to orientation
|
||||
orientation *= root_motion
|
||||
|
||||
var h_velocity = orientation.origin / delta
|
||||
velocity.x = h_velocity.x
|
||||
velocity.z = h_velocity.z
|
||||
velocity += GRAVITY * delta
|
||||
velocity = move_and_slide(velocity,Vector3(0,1,0))
|
||||
|
||||
orientation.origin = Vector3() #clear accumulated root motion displacement (was applied to speed)
|
||||
orientation = orientation.orthonormalized() # orthonormalize orientation
|
||||
|
||||
$"Scene Root".global_transform.basis = orientation.basis
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
func _on_area_body_entered(body):
|
||||
if (body is preload("res://player/player.gd")):
|
||||
player = body
|
||||
shoot_countdown=SHOOT_WAIT
|
||||
|
||||
|
||||
func _on_area_body_exited(body):
|
||||
if (body is preload("res://player/player.gd")):
|
||||
player = null
|
||||
1650
enemies/red_robot/red_robot.tscn
Normal file
BIN
enemies/red_robot/shoot.wav
Normal file
21
enemies/red_robot/shoot.wav.import
Normal file
@@ -0,0 +1,21 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/shoot.wav-b0988150a6ac139c8c7751139a78a95d.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/red_robot/shoot.wav"
|
||||
dest_files=[ "res://.import/shoot.wav-b0988150a6ac139c8c7751139a78a95d.sample" ]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=true
|
||||
edit/normalize=true
|
||||
edit/loop=false
|
||||
compress/mode=0
|
||||
BIN
enemies/red_robot/walk.wav
Normal file
21
enemies/red_robot/walk.wav.import
Normal file
@@ -0,0 +1,21 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/walk.wav-36b9a80fffa81198134dfdbe12348dd4.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/red_robot/walk.wav"
|
||||
dest_files=[ "res://.import/walk.wav-36b9a80fffa81198134dfdbe12348dd4.sample" ]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=true
|
||||
edit/normalize=true
|
||||
edit/loop=false
|
||||
compress/mode=0
|
||||
BIN
fx/plasma/plasma.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
31
fx/plasma/plasma.png.import
Normal file
@@ -0,0 +1,31 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/plasma.png-e5be8b2f7918caa179df8a2a7d229e6d.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://fx/plasma/plasma.png"
|
||||
dest_files=[ "res://.import/plasma.png-e5be8b2f7918caa179df8a2a7d229e6d.s3tc.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=false
|
||||
flags/srgb=1
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
151
fx/plasma/plasma.tscn
Normal file
@@ -0,0 +1,151 @@
|
||||
[gd_scene load_steps=7 format=2]
|
||||
|
||||
[ext_resource path="res://fx/plasma/plasma.png" type="Texture" id=1]
|
||||
|
||||
[sub_resource type="Gradient" id=1]
|
||||
|
||||
offsets = PoolRealArray( 0, 0.34749, 0.509652, 1 )
|
||||
colors = PoolColorArray( 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 )
|
||||
|
||||
[sub_resource type="GradientTexture" id=2]
|
||||
|
||||
flags = 4
|
||||
gradient = SubResource( 1 )
|
||||
width = 2048
|
||||
_sections_unfolded = [ "gradient" ]
|
||||
|
||||
[sub_resource type="ParticlesMaterial" id=3]
|
||||
|
||||
render_priority = 0
|
||||
trail_divisor = 1
|
||||
emission_shape = 0
|
||||
flag_align_y = false
|
||||
flag_rotate_y = false
|
||||
flag_disable_z = false
|
||||
spread = 180.0
|
||||
flatness = 0.0
|
||||
gravity = Vector3( 0, 0, 0 )
|
||||
initial_velocity = 0.3
|
||||
initial_velocity_random = 0.0
|
||||
angular_velocity = 120.0
|
||||
angular_velocity_random = 1.0
|
||||
linear_accel = 0.0
|
||||
linear_accel_random = 0.0
|
||||
radial_accel = 0.0
|
||||
radial_accel_random = 0.0
|
||||
tangential_accel = 0.0
|
||||
tangential_accel_random = 0.0
|
||||
damping = 0.0
|
||||
damping_random = 0.0
|
||||
angle = 720.0
|
||||
angle_random = 1.0
|
||||
scale = 1.0
|
||||
scale_random = 0.0
|
||||
color_ramp = SubResource( 2 )
|
||||
hue_variation = 0.0
|
||||
hue_variation_random = 0.0
|
||||
anim_speed = 0.0
|
||||
anim_speed_random = 0.0
|
||||
anim_offset = 0.0
|
||||
anim_offset_random = 0.0
|
||||
anim_loop = false
|
||||
_sections_unfolded = [ "Angle", "Angular Velocity", "Color", "Emission Shape", "Gravity", "Initial Velocity", "Spread", "color_ramp" ]
|
||||
|
||||
[sub_resource type="SpatialMaterial" id=4]
|
||||
|
||||
render_priority = 0
|
||||
flags_transparent = true
|
||||
flags_unshaded = true
|
||||
flags_vertex_lighting = false
|
||||
flags_no_depth_test = false
|
||||
flags_use_point_size = false
|
||||
flags_world_triplanar = false
|
||||
flags_fixed_size = false
|
||||
flags_albedo_tex_force_srgb = false
|
||||
flags_do_not_receive_shadows = false
|
||||
flags_disable_ambient_light = false
|
||||
flags_ensure_correct_normals = false
|
||||
vertex_color_use_as_albedo = true
|
||||
vertex_color_is_srgb = true
|
||||
params_diffuse_mode = 0
|
||||
params_specular_mode = 0
|
||||
params_blend_mode = 1
|
||||
params_cull_mode = 0
|
||||
params_depth_draw_mode = 0
|
||||
params_line_width = 1.0
|
||||
params_point_size = 1.0
|
||||
params_billboard_mode = 3
|
||||
params_billboard_keep_scale = false
|
||||
params_grow = false
|
||||
params_use_alpha_scissor = false
|
||||
particles_anim_h_frames = 1
|
||||
particles_anim_v_frames = 1
|
||||
particles_anim_loop = 0
|
||||
albedo_color = Color( 0.843137, 0.709804, 0.427451, 1 )
|
||||
albedo_texture = ExtResource( 1 )
|
||||
metallic = 0.0
|
||||
metallic_specular = 0.5
|
||||
metallic_texture_channel = 0
|
||||
roughness = 1.0
|
||||
roughness_texture_channel = 0
|
||||
emission_enabled = false
|
||||
normal_enabled = false
|
||||
rim_enabled = false
|
||||
clearcoat_enabled = false
|
||||
anisotropy_enabled = false
|
||||
ao_enabled = false
|
||||
depth_enabled = false
|
||||
subsurf_scatter_enabled = false
|
||||
transmission_enabled = false
|
||||
refraction_enabled = false
|
||||
detail_enabled = false
|
||||
uv1_scale = Vector3( 1, 1, 1 )
|
||||
uv1_offset = Vector3( 0, 0, 0 )
|
||||
uv1_triplanar = false
|
||||
uv1_triplanar_sharpness = 1.0
|
||||
uv2_scale = Vector3( 1, 1, 1 )
|
||||
uv2_offset = Vector3( 0, 0, 0 )
|
||||
uv2_triplanar = false
|
||||
uv2_triplanar_sharpness = 1.0
|
||||
proximity_fade_enable = true
|
||||
proximity_fade_distance = 0.2
|
||||
distance_fade_mode = 0
|
||||
_sections_unfolded = [ "Albedo", "Flags", "Parameters", "Proximity Fade", "Vertex Color" ]
|
||||
|
||||
[sub_resource type="QuadMesh" id=5]
|
||||
|
||||
material = SubResource( 4 )
|
||||
custom_aabb = AABB( 0, 0, 0, 0, 0, 0 )
|
||||
flip_faces = false
|
||||
size = Vector2( 1, 1 )
|
||||
|
||||
[node name="Spatial" type="Spatial"]
|
||||
|
||||
[node name="Particles" type="Particles" parent="."]
|
||||
layers = 1
|
||||
material_override = null
|
||||
cast_shadow = 1
|
||||
extra_cull_margin = 0.0
|
||||
use_in_baked_light = false
|
||||
lod_min_distance = 0.0
|
||||
lod_min_hysteresis = 0.0
|
||||
lod_max_distance = 0.0
|
||||
lod_max_hysteresis = 0.0
|
||||
emitting = true
|
||||
amount = 64
|
||||
lifetime = 1.0
|
||||
one_shot = false
|
||||
preprocess = 0.0
|
||||
speed_scale = 0.2
|
||||
explosiveness = 0.0
|
||||
randomness = 0.0
|
||||
fixed_fps = 0
|
||||
fract_delta = true
|
||||
visibility_aabb = AABB( -4, -4, -4, 8, 8, 8 )
|
||||
local_coords = true
|
||||
draw_order = 0
|
||||
process_material = SubResource( 3 )
|
||||
draw_passes = 1
|
||||
draw_pass_1 = SubResource( 5 )
|
||||
_sections_unfolded = [ "Process Material", "Time", "draw_pass_1", "process_material" ]
|
||||
|
||||
BIN
fx/smoke/dot.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
31
fx/smoke/dot.png.import
Normal file
@@ -0,0 +1,31 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/dot.png-2511a3b5d1ebc1d3866dad5be9470956.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://fx/smoke/dot.png"
|
||||
dest_files=[ "res://.import/dot.png-2511a3b5d1ebc1d3866dad5be9470956.s3tc.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=false
|
||||
flags/srgb=1
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
BIN
fx/smoke/smoke.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
31
fx/smoke/smoke.png.import
Normal file
@@ -0,0 +1,31 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/smoke.png-75fa6534c262fd5c3a556ed0cb14355b.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://fx/smoke/smoke.png"
|
||||
dest_files=[ "res://.import/smoke.png-75fa6534c262fd5c3a556ed0cb14355b.s3tc.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=false
|
||||
flags/srgb=1
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
156
fx/smoke/smoke.tscn
Normal file
@@ -0,0 +1,156 @@
|
||||
[gd_scene load_steps=8 format=2]
|
||||
|
||||
[ext_resource path="res://fx/smoke/smoke.png" type="Texture" id=1]
|
||||
[ext_resource path="res://fx/smoke/smoke_n.png" type="Texture" id=2]
|
||||
|
||||
[sub_resource type="Gradient" id=1]
|
||||
|
||||
offsets = PoolRealArray( 0, 0.181467, 0.891892, 1 )
|
||||
colors = PoolColorArray( 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 )
|
||||
|
||||
[sub_resource type="GradientTexture" id=2]
|
||||
|
||||
flags = 4
|
||||
gradient = SubResource( 1 )
|
||||
width = 2048
|
||||
_sections_unfolded = [ "gradient" ]
|
||||
|
||||
[sub_resource type="ParticlesMaterial" id=3]
|
||||
|
||||
render_priority = 0
|
||||
trail_divisor = 1
|
||||
emission_shape = 2
|
||||
emission_box_extents = Vector3( 1, 1, 1 )
|
||||
flag_align_y = false
|
||||
flag_rotate_y = false
|
||||
flag_disable_z = false
|
||||
spread = 0.0
|
||||
flatness = 0.0
|
||||
gravity = Vector3( 0, 0, 0 )
|
||||
initial_velocity = 2.0
|
||||
initial_velocity_random = 0.0
|
||||
angular_velocity = 30.0
|
||||
angular_velocity_random = 1.0
|
||||
linear_accel = 0.0
|
||||
linear_accel_random = 0.0
|
||||
radial_accel = 0.0
|
||||
radial_accel_random = 0.0
|
||||
tangential_accel = 0.0
|
||||
tangential_accel_random = 0.0
|
||||
damping = 0.0
|
||||
damping_random = 0.0
|
||||
angle = 720.0
|
||||
angle_random = 1.0
|
||||
scale = 15.0
|
||||
scale_random = 0.0
|
||||
color_ramp = SubResource( 2 )
|
||||
hue_variation = 0.0
|
||||
hue_variation_random = 0.0
|
||||
anim_speed = 0.0
|
||||
anim_speed_random = 0.0
|
||||
anim_offset = 0.0
|
||||
anim_offset_random = 0.0
|
||||
anim_loop = false
|
||||
_sections_unfolded = [ "Angle", "Angular Velocity", "Color", "Emission Shape", "Gravity", "Initial Velocity", "Scale", "Spread", "color_ramp" ]
|
||||
|
||||
[sub_resource type="SpatialMaterial" id=4]
|
||||
|
||||
render_priority = 0
|
||||
flags_transparent = true
|
||||
flags_unshaded = false
|
||||
flags_vertex_lighting = false
|
||||
flags_no_depth_test = false
|
||||
flags_use_point_size = false
|
||||
flags_world_triplanar = false
|
||||
flags_fixed_size = false
|
||||
flags_albedo_tex_force_srgb = false
|
||||
flags_do_not_receive_shadows = false
|
||||
flags_disable_ambient_light = false
|
||||
flags_ensure_correct_normals = false
|
||||
vertex_color_use_as_albedo = true
|
||||
vertex_color_is_srgb = true
|
||||
params_diffuse_mode = 0
|
||||
params_specular_mode = 0
|
||||
params_blend_mode = 0
|
||||
params_cull_mode = 0
|
||||
params_depth_draw_mode = 0
|
||||
params_line_width = 1.0
|
||||
params_point_size = 1.0
|
||||
params_billboard_mode = 3
|
||||
params_billboard_keep_scale = false
|
||||
params_grow = false
|
||||
params_use_alpha_scissor = false
|
||||
particles_anim_h_frames = 1
|
||||
particles_anim_v_frames = 1
|
||||
particles_anim_loop = 0
|
||||
albedo_color = Color( 1, 1, 1, 0.654902 )
|
||||
albedo_texture = ExtResource( 1 )
|
||||
metallic = 0.0
|
||||
metallic_specular = 0.5
|
||||
metallic_texture_channel = 0
|
||||
roughness = 1.0
|
||||
roughness_texture_channel = 0
|
||||
emission_enabled = false
|
||||
normal_enabled = true
|
||||
normal_scale = 1.0
|
||||
normal_texture = ExtResource( 2 )
|
||||
rim_enabled = false
|
||||
clearcoat_enabled = false
|
||||
anisotropy_enabled = false
|
||||
ao_enabled = false
|
||||
depth_enabled = false
|
||||
subsurf_scatter_enabled = false
|
||||
transmission_enabled = false
|
||||
refraction_enabled = false
|
||||
detail_enabled = false
|
||||
uv1_scale = Vector3( 1, 1, 1 )
|
||||
uv1_offset = Vector3( 0, 0, 0 )
|
||||
uv1_triplanar = false
|
||||
uv1_triplanar_sharpness = 1.0
|
||||
uv2_scale = Vector3( 1, 1, 1 )
|
||||
uv2_offset = Vector3( 0, 0, 0 )
|
||||
uv2_triplanar = false
|
||||
uv2_triplanar_sharpness = 1.0
|
||||
proximity_fade_enable = true
|
||||
proximity_fade_distance = 1.0
|
||||
distance_fade_mode = 0
|
||||
_sections_unfolded = [ "Albedo", "Flags", "Metallic", "NormalMap", "Parameters", "Proximity Fade", "Roughness", "Vertex Color" ]
|
||||
|
||||
[sub_resource type="QuadMesh" id=5]
|
||||
|
||||
material = SubResource( 4 )
|
||||
custom_aabb = AABB( 0, 0, 0, 0, 0, 0 )
|
||||
flip_faces = false
|
||||
size = Vector2( 1, 1 )
|
||||
|
||||
[node name="Spatial" type="Spatial"]
|
||||
|
||||
[node name="Particles" type="Particles" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0 )
|
||||
layers = 1
|
||||
material_override = null
|
||||
cast_shadow = 1
|
||||
extra_cull_margin = 0.0
|
||||
use_in_baked_light = false
|
||||
lod_min_distance = 0.0
|
||||
lod_min_hysteresis = 0.0
|
||||
lod_max_distance = 0.0
|
||||
lod_max_hysteresis = 0.0
|
||||
emitting = true
|
||||
amount = 3
|
||||
lifetime = 8.0
|
||||
one_shot = false
|
||||
preprocess = 0.0
|
||||
speed_scale = 0.3
|
||||
explosiveness = 0.0
|
||||
randomness = 0.0
|
||||
fixed_fps = 0
|
||||
fract_delta = true
|
||||
visibility_aabb = AABB( -4, -4, -4, 8, 8, 8 )
|
||||
local_coords = true
|
||||
draw_order = 0
|
||||
process_material = SubResource( 3 )
|
||||
draw_passes = 1
|
||||
draw_pass_1 = SubResource( 5 )
|
||||
_sections_unfolded = [ "Draw Passes", "Process Material", "Time", "draw_pass_1", "process_material" ]
|
||||
|
||||
BIN
fx/smoke/smoke_n.png
Normal file
|
After Width: | Height: | Size: 105 KiB |
31
fx/smoke/smoke_n.png.import
Normal file
@@ -0,0 +1,31 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/smoke_n.png-7a6c69884d1ce1241dad357f68ddea48.s3tc.stex"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://fx/smoke/smoke_n.png"
|
||||
dest_files=[ "res://.import/smoke_n.png-7a6c69884d1ce1241dad357f68ddea48.s3tc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=1
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
30
icon.png.import
Normal file
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
|
||||
|
||||
[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/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
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||