feat: implemented combat basics
This commit is contained in:
parent
fdea9b3fdc
commit
c322abdaa4
56 changed files with 2809 additions and 518 deletions
Binary file not shown.
Binary file not shown.
BIN
godot/models/animations/Fall_die.res
Normal file
BIN
godot/models/animations/Fall_die.res
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
215
godot/models/animations/character_tree.tres
Normal file
215
godot/models/animations/character_tree.tres
Normal file
|
|
@ -0,0 +1,215 @@
|
|||
[gd_resource type="AnimationNodeBlendTree" load_steps=39 format=3 uid="uid://c7rxfpfy7vt1b"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ukhqm"]
|
||||
animation = &"Aim"
|
||||
play_mode = 1
|
||||
use_custom_timeline = true
|
||||
timeline_length = 0.4
|
||||
stretch_time_scale = false
|
||||
start_offset = 0.0
|
||||
loop_mode = 0
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nhlru"]
|
||||
animation = &"Aim"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8rbkq"]
|
||||
animation = &"Aim_Fire"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ugv1e"]
|
||||
animation = &"RESET"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ds004"]
|
||||
animation = &"RESET"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_axx41"]
|
||||
animation = &"Run_forward"
|
||||
use_custom_timeline = true
|
||||
timeline_length = 0.633
|
||||
stretch_time_scale = true
|
||||
start_offset = 0.0
|
||||
loop_mode = 1
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_aunq0"]
|
||||
filter_enabled = true
|
||||
filters = ["skeleton_character/Skeleton3D:Foot.L", "skeleton_character/Skeleton3D:Foot.R", "skeleton_character/Skeleton3D:IKTarget.Foot.L", "skeleton_character/Skeleton3D:IKTarget.Foot.R", "skeleton_character/Skeleton3D:Neck", "skeleton_character/Skeleton3D:PoleTarget.Foot.L", "skeleton_character/Skeleton3D:PoleTarget.Foot.R", "skeleton_character/Skeleton3D:hip", "skeleton_character/Skeleton3D:lowerleg.L", "skeleton_character/Skeleton3D:lowerleg.R", "skeleton_character/Skeleton3D:root", "skeleton_character/Skeleton3D:spine.001", "skeleton_character/Skeleton3D:spine.002", "skeleton_character/Skeleton3D:spine.003", "skeleton_character/Skeleton3D:upperleg.L", "skeleton_character/Skeleton3D:upperleg.R"]
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_hmklb"]
|
||||
graph_offset = Vector2(-813.273, 105.409)
|
||||
nodes/Rest/node = SubResource("AnimationNodeAnimation_ds004")
|
||||
nodes/Rest/position = Vector2(-160, 160)
|
||||
nodes/Run/node = SubResource("AnimationNodeAnimation_axx41")
|
||||
nodes/Run/position = Vector2(-160, 380)
|
||||
nodes/Speed/node = SubResource("AnimationNodeBlend2_aunq0")
|
||||
nodes/Speed/position = Vector2(80, 140)
|
||||
nodes/output/position = Vector2(320, 140)
|
||||
node_connections = [&"Speed", 0, &"Rest", &"Speed", 1, &"Run", &"output", 0, &"Speed"]
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_4hmb8"]
|
||||
filter_enabled = true
|
||||
filters = ["Character/Skeleton3D:Foot.L", "Character/Skeleton3D:Foot.R", "Character/Skeleton3D:IKTarget.Foot.L", "Character/Skeleton3D:IKTarget.Foot.R", "Character/Skeleton3D:Neck", "Character/Skeleton3D:PoleTarget.Foot.L", "Character/Skeleton3D:PoleTarget.Foot.R", "Character/Skeleton3D:hip", "Character/Skeleton3D:lowerleg.L", "Character/Skeleton3D:lowerleg.R", "Character/Skeleton3D:root", "Character/Skeleton3D:spine.003", "Character/Skeleton3D:upperleg.L", "Character/Skeleton3D:upperleg.R"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_5n7ai"]
|
||||
animation = &"RESET"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_pwhry"]
|
||||
animation = &"Turn_right"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_rasdy"]
|
||||
animation = &"Turn_left"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_xgea8"]
|
||||
animation = &"RESET"
|
||||
|
||||
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_kxn5j"]
|
||||
blend_point_0/node = SubResource("AnimationNodeAnimation_pwhry")
|
||||
blend_point_0/pos = -1.0
|
||||
blend_point_1/node = SubResource("AnimationNodeAnimation_rasdy")
|
||||
blend_point_1/pos = 1.0
|
||||
blend_point_2/node = SubResource("AnimationNodeAnimation_xgea8")
|
||||
blend_point_2/pos = 0.0
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_p0hk7"]
|
||||
graph_offset = Vector2(-480.5, 90)
|
||||
nodes/BoneMask/node = SubResource("AnimationNodeBlend2_4hmb8")
|
||||
nodes/BoneMask/position = Vector2(140, 140)
|
||||
nodes/Rest/node = SubResource("AnimationNodeAnimation_5n7ai")
|
||||
nodes/Rest/position = Vector2(-100, 160)
|
||||
nodes/Turn/node = SubResource("AnimationNodeBlendSpace1D_kxn5j")
|
||||
nodes/Turn/position = Vector2(-100, 380)
|
||||
nodes/output/position = Vector2(380, 140)
|
||||
node_connections = [&"BoneMask", 0, &"Rest", &"BoneMask", 1, &"Turn", &"output", 0, &"BoneMask"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7ceai"]
|
||||
animation = &"RESET"
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_rb1jd"]
|
||||
filter_enabled = true
|
||||
filters = ["Character/Skeleton3D:Foot.L", "Character/Skeleton3D:Foot.R", "Character/Skeleton3D:IKTarget.Foot.L", "Character/Skeleton3D:IKTarget.Foot.R", "Character/Skeleton3D:hip", "Character/Skeleton3D:lowerleg.L", "Character/Skeleton3D:lowerleg.R", "Character/Skeleton3D:root", "Character/Skeleton3D:upperleg.L", "Character/Skeleton3D:upperleg.R", "skeleton_character/Skeleton3D:Foot.L", "skeleton_character/Skeleton3D:Foot.R", "skeleton_character/Skeleton3D:IKTarget.Foot.L", "skeleton_character/Skeleton3D:IKTarget.Foot.R", "skeleton_character/Skeleton3D:PoleTarget.Foot.L", "skeleton_character/Skeleton3D:PoleTarget.Foot.R", "skeleton_character/Skeleton3D:hip", "skeleton_character/Skeleton3D:lowerleg.L", "skeleton_character/Skeleton3D:lowerleg.R", "skeleton_character/Skeleton3D:root", "skeleton_character/Skeleton3D:spine.001", "skeleton_character/Skeleton3D:upperleg.L", "skeleton_character/Skeleton3D:upperleg.R"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_psu0r"]
|
||||
animation = &"Walk_forward"
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_2mbyh"]
|
||||
graph_offset = Vector2(-724.58, 74.5681)
|
||||
nodes/Base/node = SubResource("AnimationNodeAnimation_7ceai")
|
||||
nodes/Base/position = Vector2(-120, 120)
|
||||
nodes/Speed/node = SubResource("AnimationNodeBlend2_rb1jd")
|
||||
nodes/Speed/position = Vector2(100, 120)
|
||||
nodes/Walk/node = SubResource("AnimationNodeAnimation_psu0r")
|
||||
nodes/Walk/position = Vector2(-140, 300)
|
||||
node_connections = [&"Speed", 0, &"Base", &"Speed", 1, &"Walk", &"output", 0, &"Speed"]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4lybd"]
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
advance_expression = "!aim_weapon"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5aafd"]
|
||||
xfade_time = 0.3
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
advance_expression = "get_input_direction() > 0.f"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8f4gl"]
|
||||
priority = 2
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
advance_expression = "get_fire_weapon()"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xnat3"]
|
||||
reset = false
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_12bos"]
|
||||
advance_mode = 2
|
||||
advance_expression = "get_input_directions().y < -0.5"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n0ndr"]
|
||||
priority = 2
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0wc5e"]
|
||||
xfade_time = 0.2
|
||||
priority = 2
|
||||
advance_mode = 2
|
||||
advance_expression = "!is_walking || walk_speed <= 0.0"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4hisb"]
|
||||
xfade_time = 0.2
|
||||
advance_mode = 2
|
||||
advance_expression = "is_walking && walk_speed > 0.0"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bmty6"]
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kyd6p"]
|
||||
xfade_time = 0.05
|
||||
advance_mode = 2
|
||||
advance_expression = "aim_weapon"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_w5kob"]
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_g0i3x"]
|
||||
xfade_time = 0.4
|
||||
advance_mode = 2
|
||||
advance_expression = "get_is_running()
|
||||
"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ocffv"]
|
||||
xfade_time = 0.3
|
||||
advance_mode = 2
|
||||
advance_expression = "get_is_running()
|
||||
"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h0my5"]
|
||||
xfade_time = 0.4
|
||||
advance_mode = 2
|
||||
advance_expression = "!get_is_running()"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nymcr"]
|
||||
xfade_time = 0.3
|
||||
advance_mode = 2
|
||||
advance_expression = "!get_is_running()"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_7smdg"]
|
||||
"states/Aim Down [aim]/node" = SubResource("AnimationNodeAnimation_ukhqm")
|
||||
"states/Aim Down [aim]/position" = Vector2(666.26, 226.767)
|
||||
"states/Aim [aim] [turn]/node" = SubResource("AnimationNodeAnimation_nhlru")
|
||||
"states/Aim [aim] [turn]/position" = Vector2(731.26, 94.3447)
|
||||
states/End/position = Vector2(195.182, 94.3447)
|
||||
"states/Fire [aim]/node" = SubResource("AnimationNodeAnimation_8rbkq")
|
||||
"states/Fire [aim]/position" = Vector2(731.26, 14.954)
|
||||
"states/RESET To Aim/node" = SubResource("AnimationNodeAnimation_ugv1e")
|
||||
"states/RESET To Aim/position" = Vector2(566.993, 94.3447)
|
||||
states/Run/node = SubResource("AnimationNodeBlendTree_hmklb")
|
||||
states/Run/position = Vector2(297.422, 226.767)
|
||||
states/Start/position = Vector2(383.995, 14.954)
|
||||
"states/Stationary [turn]/node" = SubResource("AnimationNodeBlendTree_p0hk7")
|
||||
"states/Stationary [turn]/position" = Vector2(383.995, 94.3447)
|
||||
"states/Walk [turn]/node" = SubResource("AnimationNodeBlendTree_2mbyh")
|
||||
"states/Walk [turn]/position" = Vector2(477.995, 226.767)
|
||||
transitions = ["Aim [aim] [turn]", "Aim Down [aim]", SubResource("AnimationNodeStateMachineTransition_4lybd"), "Aim Down [aim]", "Walk [turn]", SubResource("AnimationNodeStateMachineTransition_5aafd"), "Aim [aim] [turn]", "Fire [aim]", SubResource("AnimationNodeStateMachineTransition_8f4gl"), "Fire [aim]", "Aim [aim] [turn]", SubResource("AnimationNodeStateMachineTransition_xnat3"), "Walk [turn]", "Aim [aim] [turn]", SubResource("AnimationNodeStateMachineTransition_12bos"), "Aim Down [aim]", "Stationary [turn]", SubResource("AnimationNodeStateMachineTransition_n0ndr"), "Walk [turn]", "Stationary [turn]", SubResource("AnimationNodeStateMachineTransition_0wc5e"), "Stationary [turn]", "Walk [turn]", SubResource("AnimationNodeStateMachineTransition_4hisb"), "Start", "Stationary [turn]", SubResource("AnimationNodeStateMachineTransition_bmty6"), "Stationary [turn]", "RESET To Aim", SubResource("AnimationNodeStateMachineTransition_kyd6p"), "RESET To Aim", "Aim [aim] [turn]", SubResource("AnimationNodeStateMachineTransition_w5kob"), "Stationary [turn]", "Run", SubResource("AnimationNodeStateMachineTransition_g0i3x"), "Walk [turn]", "Run", SubResource("AnimationNodeStateMachineTransition_ocffv"), "Run", "Stationary [turn]", SubResource("AnimationNodeStateMachineTransition_h0my5"), "Run", "Walk [turn]", SubResource("AnimationNodeStateMachineTransition_nymcr")]
|
||||
graph_offset = Vector2(162.422, 4.345)
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_au62i"]
|
||||
animation = &"Fall_die"
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_av3pm"]
|
||||
|
||||
[sub_resource type="AnimationNodeTimeSeek" id="AnimationNodeTimeSeek_p56ym"]
|
||||
|
||||
[resource]
|
||||
nodes/Actions/node = SubResource("AnimationNodeStateMachine_7smdg")
|
||||
nodes/Actions/position = Vector2(0, 140)
|
||||
nodes/Death/node = SubResource("AnimationNodeAnimation_au62i")
|
||||
nodes/Death/position = Vector2(-200, 300)
|
||||
nodes/DeathBlend/node = SubResource("AnimationNodeBlend2_av3pm")
|
||||
nodes/DeathBlend/position = Vector2(180, 140)
|
||||
nodes/DeathSeek/node = SubResource("AnimationNodeTimeSeek_p56ym")
|
||||
nodes/DeathSeek/position = Vector2(20, 300)
|
||||
nodes/output/position = Vector2(327.273, 163.636)
|
||||
node_connections = [&"DeathBlend", 0, &"Actions", &"DeathBlend", 1, &"DeathSeek", &"DeathSeek", 0, &"Death", &"output", 0, &"DeathBlend"]
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:74d3e24b17ef60e247aed9ed2a48c9cad95b981312439e0573f88aa587a54531
|
||||
size 2017096
|
||||
oid sha256:915183045de306484168edefdd321c4b0fcf4ba83348536102a4d748c98b7f61
|
||||
size 2372336
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
3
godot/models/character_muzzleflash.png
Normal file
3
godot/models/character_muzzleflash.png
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8998ebcf9b8147bbe4edd71e40feac24f0ed4296c54c4f3219461c77de8a6b7c
|
||||
size 218335
|
||||
38
godot/models/character_muzzleflash.png.import
Normal file
38
godot/models/character_muzzleflash.png.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cr6iscmse3pja"
|
||||
path.s3tc="res://.godot/imported/character_muzzleflash.png-982b5cc9aafb2911f8e3e2752c795058.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "d02c4037a6c9c0bec62182aef0071f85"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://models/character_muzzleflash.png"
|
||||
dest_files=["res://.godot/imported/character_muzzleflash.png-982b5cc9aafb2911f8e3e2752c795058.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
16
godot/models/materials/Gunshot.tres
Normal file
16
godot/models/materials/Gunshot.tres
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://38dxpo5acw13"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cr6iscmse3pja" path="res://models/character_muzzleflash.png" id="1_2oiaa"]
|
||||
|
||||
[resource]
|
||||
resource_name = "Gunshot"
|
||||
transparency = 3
|
||||
alpha_hash_scale = 1.0
|
||||
alpha_antialiasing_mode = 1
|
||||
alpha_antialiasing_edge = 0.3
|
||||
cull_mode = 2
|
||||
shading_mode = 0
|
||||
diffuse_mode = 3
|
||||
specular_mode = 1
|
||||
albedo_texture = ExtResource("1_2oiaa")
|
||||
texture_repeat = false
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5c546fdfeadb40663f4ab84cd2711f94e1e7ef183f5faf5c09e27c54210d0109
|
||||
size 8134928
|
||||
oid sha256:9cd36b8939c5584f1e8188eb4c1bdbc3d9d9455441b8937517a2cc150bb9c815
|
||||
size 8134804
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ba49beee1728494f58e21f2d9e8ea0aad61bb5cef5c6b1f4ed5fbbf99bcdddc5
|
||||
size 7717648
|
||||
oid sha256:2e2e49d4de4e0d1c9f0804741cc656f9eff22b0f4dfb0e12c2e10d3ac51c6f53
|
||||
size 7717900
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:906060860d57464b1e1a4b1a9db9ec50de73b2acd1255e3cb432480a6784d50c
|
||||
size 7715712
|
||||
oid sha256:467530e034f27b891b1dd2010ee2beb3a6544ca04244e66054bec547136ff5b9
|
||||
size 7720232
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue