feat: redid all of the textures and some of the lighting
parent
75ada519b8
commit
d2202e960e
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=11 format=3 uid="uid://c2kiuk2yxdlfr"]
|
||||
[gd_scene load_steps=12 format=3 uid="uid://c2kiuk2yxdlfr"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://1kr3qqan3trk" path="res://objects/player.tscn" id="1_7kr4i"]
|
||||
[ext_resource type="Environment" uid="uid://c1vy5rxxddw78" path="res://lighting/foggy_morning.tres" id="2_kx8fd"]
|
||||
|
@ -6,9 +6,10 @@
|
|||
[ext_resource type="PackedScene" uid="uid://c71yj2qpupn33" path="res://models/props/dirtpile_large.glb" id="4_vf68b"]
|
||||
[ext_resource type="PackedScene" uid="uid://brdhoy3efmba" path="res://models/props/trenchfloor.glb" id="5_styg7"]
|
||||
[ext_resource type="PackedScene" uid="uid://cesooq708ot6t" path="res://models/props/dirtpile_wall.glb" id="5_ww7ac"]
|
||||
[ext_resource type="VoxelGIData" uid="uid://c3vqmnn5wr100" path="res://lighting/boot_voxelgi.tres" id="7_fekdf"]
|
||||
[ext_resource type="Material" uid="uid://d0b6hpvc2dm8i" path="res://particles/floating_sparks.tres" id="8_i7y86"]
|
||||
[ext_resource type="Material" uid="uid://cjos8bwux43wt" path="res://particles/materials/sparks_material.tres" id="9_dsqky"]
|
||||
[ext_resource type="VoxelGIData" uid="uid://c3vqmnn5wr100" path="res://lighting/boot_voxelgi.tres" id="9_h7qgh"]
|
||||
[ext_resource type="ArrayOccluder3D" uid="uid://br22mqb65v0hg" path="res://occlusion/boot.occ" id="10_p3lbh"]
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_njmmu"]
|
||||
material = ExtResource("9_dsqky")
|
||||
|
@ -38,18 +39,19 @@ draw_pass_1 = SubResource("QuadMesh_njmmu")
|
|||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = ExtResource("2_kx8fd")
|
||||
|
||||
[node name="VoxelGI" type="VoxelGI" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.659275, 1.29617, -11.0996)
|
||||
size = Vector3(15.1357, 2.81354, 23.498)
|
||||
data = ExtResource("7_fekdf")
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(-0.911711, 0.169136, -0.374401, -0.0262562, 0.885472, 0.46395, 0.409993, 0.432819, -0.802854, -0.467237, 0.314178, -2.4707)
|
||||
transform = Transform3D(-0.789875, -0.518225, 0.327934, -0.0262562, 0.562818, 0.826164, -0.612705, 0.643956, -0.458163, 0.295643, 3.22867, -2.4707)
|
||||
light_color = Color(1, 0.776887, 0.559189, 1)
|
||||
light_energy = 0.463
|
||||
light_energy = 0.708
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 0.0
|
||||
shadow_normal_bias = 4.041
|
||||
|
||||
[node name="VoxelGI" type="VoxelGI" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.57296, 1.2854, -10.8712)
|
||||
subdiv = 2
|
||||
size = Vector3(11.5071, 3.49072, 23.3609)
|
||||
data = ExtResource("9_h7qgh")
|
||||
|
||||
[node name="trenchwall_2m" parent="WorldEnvironment" instance=ExtResource("3_0aqqw")]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.367768, 0, -0.546675)
|
||||
|
@ -203,3 +205,8 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -4.139
|
|||
|
||||
[node name="trenchfloor16" parent="WorldEnvironment" instance=ExtResource("5_styg7")]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -1.85584, -2.38419e-07, -20.5581)
|
||||
|
||||
[node name="OccluderInstance3D" type="OccluderInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0)
|
||||
occluder = ExtResource("10_p3lbh")
|
||||
bake_simplification_distance = 0.5
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -13,11 +13,15 @@ sky_material = SubResource("ProceduralSkyMaterial_c8r8t")
|
|||
[resource]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_v6osu")
|
||||
ambient_light_source = 3
|
||||
ambient_light_source = 2
|
||||
ambient_light_color = Color(0.255608, 0.241989, 0.226984, 1)
|
||||
ambient_light_energy = 0.0
|
||||
reflected_light_source = 2
|
||||
ssil_enabled = true
|
||||
fog_enabled = true
|
||||
fog_light_color = Color(0.180933, 0.137326, 0.120214, 1)
|
||||
fog_density = 0.1718
|
||||
volumetric_fog_enabled = true
|
||||
fog_sun_scatter = 0.05
|
||||
fog_density = 0.0239
|
||||
fog_height = 1.5
|
||||
fog_height_density = 0.2743
|
||||
volumetric_fog_density = 0.1044
|
||||
volumetric_fog_albedo = Color(0.75118, 0.640533, 0.588017, 1)
|
||||
|
|
Binary file not shown.
Binary file not shown.
BIN
godot/models/character.glb (Stored with Git LFS)
BIN
godot/models/character.glb (Stored with Git LFS)
Binary file not shown.
|
@ -8,3 +8,6 @@ transparency = 4
|
|||
cull_mode = 2
|
||||
specular_mode = 1
|
||||
albedo_texture = ExtResource("1_54a4n")
|
||||
distance_fade_mode = 2
|
||||
distance_fade_min_distance = 0.2
|
||||
distance_fade_max_distance = 0.3
|
||||
|
|
BIN
godot/models/props/dirtpile_large.glb (Stored with Git LFS)
BIN
godot/models/props/dirtpile_large.glb (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -2,20 +2,20 @@
|
|||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://1jreew0ibpxu"
|
||||
path.s3tc="res://.godot/imported/trenchwall_2m_rotten_planks.jpg-996b21007da6b69c7707a980d5d9ece8.s3tc.ctex"
|
||||
uid="uid://2khh074pibhb"
|
||||
path.s3tc="res://.godot/imported/dirtpile_large_dirt.png-0963aed12bfac1608c15c078a0f0f758.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "5a7fbc0b56a3dcf96c7f10e4c19fe3f0"
|
||||
"md5": "d3ffd510092233bc8ee0d9af9a43c154"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://models/props/trenchwall_2m_rotten_planks.jpg"
|
||||
dest_files=["res://.godot/imported/trenchwall_2m_rotten_planks.jpg-996b21007da6b69c7707a980d5d9ece8.s3tc.ctex"]
|
||||
source_file="res://models/props/dirtpile_large_dirt.png"
|
||||
dest_files=["res://.godot/imported/dirtpile_large_dirt.png-0963aed12bfac1608c15c078a0f0f758.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
Binary file not shown.
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://kplwqn5m4twx"
|
||||
path.s3tc="res://.godot/imported/dirtpile_large_dirt_normal.png-2e3044645c092feb4a68c9ddef0b51b9.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "afeb59ed76660795607a2c64e9614acd"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://models/props/dirtpile_large_dirt_normal.png"
|
||||
dest_files=["res://.godot/imported/dirtpile_large_dirt_normal.png-2e3044645c092feb4a68c9ddef0b51b9.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://models/props/dirtpile_large_dirt_normal.png"
|
||||
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
|
BIN
godot/models/props/dirtpile_wall.glb (Stored with Git LFS)
BIN
godot/models/props/dirtpile_wall.glb (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://chfaup162us2a"
|
||||
path.s3tc="res://.godot/imported/dirtpile_wall_dirt.png-0d2b41500a1fab80d4ff8229589a1ff4.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "d3ffd510092233bc8ee0d9af9a43c154"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://models/props/dirtpile_wall_dirt.png"
|
||||
dest_files=["res://.godot/imported/dirtpile_wall_dirt.png-0d2b41500a1fab80d4ff8229589a1ff4.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
|
Binary file not shown.
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://yoav4hdnu4fk"
|
||||
path.s3tc="res://.godot/imported/dirtpile_wall_dirt_normal.png-e776d01ff05904f8f46d1cd20d5c6f7a.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "afeb59ed76660795607a2c64e9614acd"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://models/props/dirtpile_wall_dirt_normal.png"
|
||||
dest_files=["res://.godot/imported/dirtpile_wall_dirt_normal.png-e776d01ff05904f8f46d1cd20d5c6f7a.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://models/props/dirtpile_wall_dirt_normal.png"
|
||||
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
|
|
@ -1,9 +1,13 @@
|
|||
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://fa87jbiwsplk"]
|
||||
[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://fa87jbiwsplk"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dkds3kukh7055" path="res://models/props/dirtpile_wall_soil.jpg" id="1_ike1o"]
|
||||
[ext_resource type="Texture2D" uid="uid://2khh074pibhb" path="res://models/props/dirtpile_large_dirt.png" id="1_1d2ym"]
|
||||
[ext_resource type="Texture2D" uid="uid://kplwqn5m4twx" path="res://models/props/dirtpile_large_dirt_normal.png" id="2_4oxut"]
|
||||
|
||||
[resource]
|
||||
resource_name = "Mud"
|
||||
specular_mode = 1
|
||||
albedo_texture = ExtResource("1_ike1o")
|
||||
albedo_texture = ExtResource("1_1d2ym")
|
||||
metallic = 0.497409
|
||||
roughness = 0.39
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("2_4oxut")
|
||||
|
|
|
@ -1,10 +1,16 @@
|
|||
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://brsn1svvuegjo"]
|
||||
[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://c82erqfo7amx5"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://1jreew0ibpxu" path="res://models/props/trenchwall_2m_rotten_planks.jpg" id="1_3si8l"]
|
||||
[ext_resource type="Texture2D" uid="uid://c7vceqjnc4boe" path="res://models/props/trenchwall_2m_planks.png" id="1_3dunn"]
|
||||
[ext_resource type="Texture2D" uid="uid://c08y3xwk0juqv" path="res://models/props/trenchwall_2m_planks_normal.png" id="2_jylb1"]
|
||||
|
||||
[resource]
|
||||
resource_name = "Planks"
|
||||
specular_mode = 1
|
||||
albedo_texture = ExtResource("1_3si8l")
|
||||
metallic = 0.367876
|
||||
albedo_texture = ExtResource("1_3dunn")
|
||||
metallic = 0.231512
|
||||
roughness = 0.873057
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("2_jylb1")
|
||||
distance_fade_mode = 2
|
||||
distance_fade_min_distance = 0.2
|
||||
distance_fade_max_distance = 0.3
|
||||
|
|
BIN
godot/models/props/trenchfloor.glb (Stored with Git LFS)
BIN
godot/models/props/trenchfloor.glb (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d1dl1xmadsup"
|
||||
path.s3tc="res://.godot/imported/trenchfloor_dirt.png-faa7429828a10be2db55d64873e98b27.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "d3ffd510092233bc8ee0d9af9a43c154"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://models/props/trenchfloor_dirt.png"
|
||||
dest_files=["res://.godot/imported/trenchfloor_dirt.png-faa7429828a10be2db55d64873e98b27.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
|
Binary file not shown.
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bft0cscbtxdro"
|
||||
path.s3tc="res://.godot/imported/trenchfloor_dirt_normal.png-dc42ff2c2a150d465ac70dde8de29660.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "afeb59ed76660795607a2c64e9614acd"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://models/props/trenchfloor_dirt_normal.png"
|
||||
dest_files=["res://.godot/imported/trenchfloor_dirt_normal.png-dc42ff2c2a150d465ac70dde8de29660.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://models/props/trenchfloor_dirt_normal.png"
|
||||
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
|
BIN
godot/models/props/trenchwall_2m.glb (Stored with Git LFS)
BIN
godot/models/props/trenchwall_2m.glb (Stored with Git LFS)
Binary file not shown.
|
@ -40,7 +40,6 @@ _subresources={
|
|||
},
|
||||
"nodes": {
|
||||
"PATH:trenchwall": {
|
||||
"generate/occluder": 1,
|
||||
"mesh_instance/cast_shadow": 2
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c7vceqjnc4boe"
|
||||
path.s3tc="res://.godot/imported/trenchwall_2m_planks.png-74932e166321e8ef5412bc1ad060c5fa.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "9a04a9ca6cb72f21abef3f2804c5e752"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://models/props/trenchwall_2m_planks.png"
|
||||
dest_files=["res://.godot/imported/trenchwall_2m_planks.png-74932e166321e8ef5412bc1ad060c5fa.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
|
Binary file not shown.
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c08y3xwk0juqv"
|
||||
path.s3tc="res://.godot/imported/trenchwall_2m_planks_normal.png-c6197edc553e4ca5c68c95d693f642ea.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "6e727784c943200bad88fe614defb855"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://models/props/trenchwall_2m_planks_normal.png"
|
||||
dest_files=["res://.godot/imported/trenchwall_2m_planks_normal.png-c6197edc553e4ca5c68c95d693f642ea.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://models/props/trenchwall_2m_planks_normal.png"
|
||||
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
|
BIN
godot/models/props/trenchwall_2m_rotten_planks.jpg (Stored with Git LFS)
BIN
godot/models/props/trenchwall_2m_rotten_planks.jpg (Stored with Git LFS)
Binary file not shown.
|
@ -1,53 +1,75 @@
|
|||
[gd_scene load_steps=13 format=3 uid="uid://1kr3qqan3trk"]
|
||||
[gd_scene load_steps=17 format=3 uid="uid://1kr3qqan3trk"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://vub54xgk5n0h" path="res://models/character.glb" id="1_mi4co"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ciynh"]
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dqnnp"]
|
||||
animation = &"RESET"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_gisb0"]
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7ceai"]
|
||||
animation = &"RESET"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_0j2x4"]
|
||||
animation = &"Walk_forward"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8e5fb"]
|
||||
animation = &"RESET"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_mpr7b"]
|
||||
animation = &"RESET"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_p13dl"]
|
||||
animation = &"RESET"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_s1ris"]
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_r3eap"]
|
||||
animation = &"Walk_forward"
|
||||
|
||||
[sub_resource type="AnimationNodeBlendSpace2D" id="AnimationNodeBlendSpace2D_5fikn"]
|
||||
blend_point_0/node = SubResource("AnimationNodeAnimation_gisb0")
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vquhy"]
|
||||
animation = &"Walk_forward"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_47722"]
|
||||
animation = &"Walk_forward"
|
||||
|
||||
[sub_resource type="AnimationNodeBlendSpace2D" id="AnimationNodeBlendSpace2D_kg3k3"]
|
||||
blend_point_0/node = SubResource("AnimationNodeAnimation_0j2x4")
|
||||
blend_point_0/pos = Vector2(0, 1)
|
||||
blend_point_1/node = SubResource("AnimationNodeAnimation_8e5fb")
|
||||
blend_point_1/pos = Vector2(0, 0)
|
||||
blend_point_2/node = SubResource("AnimationNodeAnimation_mpr7b")
|
||||
blend_point_2/pos = Vector2(-1, 0)
|
||||
blend_point_3/node = SubResource("AnimationNodeAnimation_p13dl")
|
||||
blend_point_3/pos = Vector2(1, 0)
|
||||
blend_point_4/node = SubResource("AnimationNodeAnimation_s1ris")
|
||||
blend_point_4/pos = Vector2(0, -1)
|
||||
blend_point_1/node = SubResource("AnimationNodeAnimation_r3eap")
|
||||
blend_point_1/pos = Vector2(-1, 0)
|
||||
blend_point_2/node = SubResource("AnimationNodeAnimation_vquhy")
|
||||
blend_point_2/pos = Vector2(1, 0)
|
||||
blend_point_3/node = SubResource("AnimationNodeAnimation_47722")
|
||||
blend_point_3/pos = Vector2(0, -1)
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_thyyf"]
|
||||
[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:PoleTarget.Foot.L", "Character/Skeleton3D:PoleTarget.Foot.R", "Character/Skeleton3D:hip", "Character/Skeleton3D:lowerleg.L", "Character/Skeleton3D:lowerleg.R", "Character/Skeleton3D:root", "Character/Skeleton3D:upperleg.L", "Character/Skeleton3D:upperleg.R"]
|
||||
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"]
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_2mbyh"]
|
||||
graph_offset = Vector2(-705, 40)
|
||||
nodes/Base/node = SubResource("AnimationNodeAnimation_7ceai")
|
||||
nodes/Base/position = Vector2(-120, 120)
|
||||
nodes/Move/node = SubResource("AnimationNodeBlendSpace2D_kg3k3")
|
||||
nodes/Move/position = Vector2(-140, 280)
|
||||
nodes/Override/node = SubResource("AnimationNodeBlend2_rb1jd")
|
||||
nodes/Override/position = Vector2(100, 120)
|
||||
node_connections = [&"Override", 0, &"Base", &"Override", 1, &"Move", &"output", 0, &"Override"]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3mk5o"]
|
||||
xfade_time = 0.2
|
||||
advance_mode = 2
|
||||
advance_expression = "!input_directions.is_zero_approx()"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mf4y3"]
|
||||
xfade_time = 0.2
|
||||
advance_mode = 2
|
||||
advance_expression = "input_directions.is_zero_approx()"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_trxba"]
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_7smdg"]
|
||||
states/Default/node = SubResource("AnimationNodeAnimation_dqnnp")
|
||||
states/Default/position = Vector2(338, 100)
|
||||
states/Start/position = Vector2(204, 100)
|
||||
states/Walk/node = SubResource("AnimationNodeBlendTree_2mbyh")
|
||||
states/Walk/position = Vector2(338, 197.5)
|
||||
transitions = ["Default", "Walk", SubResource("AnimationNodeStateMachineTransition_3mk5o"), "Walk", "Default", SubResource("AnimationNodeStateMachineTransition_mf4y3"), "Start", "Default", SubResource("AnimationNodeStateMachineTransition_trxba")]
|
||||
graph_offset = Vector2(-307, -30.5)
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_hiswf"]
|
||||
nodes/Idle/node = SubResource("AnimationNodeAnimation_ciynh")
|
||||
nodes/Idle/position = Vector2(-140, 160)
|
||||
nodes/Movement/node = SubResource("AnimationNodeBlendSpace2D_5fikn")
|
||||
nodes/Movement/position = Vector2(-160, 300)
|
||||
nodes/MovementBlend/node = SubResource("AnimationNodeBlend2_thyyf")
|
||||
nodes/MovementBlend/position = Vector2(100, 160)
|
||||
nodes/StateMachine/node = SubResource("AnimationNodeStateMachine_7smdg")
|
||||
nodes/StateMachine/position = Vector2(72, 449.5)
|
||||
node_connections = [&"MovementBlend", 0, &"Idle", &"MovementBlend", 1, &"Movement", &"output", 0, &"MovementBlend"]
|
||||
nodes/Actions/node = SubResource("AnimationNodeStateMachine_7smdg")
|
||||
nodes/Actions/position = Vector2(20, 140)
|
||||
node_connections = [&"output", 0, &"Actions"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_ewsvd"]
|
||||
radius = 0.370388
|
||||
|
@ -58,111 +80,111 @@ floor_constant_speed = true
|
|||
[node name="PlayerInput" type="PlayerInput" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="AnimationTree" type="AnimationTree" parent="."]
|
||||
unique_name_in_owner = true
|
||||
root_node = NodePath("%CharacterModel")
|
||||
root_motion_track = NodePath("Character/Skeleton3D:root")
|
||||
tree_root = SubResource("AnimationNodeBlendTree_hiswf")
|
||||
anim_player = NodePath("../CharacterModel/AnimationPlayer")
|
||||
parameters/Movement/blend_position = Vector2(0, 1)
|
||||
parameters/MovementBlend/blend_amount = 1.0
|
||||
|
||||
[node name="CharacterModel" parent="." instance=ExtResource("1_mi4co")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0337329, 0)
|
||||
|
||||
[node name="Skeleton3D" parent="CharacterModel/Character" index="0"]
|
||||
bones/0/rotation = Quaternion(1.12928e-22, 1, 2.98023e-08, -1.94707e-07)
|
||||
bones/1/position = Vector3(-7.81751e-17, 0.826102, -2.26306e-09)
|
||||
bones/1/rotation = Quaternion(-0.0189873, -2.29049e-11, -1.20665e-09, 0.99982)
|
||||
bones/1/position = Vector3(3.28472e-17, 0.826102, -2.26306e-09)
|
||||
bones/1/rotation = Quaternion(-0.0189873, -6.3066e-09, -1.08731e-09, 0.99982)
|
||||
bones/3/rotation = Quaternion(-0.013812, -0.124595, 8.42949e-05, 0.992112)
|
||||
bones/4/rotation = Quaternion(0.0100466, -6.40205e-12, 6.37037e-10, 0.99995)
|
||||
bones/5/rotation = Quaternion(-0.155668, -0.0127093, -0.131048, 0.978996)
|
||||
bones/6/rotation = Quaternion(0.622596, -0.0622781, 0.281255, -0.727593)
|
||||
bones/7/rotation = Quaternion(-0.182054, -0.0246642, -0.28686, 0.940191)
|
||||
bones/8/rotation = Quaternion(-0.075374, 0.077368, 0.904636, 0.41227)
|
||||
bones/8/scale = Vector3(1, 1, 1)
|
||||
bones/9/rotation = Quaternion(0.133883, 0.153795, -0.700613, 0.683787)
|
||||
bones/10/rotation = Quaternion(-0.160687, -0.0459479, -0.0475321, 0.984789)
|
||||
bones/4/rotation = Quaternion(0.0100466, 3.28411e-09, 6.2804e-10, 0.99995)
|
||||
bones/5/rotation = Quaternion(-0.0233085, 0.0669743, -0.00156502, 0.997481)
|
||||
bones/6/rotation = Quaternion(0.623077, 0.672557, 0.307599, -0.254607)
|
||||
bones/7/rotation = Quaternion(-0.311931, -0.528262, 0.360764, 0.702487)
|
||||
bones/8/rotation = Quaternion(0.385362, 0.19105, 0.552643, 0.71385)
|
||||
bones/9/rotation = Quaternion(0.204715, 0.0914037, 0.275611, 0.93476)
|
||||
bones/10/rotation = Quaternion(-0.160687, -0.0459478, -0.0475321, 0.984789)
|
||||
bones/10/scale = Vector3(1, 1, 1)
|
||||
bones/11/rotation = Quaternion(-0.030518, -0.0130498, -0.0216153, 0.999215)
|
||||
bones/11/scale = Vector3(1, 1, 1)
|
||||
bones/12/rotation = Quaternion(0.00872485, 0.00565777, 0.00131026, 0.999945)
|
||||
bones/12/rotation = Quaternion(0.00872479, 0.00565773, 0.00131029, 0.999945)
|
||||
bones/12/scale = Vector3(1, 1, 1)
|
||||
bones/13/rotation = Quaternion(-0.617934, -0.0462445, 0.180663, 0.763793)
|
||||
bones/13/scale = Vector3(1, 1, 1)
|
||||
bones/14/rotation = Quaternion(-0.23045, 0.0743405, 0.160693, 0.956841)
|
||||
bones/14/scale = Vector3(1, 1, 1)
|
||||
bones/15/rotation = Quaternion(-0.541263, -0.0075276, 0.238029, 0.806424)
|
||||
bones/14/rotation = Quaternion(-0.23045, 0.0743406, 0.160693, 0.956841)
|
||||
bones/15/rotation = Quaternion(-0.541263, -0.00752764, 0.238029, 0.806424)
|
||||
bones/15/scale = Vector3(1, 1, 1)
|
||||
bones/16/rotation = Quaternion(-0.611023, -0.262913, 0.402215, 0.629087)
|
||||
bones/16/scale = Vector3(1, 1, 1)
|
||||
bones/17/rotation = Quaternion(0.0158022, 0.0368157, 0.177499, 0.983305)
|
||||
bones/18/rotation = Quaternion(-0.115784, 0.0786985, 0.503797, 0.852402)
|
||||
bones/19/rotation = Quaternion(-0.77808, 0.139756, 0.0140334, 0.612261)
|
||||
bones/17/rotation = Quaternion(0.0158023, 0.0368156, 0.177499, 0.983305)
|
||||
bones/18/rotation = Quaternion(-0.115784, 0.0786986, 0.503797, 0.852402)
|
||||
bones/19/rotation = Quaternion(-0.77808, 0.139756, 0.0140335, 0.612261)
|
||||
bones/19/scale = Vector3(1, 1, 1)
|
||||
bones/20/rotation = Quaternion(-0.0923591, 0.0238577, 0.0736641, 0.992711)
|
||||
bones/20/rotation = Quaternion(-0.0923591, 0.0238578, 0.0736642, 0.992711)
|
||||
bones/21/rotation = Quaternion(-0.193467, 0.101022, 0.0447897, 0.974864)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
bones/22/rotation = Quaternion(-0.293695, -0.10649, 0.259809, 0.91373)
|
||||
bones/23/rotation = Quaternion(-0.0310475, -0.0162325, -0.00151608, 0.999385)
|
||||
bones/22/scale = Vector3(1, 1, 1)
|
||||
bones/24/rotation = Quaternion(0.140362, -0.0289769, -0.195164, 0.970242)
|
||||
bones/24/scale = Vector3(1, 1, 1)
|
||||
bones/25/rotation = Quaternion(0.585184, -0.476496, -0.473244, -0.454479)
|
||||
bones/26/rotation = Quaternion(-0.28016, -0.457175, -0.503294, 0.67764)
|
||||
bones/27/rotation = Quaternion(-0.327872, -0.333942, -0.116987, 0.875955)
|
||||
bones/28/rotation = Quaternion(0.0214366, -0.420105, 0.0121654, 0.907141)
|
||||
bones/28/scale = Vector3(1, 1, 1)
|
||||
bones/30/rotation = Quaternion(-0.030518, 0.0130498, 0.0216153, 0.999215)
|
||||
bones/25/scale = Vector3(1, 1, 1)
|
||||
bones/26/rotation = Quaternion(-0.449756, 0.301541, -0.311322, 0.780943)
|
||||
bones/27/rotation = Quaternion(-0.122233, -0.135947, -0.565028, 0.804562)
|
||||
bones/27/scale = Vector3(1, 1, 1)
|
||||
bones/28/rotation = Quaternion(0.155387, -0.432411, -0.521703, 0.71882)
|
||||
bones/29/rotation = Quaternion(-0.0486369, 0.0590467, -0.0759536, 0.994173)
|
||||
bones/30/rotation = Quaternion(-0.0305179, 0.0130499, 0.0216153, 0.999215)
|
||||
bones/30/scale = Vector3(1, 1, 1)
|
||||
bones/31/rotation = Quaternion(-0.518356, -0.00412334, -0.00408936, 0.855145)
|
||||
bones/31/scale = Vector3(1, 1, 1)
|
||||
bones/31/rotation = Quaternion(-0.518356, -0.00412336, -0.00408933, 0.855145)
|
||||
bones/32/rotation = Quaternion(-0.290993, 0.0788459, 0.0248015, 0.953148)
|
||||
bones/33/rotation = Quaternion(-0.442666, -0.0105199, -0.00680268, 0.896599)
|
||||
bones/33/rotation = Quaternion(-0.419789, -0.067382, -0.039477, 0.904256)
|
||||
bones/33/scale = Vector3(1, 1, 1)
|
||||
bones/34/rotation = Quaternion(-0.266884, 0.00530697, 0.000658861, 0.963714)
|
||||
bones/34/rotation = Quaternion(-0.266884, 0.00530696, 0.00065886, 0.963714)
|
||||
bones/34/scale = Vector3(1, 1, 1)
|
||||
bones/35/rotation = Quaternion(-0.633479, 0.0476042, 0.0933771, 0.766628)
|
||||
bones/36/rotation = Quaternion(-0.237876, -0.0162261, -0.0172922, 0.971006)
|
||||
bones/35/rotation = Quaternion(-0.422483, 0.214372, -0.00100307, 0.880654)
|
||||
bones/36/rotation = Quaternion(-0.345783, -0.0439312, -0.261553, 0.900052)
|
||||
bones/36/scale = Vector3(1, 1, 1)
|
||||
bones/37/rotation = Quaternion(-0.0107008, 0.00769704, 0.00365465, 0.999906)
|
||||
bones/38/rotation = Quaternion(-0.510571, 0.048969, 0.105792, 0.851896)
|
||||
bones/38/scale = Vector3(1, 1, 1)
|
||||
bones/39/rotation = Quaternion(-0.461201, -0.0232723, -0.00676324, 0.886965)
|
||||
bones/40/rotation = Quaternion(-0.0125688, 0.0114119, 0.00134584, 0.999855)
|
||||
bones/37/rotation = Quaternion(-0.0107008, 0.00769689, 0.00365465, 0.999906)
|
||||
bones/37/scale = Vector3(1, 1, 1)
|
||||
bones/38/rotation = Quaternion(-0.389883, 0.108139, -0.120461, 0.906524)
|
||||
bones/39/rotation = Quaternion(-0.399909, -0.0921328, -0.130163, 0.902575)
|
||||
bones/40/rotation = Quaternion(-0.0125688, 0.0114118, 0.00134584, 0.999855)
|
||||
bones/40/scale = Vector3(1, 1, 1)
|
||||
bones/41/rotation = Quaternion(-0.0497163, 0.0839877, -0.166226, 0.981246)
|
||||
bones/41/scale = Vector3(1, 1, 1)
|
||||
bones/42/rotation = Quaternion(-0.0310476, 0.0162325, 0.00151601, 0.999385)
|
||||
bones/43/rotation = Quaternion(-0.00109123, -0.0104143, 0.0283537, 0.999543)
|
||||
bones/44/position = Vector3(0.0938011, 0.72761, -0.389448)
|
||||
bones/44/rotation = Quaternion(-0.697112, -0.0378561, 0.0426843, 0.714689)
|
||||
bones/45/rotation = Quaternion(-0.82326, 6.6688e-08, -9.8818e-08, 0.567665)
|
||||
bones/46/rotation = Quaternion(-0.00112372, -3.22102e-15, -2.85644e-12, 0.999999)
|
||||
bones/47/rotation = Quaternion(0.706312, -9.02181e-10, 9.04211e-10, 0.707901)
|
||||
bones/41/rotation = Quaternion(-0.0497163, 0.0839878, -0.166226, 0.981246)
|
||||
bones/42/rotation = Quaternion(-0.0310476, 0.0162325, 0.00151597, 0.999385)
|
||||
bones/43/rotation = Quaternion(-0.00109126, -0.0104143, 0.0283538, 0.999543)
|
||||
bones/44/position = Vector3(0.16719, 0.195796, -0.0454406)
|
||||
bones/44/rotation = Quaternion(-0.610992, 0.0971646, 0.14821, 0.771545)
|
||||
bones/45/rotation = Quaternion(-0.82326, 3.22824e-09, -1.0876e-07, 0.567665)
|
||||
bones/46/rotation = Quaternion(-0.00112372, -6.19338e-08, -7.24686e-11, 0.999999)
|
||||
bones/47/rotation = Quaternion(0.706312, -2.22455e-08, 6.70979e-08, 0.707901)
|
||||
bones/47/scale = Vector3(1, 1, 1)
|
||||
bones/48/rotation = Quaternion(-0.112129, 0.585204, -0.155744, 0.78785)
|
||||
bones/49/rotation = Quaternion(0.314217, 0.921438, 0.101091, -0.204942)
|
||||
bones/48/rotation = Quaternion(-0.112129, 0.585203, -0.155744, 0.78785)
|
||||
bones/48/scale = Vector3(1, 1, 1)
|
||||
bones/49/rotation = Quaternion(0.31578, 0.920316, 0.115311, -0.200014)
|
||||
bones/49/scale = Vector3(1, 1, 1)
|
||||
bones/50/rotation = Quaternion(0.997309, -0.00549226, 0.0715034, -0.0152251)
|
||||
bones/50/rotation = Quaternion(0.997309, -0.00549226, 0.0715033, -0.015225)
|
||||
bones/50/scale = Vector3(1, 1, 1)
|
||||
bones/51/rotation = Quaternion(-0.00225666, 0.0030665, -0.000453778, 0.999993)
|
||||
bones/51/rotation = Quaternion(-0.00225666, 0.00306653, -0.000453776, 0.999993)
|
||||
bones/51/scale = Vector3(1, 1, 1)
|
||||
bones/52/rotation = Quaternion(0.665461, 0.000164993, -0.00238772, 0.746429)
|
||||
bones/52/scale = Vector3(1, 1, 1)
|
||||
bones/53/rotation = Quaternion(0.997309, 0.00549227, -0.0715033, -0.0152251)
|
||||
bones/52/rotation = Quaternion(0.665461, 0.000165138, -0.00238783, 0.746429)
|
||||
bones/53/rotation = Quaternion(0.997309, 0.00549227, -0.0715033, -0.015225)
|
||||
bones/53/scale = Vector3(1, 1, 1)
|
||||
bones/54/rotation = Quaternion(-0.00225666, -0.0030665, 0.000453779, 0.999993)
|
||||
bones/54/rotation = Quaternion(-0.00225666, -0.0030665, 0.000453778, 0.999993)
|
||||
bones/54/scale = Vector3(1, 1, 1)
|
||||
bones/55/rotation = Quaternion(0.665461, -0.000164961, 0.00238768, 0.746429)
|
||||
bones/55/rotation = Quaternion(0.665461, -0.000165001, 0.00238774, 0.746429)
|
||||
bones/55/scale = Vector3(1, 1, 1)
|
||||
bones/56/rotation = Quaternion(-0.707107, 8.33981e-07, 8.33981e-07, 0.707107)
|
||||
bones/57/rotation = Quaternion(-0.707107, -8.33981e-07, -8.33981e-07, 0.707107)
|
||||
bones/58/rotation = Quaternion(-0.707107, 1.25097e-07, 1.25097e-07, 0.707107)
|
||||
bones/59/rotation = Quaternion(-0.707107, 1.25097e-07, 1.25097e-07, 0.707107)
|
||||
|
||||
[node name="AnimationTree" type="AnimationTree" parent="CharacterModel"]
|
||||
unique_name_in_owner = true
|
||||
root_node = NodePath("%AnimationTree/..")
|
||||
root_motion_track = NodePath("Character/Skeleton3D:root")
|
||||
tree_root = SubResource("AnimationNodeBlendTree_hiswf")
|
||||
advance_expression_base_node = NodePath("../..")
|
||||
anim_player = NodePath("../AnimationPlayer")
|
||||
parameters/Actions/Walk/Move/blend_position = Vector2(0.000621557, -0.00896859)
|
||||
parameters/Actions/Walk/Override/blend_amount = 1.0
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(-1, -6.25965e-09, -8.71984e-08, 0, 0.997434, -0.071602, 8.74228e-08, -0.071602, -0.997434, -0.473602, 1.64332, -0.821665)
|
||||
fov = 53.7
|
||||
transform = Transform3D(-1, -6.25964e-09, -8.71984e-08, -5.22128e-09, 0.999929, -0.0119029, 8.72667e-08, -0.0119029, -0.999929, -0.409573, 1.61765, -0.822631)
|
||||
fov = 57.0005
|
||||
far = 100.0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
|
|
Binary file not shown.
|
@ -74,3 +74,7 @@ look_down={
|
|||
[physics]
|
||||
|
||||
3d/run_on_separate_thread=true
|
||||
|
||||
[rendering]
|
||||
|
||||
occlusion_culling/use_occlusion_culling=true
|
||||
|
|
BIN
models/character.blend (Stored with Git LFS)
BIN
models/character.blend (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
models/modules.blend (Stored with Git LFS)
BIN
models/modules.blend (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 5.2 MiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 4.5 MiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 3.6 MiB |
Binary file not shown.
Binary file not shown.
|
@ -3,10 +3,14 @@
|
|||
#include <godot_cpp/variant/utility_functions.hpp>
|
||||
#include <godot_cpp/classes/input_event_joypad_motion.hpp>
|
||||
|
||||
void Player::_bind_methods() {}
|
||||
void Player::_bind_methods() {
|
||||
#define CLASSNAME Player
|
||||
GDPROPERTY(input_directions, gd::Variant::VECTOR2);
|
||||
}
|
||||
|
||||
void Player::_ready() {
|
||||
this->anim_tree = this->get_node<gd::AnimationTree>("%AnimationTree");
|
||||
this->sfm = gd::Object::cast_to<gd::AnimationNodeStateMachinePlayback>(this->anim_tree->get("parameters/Actions/playback"));
|
||||
this->input = this->get_node<utils::PlayerInput>("%PlayerInput");
|
||||
this->input->listen_to(utils::PlayerInput::Listener("dir_left", "dir_right", callable_mp(this, &Player::_on_dir_horizontal)));
|
||||
this->input->listen_to(utils::PlayerInput::Listener("dir_backward", "dir_forward", callable_mp(this, &Player::_on_dir_vertical)));
|
||||
|
@ -17,6 +21,22 @@ void Player::_ready() {
|
|||
this->model_node = this->get_node<gd::Node3D>("%CharacterModel");
|
||||
}
|
||||
|
||||
void Player::_process(double delta [[maybe_unused]]) {
|
||||
this->anim_tree->set("parameters/Actions/Walk/Move/blend_position", this->input_directions);
|
||||
}
|
||||
|
||||
void Player::_physics_process(double delta [[maybe_unused]]) {
|
||||
gd::Basis const &model_basis{this->model_node->get_global_basis()};
|
||||
gd::Vector3 const local_motion{this->anim_tree->get_root_motion_position()};
|
||||
gd::Vector3 const motion {
|
||||
local_motion.x * model_basis.get_column(0) +
|
||||
local_motion.y * model_basis.get_column(1) +
|
||||
local_motion.z * model_basis.get_column(2)
|
||||
};
|
||||
this->set_velocity(motion / delta);
|
||||
this->move_and_slide();
|
||||
}
|
||||
|
||||
void Player::_on_dir_horizontal(gd::Ref<gd::InputEvent>, float value) {
|
||||
this->input_directions.x = value;
|
||||
}
|
||||
|
@ -33,18 +53,8 @@ void Player::_on_look_vertical(gd::Ref<gd::InputEvent>, float value) {
|
|||
this->input_look.y = value;
|
||||
}
|
||||
|
||||
void Player::_process(double delta [[maybe_unused]]) {
|
||||
this->anim_tree->set("parameters/Movement/blend_position", this->input_directions);
|
||||
}
|
||||
void Player::set_input_directions(gd::Vector2 value [[maybe_unused]]) {}
|
||||
|
||||
void Player::_physics_process(double delta [[maybe_unused]]) {
|
||||
gd::Basis const &model_basis{this->model_node->get_global_basis()};
|
||||
gd::Vector3 const local_motion{this->anim_tree->get_root_motion_position()};
|
||||
gd::Vector3 const motion {
|
||||
local_motion.x * model_basis.get_column(0) +
|
||||
local_motion.y * model_basis.get_column(1) +
|
||||
local_motion.z * model_basis.get_column(2)
|
||||
};
|
||||
this->set_velocity(motion / delta);
|
||||
this->move_and_slide();
|
||||
gd::Vector2 Player::get_input_directions() const {
|
||||
return this->input_directions;
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include "utils/player_input.hpp"
|
||||
#include <godot_cpp/classes/animation_tree.hpp>
|
||||
#include <godot_cpp/classes/character_body3d.hpp>
|
||||
#include <godot_cpp/classes/animation_node_state_machine_playback.hpp>
|
||||
namespace gd = godot;
|
||||
|
||||
class Player : public gd::CharacterBody3D {
|
||||
|
@ -18,8 +19,12 @@ public:
|
|||
void _on_dir_vertical(gd::Ref<gd::InputEvent>, float value);
|
||||
void _on_look_horizontal(gd::Ref<gd::InputEvent>, float value);
|
||||
void _on_look_vertical(gd::Ref<gd::InputEvent>, float value);
|
||||
|
||||
void set_input_directions(gd::Vector2 value);
|
||||
gd::Vector2 get_input_directions() const;
|
||||
private:
|
||||
gd::AnimationTree *anim_tree{nullptr};
|
||||
gd::AnimationNodeStateMachinePlayback *sfm{nullptr};
|
||||
utils::PlayerInput *input{nullptr};
|
||||
gd::Node3D *model_node{nullptr};
|
||||
gd::Vector2 input_directions{};
|
||||
|
|
Loading…
Reference in New Issue