diff --git a/splunk/addons/godotsteam/win64/~libgodotsteam.windows.template_debug.x86_64.dll b/splunk/addons/godotsteam/win64/~libgodotsteam.windows.template_debug.x86_64.dll new file mode 100644 index 0000000..3d02848 Binary files /dev/null and b/splunk/addons/godotsteam/win64/~libgodotsteam.windows.template_debug.x86_64.dll differ diff --git a/splunk/levels/lobby-scene/lobby.tscn b/splunk/levels/lobby-scene/lobby.tscn index 2d69a90..e45304f 100644 --- a/splunk/levels/lobby-scene/lobby.tscn +++ b/splunk/levels/lobby-scene/lobby.tscn @@ -1,12 +1,22 @@ -[gd_scene load_steps=10 format=3 uid="uid://bj52j4ew2lfr6"] +[gd_scene load_steps=11 format=3 uid="uid://bj52j4ew2lfr6"] -[ext_resource type="PackedScene" uid="uid://5vggmy1srgxb" path="res://tools/human-height-reference.tscn" id="1_yyu2g"] -[ext_resource type="PackedScene" uid="uid://bhgahenvxqhec" path="res://levels/lobby-scene/tree/tree.blend" id="3_0u2wx"] +[ext_resource type="PackedScene" uid="uid://baxlyc1rqnkh5" path="res://levels/lobby-scene/tree/tree.tscn" id="2_qjimh"] [ext_resource type="PackedScene" uid="uid://b5xb0fsfpn7r3" path="res://levels/lobby-scene/lobby-terrain/lobby-terrain.blend" id="3_f73ky"] [ext_resource type="Script" uid="uid://bbhx0fwgcgjr4" path="res://networking/player_spawner.gd" id="3_qjimh"] -[ext_resource type="PackedScene" uid="uid://c4cew4af3h306" path="res://levels/lobby-scene/tent/tent.blend" id="4_qjimh"] +[ext_resource type="PackedScene" uid="uid://c5ww6wbm2axro" path="res://levels/lobby-scene/tent/tent.tscn" id="4_qjimh"] [ext_resource type="PackedScene" uid="uid://wcsd1tb0quj3" path="res://levels/lobby-scene/campfire/campfire.tscn" id="5_qjimh"] +[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_qjimh"] +properties/0/path = NodePath("WorldEnvironment/DirectionalLight3D:rotation") +properties/0/spawn = true +properties/0/replication_mode = 2 +properties/1/path = NodePath("WorldEnvironment/DirectionalLight3D:light_color") +properties/1/spawn = true +properties/1/replication_mode = 2 +properties/2/path = NodePath("WorldEnvironment/DirectionalLight3D:light_energy") +properties/2/spawn = true +properties/2/replication_mode = 2 + [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_f73ky"] [sub_resource type="Sky" id="Sky_0aw1h"] @@ -22,28 +32,325 @@ glow_enabled = true volumetric_fog_enabled = true volumetric_fog_density = 0.0 +[sub_resource type="FogMaterial" id="FogMaterial_qjimh"] +density = 0.05 +albedo = Color(0.71539, 0.628132, 0.473352, 1) +height_falloff = 1e-05 + [node name="Lobby" type="Node3D"] +[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."] +replication_config = SubResource("SceneReplicationConfig_qjimh") + [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_72fkp") [node name="DirectionalLight3D" type="DirectionalLight3D" parent="WorldEnvironment"] -transform = Transform3D(0.915754, 0.29917, -0.268128, 0.115653, 0.442845, 0.889108, 0.384733, -0.845214, 0.370937, 0, 0, 0) +transform = Transform3D(0.917663, -0.182505, -0.352967, 0.227411, 0.969643, 0.0898726, 0.32585, -0.162741, 0.931309, 0, 0, 0) +light_color = Color(0.71539, 0.628132, 0.473352, 1) +light_energy = 3.435 +light_volumetric_fog_energy = 2.0 shadow_enabled = true shadow_transmittance_bias = 5.628 -[node name="Human-height-reference" parent="." instance=ExtResource("1_yyu2g")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.33741, 0.953, -5.00694) - [node name="lobby-terrain" parent="." instance=ExtResource("3_f73ky")] -[node name="Node3D" type="Node3D" parent="lobby-terrain"] +[node name="Tree" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.1286, 0, 0.918179) -[node name="tree" parent="lobby-terrain/Node3D" instance=ExtResource("3_0u2wx")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.47232, 0, -12.0981) +[node name="Tree2" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.48594, 0, -21.9149) -[node name="tree2" parent="lobby-terrain/Node3D" instance=ExtResource("3_0u2wx")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.47232, 0, -12.0981) +[node name="Tree3" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34.9316, 0, -26.9708) + +[node name="Tree4" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 39.9316, 0, 6.02919) + +[node name="Tree5" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.9316, 0, -12.9708) + +[node name="Tree6" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.06842, 0, 11.0292) + +[node name="Tree7" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.611513, 0, 0.791234, 0, 1, 0, -0.791234, 0, 0.611513, -52.7514, 0, -25.6344) + +[node name="Tree8" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.611513, 0, 0.791234, 0, 1, 0, -0.791234, 0, 0.611513, -84.2187, 0, -37.0667) + +[node name="Tree9" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.611513, 0, 0.791234, 0, 1, 0, -0.791234, 0, 0.611513, -60.2623, 0, -61.5226) + +[node name="Tree10" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.611513, 0, 0.791234, 0, 1, 0, -0.791234, 0, 0.611513, -31.094, 0, -45.2988) + +[node name="Tree11" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.611513, 0, 0.791234, 0, 1, 0, -0.791234, 0, 0.611513, -57.1347, 0, -42.6753) + +[node name="Tree12" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.611513, 0, 0.791234, 0, 1, 0, -0.791234, 0, 0.611513, -56.4904, 0, -4.26199) + +[node name="Tree13" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.122129, 0, 0.992514, 0, 1, 0, -0.992514, 0, -0.122129, 12.3259, 0, -50.3651) + +[node name="Tree14" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.122129, 0, 0.992514, 0, 1, 0, -0.992514, 0, -0.122129, -12.7043, 0, -30.1653) + +[node name="Tree15" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.122129, 0, 0.992514, 0, 1, 0, -0.992514, 0, -0.122129, -18.2613, 0, -70.5838) + +[node name="Tree16" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.122129, 0, 0.992514, 0, 1, 0, -0.992514, 0, -0.122129, 13.881, 0, -79.5766) + +[node name="Tree17" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.122129, 0, 0.992514, 0, 1, 0, -0.992514, 0, -0.122129, -2.77846, 0, -59.3909) + +[node name="Tree18" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.122129, 0, 0.992514, 0, 1, 0, -0.992514, 0, -0.122129, 24.7058, 0, -32.5466) + +[node name="Tree19" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.424468, 0, -0.905443, 0, 1, 0, 0.905443, 0, -0.424468, -73.4507, 0, 61.208) + +[node name="Tree20" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.424468, 0, -0.905443, 0, 1, 0, 0.905443, 0, -0.424468, -40.2487, 0, 65.511) + +[node name="Tree21" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.424468, 0, -0.905443, 0, 1, 0, 0.905443, 0, -0.424468, -58.3024, 0, 94.5982) + +[node name="Tree22" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.424468, 0, -0.905443, 0, 1, 0, 0.905443, 0, -0.424468, -90.3043, 0, 85.1179) + +[node name="Tree23" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.424468, 0, -0.905443, 0, 1, 0, 0.905443, 0, -0.424468, -65.4605, 0, 76.8849) + +[node name="Tree24" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.424468, 0, -0.905443, 0, 1, 0, 0.905443, 0, -0.424468, -74.4571, 0, 39.5343) + +[node name="Tree25" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.456849, 0, -0.889544, 0, 1, 0, 0.889544, 0, 0.456849, -22.2938, 0, 14.639) + +[node name="Tree26" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.456849, 0, -0.889544, 0, 1, 0, 0.889544, 0, 0.456849, 5.24282, 0.333068, -22.3762) + +[node name="Tree27" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.456849, 0, -0.889544, 0, 1, 0, 0.889544, 0, 0.456849, 13.389, 0, 23.0717) + +[node name="Tree28" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.456849, 0, -0.889544, 0, 1, 0, 0.889544, 0, 0.456849, -13.6817, 12.3126, 37.5975) + +[node name="Tree29" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.456849, 0, -0.889544, 0, 1, 0, 0.889544, 0, 0.456849, -5.00365, 0, 17.9035) + +[node name="Tree30" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.456849, 0, -0.889544, 0, 1, 0, 0.889544, 0, 0.456849, -40.0582, 0, 2.18158) + +[node name="Tree31" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.950505, 0, -0.31071, 0, 1, 0, 0.31071, 0, 0.950505, -27.5248, 0, 84.0602) + +[node name="Tree32" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.950505, 0, -0.31071, 0, 1, 0, 0.31071, 0, 0.950505, -27.309, 0, 50.5812) + +[node name="Tree33" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.950505, 0, -0.31071, 0, 1, 0, 0.31071, 0, 0.950505, 3.76537, 0, 64.9473) + +[node name="Tree34" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.950505, 0, -0.31071, 0, 1, 0, 0.31071, 0, 0.950505, -1.73554, 0, 97.8675) + +[node name="Tree35" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.950505, 0, -0.31071, 0, 1, 0, 0.31071, 0, 0.950505, -12.9411, 0, 74.2152) + +[node name="Tree36" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.950505, 0, -0.31071, 0, 1, 0, 0.31071, 0, 0.950505, -48.9133, 0, 87.706) + +[node name="Tree37" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.958462, 0, 0.28522, 0, 1, 0, -0.28522, 0, -0.958462, -68.895, 0, -38.1058) + +[node name="Tree38" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.958462, 0, 0.28522, 0, 1, 0, -0.28522, 0, -0.958462, -68.2169, 0, -4.63298) + +[node name="Tree39" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.958462, 0, 0.28522, 0, 1, 0, -0.28522, 0, -0.958462, -99.6637, 0, -18.1643) + +[node name="Tree40" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.958462, 0, 0.28522, 0, 1, 0, -0.28522, 0, -0.958462, -95.0437, 0, -51.2197) + +[node name="Tree41" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.958462, 0, 0.28522, 0, 1, 0, -0.28522, 0, -0.958462, -83.2106, 0, -27.8749) + +[node name="Tree42" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.958462, 0, 0.28522, 0, 1, 0, -0.28522, 0, -0.958462, -47.6115, 0, -42.3214) + +[node name="Tree43" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.811788, 0, -0.583952, 0, 1, 0, 0.583952, 0, -0.811788, -15.2417, 0, 5.56369) + +[node name="Tree44" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.811788, 0, -0.583952, 0, 1, 0, 0.583952, 0, -0.811788, 2.89171, 5.28237, 42.2972) + +[node name="Tree45" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.811788, 0, -0.583952, 0, 1, 0, 0.583952, 0, -0.811788, -18.2788, 0, 42.1034) + +[node name="Tree46" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.811788, 0, -0.583952, 0, 1, 0, 0.583952, 0, -0.811788, -41.6082, 0, 18.2342) + +[node name="Tree47" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.811788, 0, -0.583952, 0, 1, 0, 0.583952, 0, -0.811788, -15.9009, 0, 23.147) + +[node name="Tree48" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.811788, 0, -0.583952, 0, 1, 0, 0.583952, 0, -0.811788, -5.56213, 0, -13.8545) + +[node name="Tree49" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.166029, 0, -0.986121, 0, 1, 0, 0.986121, 0, -0.166029, -84.6695, 0, 10.7058) + +[node name="Tree50" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.166029, 0, -0.986121, 0, 1, 0, 0.986121, 0, -0.166029, -51.5301, 0, 5.94477) + +[node name="Tree51" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.166029, 0, -0.986121, 0, 1, 0, 0.986121, 0, -0.166029, -61.1196, 0, 38.8088) + +[node name="Tree52" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.166029, 0, -0.986121, 0, 1, 0, 0.986121, 0, -0.166029, -94.4917, 0, 38.2604) + +[node name="Tree53" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.166029, 0, -0.986121, 0, 1, 0, 0.986121, 0, -0.166029, -72.7669, 0, 23.6648) + +[node name="Tree54" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.166029, 0, -0.986121, 0, 1, 0, 0.986121, 0, -0.166029, -91.4529, 0, -9.90353) + +[node name="Tree55" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.451345, 0, 0.89235, 0, 1, 0, -0.89235, 0, 0.451345, 79.8631, 0, 23.359) + +[node name="Tree56" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.451345, 0, 0.89235, 0, 1, 0, -0.89235, 0, 0.451345, 46.8045, 0, 18.0654) + +[node name="Tree57" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.451345, 0, 0.89235, 0, 1, 0, -0.89235, 0, 0.451345, 65.7197, 0, -10.4691) + +[node name="Tree58" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.451345, 0, 0.89235, 0, 1, 0, -0.89235, 0, 0.451345, 84.7693, 0, -0.0364418) + +[node name="Tree59" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.451345, 0, 0.89235, 0, 1, 0, -0.89235, 0, 0.451345, 72.3451, 0, 7.45029) + +[node name="Tree60" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.451345, 0, 0.89235, 0, 1, 0, -0.89235, 0, 0.451345, 80.2211, 0, 45.0531) + +[node name="Tree61" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.430054, 0, 0.902803, 0, 1, 0, -0.902803, 0, -0.430054, 27.337, 0, 68.378) + +[node name="Tree62" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.430054, 0, 0.902803, 0, 1, 0, -0.902803, 0, -0.430054, 2.93279, 0, 91.2979) + +[node name="Tree63" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.430054, 0, 0.902803, 0, 1, 0, -0.902803, 0, -0.430054, -8.07783, 0, 58.8824) + +[node name="Tree64" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.430054, 0, 0.902803, 0, 1, 0, -0.902803, 0, -0.430054, 19.5644, 0, 40.1766) + +[node name="Tree65" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.430054, 0, 0.902803, 0, 1, 0, -0.902803, 0, -0.430054, 10.1521, 0, 64.598) + +[node name="Tree66" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.430054, 0, 0.902803, 0, 1, 0, -0.902803, 0, -0.430054, 44.721, 0, 81.3608) + +[node name="Tree67" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.940792, 0, 0.338984, 0, 1, 0, -0.338984, 0, -0.940792, 34.6408, 0, -0.855806) + +[node name="Tree68" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.940792, 0, 0.338984, 0, 1, 0, -0.338984, 0, -0.940792, 33.4243, 0, 32.6017) + +[node name="Tree69" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.940792, 0, 0.338984, 0, 1, 0, -0.338984, 0, -0.940792, 2.79329, 0, 17.3131) + +[node name="Tree70" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.940792, 0, 0.338984, 0, 1, 0, -0.338984, 0, -0.940792, 9.27582, 0, -15.4279) + +[node name="Tree71" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.940792, 0, 0.338984, 0, 1, 0, -0.338984, 0, -0.940792, 19.7694, 0, 8.54882) + +[node name="Tree72" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(-0.940792, 0, 0.338984, 0, 1, 0, -0.338984, 0, -0.940792, 56.1288, 0, -3.86066) + +[node name="Tree73" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.971063, 0, -0.238822, 0, 1, 0, 0.238822, 0, 0.971063, 6.73125, 0, 27.1375) + +[node name="Tree74" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.971063, 0, -0.238822, 0, 1, 0, 0.238822, 0, 0.971063, 4.44506, 0, -6.264) + +[node name="Tree75" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.971063, 0, -0.238822, 0, 1, 0, 0.238822, 0, 0.971063, 36.5059, 0, 5.74019) + +[node name="Tree76" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.971063, 0, -0.238822, 0, 1, 0, 0.238822, 0, 0.971063, 33.4801, 0, 38.9794) + +[node name="Tree77" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.971063, 0, -0.238822, 0, 1, 0, 0.238822, 0, 0.971063, 20.5386, 0, 16.2304) + +[node name="Tree78" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.971063, 0, -0.238822, 0, 1, 0, 0.238822, 0, 0.971063, -14.325, 0, 32.3713) + +[node name="Tree79" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -48.959, 0, -13.9026) + +[node name="Tree80" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -76.7854, 0, -32.5192) + +[node name="Tree81" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -47.6816, 0, -50.5461) + +[node name="Tree82" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -25.5144, 0, -27.6785) + +[node name="Tree91" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -6.96076, 0, -27.3104) + +[node name="Tree92" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -19.3298, 0, -30.7708) + +[node name="Tree93" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -31.2627, 0, -22.9674) + +[node name="Tree94" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -31.3363, 0, -16.1939) + +[node name="Tree95" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -29.4957, 0, -9.42036) + +[node name="Tree96" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -17.5693, 0, -4.45112) + +[node name="Tree97" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -6.45191, 0, -8.94227) + +[node name="Tree98" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -2.01016, 0, -37.6058) + +[node name="Tree99" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -14.8881, 0, -42.9982) + +[node name="Tree83" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -49.1457, 0, -31.4973) + +[node name="Tree84" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.782782, 0, 0.622296, 0, 1, 0, -0.622296, 0, 0.782782, -57.694, 0, 5.95833) + +[node name="Tree85" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.118439, 0, 0.992961, 0, 1, 0, -0.992961, 0, 0.118439, 20.1415, 0, -22.3759) + +[node name="Tree86" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.118439, 0, 0.992961, 0, 1, 0, -0.992961, 0, 0.118439, -24.3894, 0, -5.41777) + +[node name="Tree87" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.118439, 0, 0.992961, 0, 1, 0, -0.992961, 0, 0.118439, -4.73205, 0, -49.3144) + +[node name="Tree88" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.118439, 0, 0.992961, 0, 1, 0, -0.992961, 0, 0.118439, 28.6279, 0, -50.3707) + +[node name="Tree89" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.118439, 0, 0.992961, 0, 1, 0, -0.992961, 0, 0.118439, 7.6297, 0, -34.7478) + +[node name="Tree90" parent="lobby-terrain" instance=ExtResource("2_qjimh")] +transform = Transform3D(0.118439, 0, 0.992961, 0, 1, 0, -0.992961, 0, 0.118439, 27.9076, 0, -2.11639) [node name="PlayerSpawner" type="MultiplayerSpawner" parent="."] _spawnable_scenes = PackedStringArray("uid://csmfxg011xisf") @@ -51,7 +358,7 @@ spawn_path = NodePath("../Marker3D") script = ExtResource("3_qjimh") [node name="Marker3D" type="Marker3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.269072, -8.35164) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.1053, 1.29751, -14.168) [node name="Campsite" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.724, 0, -17.6721) @@ -59,22 +366,27 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.724, 0, -17.6721) [node name="TentPlot1" type="Marker3D" parent="Campsite"] transform = Transform3D(-0.998887, 0, -0.0471587, 0, 1, 0, 0.0471587, 0, -0.998887, -0.468871, 0.334599, -6.31805) -[node name="tent" parent="Campsite/TentPlot1" instance=ExtResource("4_qjimh")] +[node name="Tent" parent="Campsite/TentPlot1" instance=ExtResource("4_qjimh")] [node name="TentPlot2" type="Marker3D" parent="Campsite"] transform = Transform3D(-0.240973, 0, -0.970532, 0, 1, 0, 0.970532, 0, -0.240973, -6.46887, 0.334599, -2.31805) -[node name="tent" parent="Campsite/TentPlot2" instance=ExtResource("4_qjimh")] +[node name="Tent" parent="Campsite/TentPlot2" instance=ExtResource("4_qjimh")] [node name="TentPlot3" type="Marker3D" parent="Campsite"] transform = Transform3D(0.689594, 0, -0.724196, 0, 1, 0, 0.724196, 0, 0.689594, -4.46887, 0.334599, 4.68195) -[node name="tent" parent="Campsite/TentPlot3" instance=ExtResource("4_qjimh")] +[node name="Tent" parent="Campsite/TentPlot3" instance=ExtResource("4_qjimh")] [node name="TentPlot4" type="Marker3D" parent="Campsite"] transform = Transform3D(-0.0217975, 0, 0.999762, 0, 1, 0, -0.999762, 0, -0.0217975, 6.53113, 0.334599, -2.31805) -[node name="tent" parent="Campsite/TentPlot4" instance=ExtResource("4_qjimh")] +[node name="Tent" parent="Campsite/TentPlot4" instance=ExtResource("4_qjimh")] [node name="Campfire" parent="Campsite" instance=ExtResource("5_qjimh")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.392361, 0) + +[node name="FogVolume" type="FogVolume" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.07413, 6.02039, -11.3029) +size = Vector3(393.422, 76.9358, 405.889) +material = SubResource("FogMaterial_qjimh") diff --git a/splunk/levels/lobby-scene/tent/tent.blend b/splunk/levels/lobby-scene/tent/tent.blend index bacea3e..3d6eede 100644 Binary files a/splunk/levels/lobby-scene/tent/tent.blend and b/splunk/levels/lobby-scene/tent/tent.blend differ diff --git a/splunk/levels/lobby-scene/tent/tent.blend1 b/splunk/levels/lobby-scene/tent/tent.blend1 index e0173fb..bacea3e 100644 Binary files a/splunk/levels/lobby-scene/tent/tent.blend1 and b/splunk/levels/lobby-scene/tent/tent.blend1 differ diff --git a/splunk/levels/lobby-scene/tent/tent.tscn b/splunk/levels/lobby-scene/tent/tent.tscn new file mode 100644 index 0000000..f4a7771 --- /dev/null +++ b/splunk/levels/lobby-scene/tent/tent.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=4 format=3 uid="uid://c5ww6wbm2axro"] + +[ext_resource type="PackedScene" uid="uid://c4cew4af3h306" path="res://levels/lobby-scene/tent/tent.blend" id="1_bey51"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_6ocyw"] +size = Vector3(3.39648, 0.105957, 4.00098) + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_bey51"] +data = PackedVector3Array(1, -1, -1.4167, 1.0131, -0.75, -0.9922, 1.0131, -0.75, -1.3052, 1, -1, -1.4167, 1, -1, -0.9924, 1.0131, -0.75, -0.9922, 1.0131, -0.75, -1.3052, 1.0523, 0, -0.9917, 1.0262, -0.5, -1.4875, 1.0131, -0.75, -1.3052, 1.0131, -0.75, -0.9922, 1.0523, 0, -0.9917, 1.0131, -0.75, -0.9922, 1.1047, 1, 0, 1.0523, 0, -0.9917, 1, -1, -0.9924, 1.0131, -0.75, -0.8156, 1.0131, -0.75, -0.9922, 1.0915, 0.749, 0.0034, 1.0131, -0.75, -0.9922, 1.0131, -0.75, -0.8156, 1.1047, 1, 0, 1.0131, -0.75, -0.9922, 1.0915, 0.749, 0.0034, 1, -1, -0.9924, 1.0131, -0.75, 0.8012, 1.0131, -0.75, -0.8156, 1.0131, -0.75, 0.8012, 1, -1, -0.9924, 1, -1, 0, 1.0131, -0.75, 0.8012, 1, -1, 0, 1, -1, 0.9909, 1.0131, -0.75, 0.9911, 1.0915, 0.749, 0.0034, 1.0131, -0.75, 0.8012, 1.1047, 1, 0, 1.0915, 0.749, 0.0034, 1.0131, -0.75, 0.9911, 1.0131, -0.75, 0.8012, 1, -1, 0.9909, 1.0131, -0.75, 0.9911, 1.0131, -0.75, 0.9911, 1, -1, 0.9909, 1, -1, 1.4166, 1.1047, 1, 0, 1.0131, -0.75, 0.9911, 1.0523, 0, 0.9916, 1.0131, -0.75, 0.9911, 1, -1, 1.4166, 1.0131, -0.75, 1.3051, 1.0523, 0, 0.9916, 1.0131, -0.75, 0.9911, 1.0131, -0.75, 1.3051, 1.0523, 0, 0.9916, 1.0131, -0.75, 1.3051, 1.0262, -0.5, 1.4875, -1.0131, -0.75, -1.3052, -1, -1, 0, -1, -1, -1.4167, -1.0131, -0.75, -1.3052, -1.0131, -0.75, 1.3051, -1, -1, 0, -1, -1, 0, -1.0131, -0.75, 1.3051, -1, -1, 1.4166, -1.0131, -0.75, 1.3051, -1.0131, -0.75, -1.3052, -1.0524, 0, -0.9917, -1.0524, 0, -0.9917, -1.0131, -0.75, -1.3052, -1.0262, -0.5, -1.4875, -1.0131, -0.75, 1.3051, -1.0524, 0, -0.9917, -1.0524, 0, 0.9916, -1.0524, 0, 0.9916, -1.0524, 0, -0.9917, -1.1047, 1, 0, -1.0131, -0.75, 1.3051, -1.0524, 0, 0.9916, -1.0262, -0.5, 1.4875, 1.0523, 0, 0.9916, 0, 0.9167, 0, 1.1047, 1, 0, 1.0523, 0, 0.9916, 0, -0.0417, 0.9916, 0, 0.9167, 0, -1.0524, 0, 0.9916, 0, 0.9167, 0, 0, -0.0417, 0.9916, -1.0524, 0, 0.9916, -1.1047, 1, 0, 0, 0.9167, 0, 0, -0.5208, 1.4875, -1.0524, 0, 0.9916, 0, -0.0417, 0.9916, 0, -0.5208, 1.4875, -1.0262, -0.5, 1.4875, -1.0524, 0, 0.9916, 1.0262, -0.5, 1.4875, 0, -0.0417, 0.9916, 1.0523, 0, 0.9916, 1.0262, -0.5, 1.4875, 0, -0.5208, 1.4875, 0, -0.0417, 0.9916, 1.0131, -0.75, 1.3051, 0, -0.5208, 1.4875, 1.0262, -0.5, 1.4875, 1.0131, -0.75, 1.3051, 0, -0.7604, 1.3051, 0, -0.5208, 1.4875, 0, -0.7604, -1.3052, -1, -1, -1.4167, 0, -1, -1.4167, 0, -0.7604, -1.3052, -1.0131, -0.75, -1.3052, -1, -1, -1.4167, 1.0131, -0.75, -1.3052, 0, -1, -1.4167, 1, -1, -1.4167, 1.0131, -0.75, -1.3052, 0, -0.7604, -1.3052, 0, -1, -1.4167, 0, -0.7604, -1.3052, 1.0262, -0.5, -1.4875, 0, -0.5208, -1.4875, 0, -0.7604, -1.3052, 1.0131, -0.75, -1.3052, 1.0262, -0.5, -1.4875, 0, -0.7604, -1.3052, -1.0262, -0.5, -1.4875, -1.0131, -0.75, -1.3052, 0, -0.7604, -1.3052, 0, -0.5208, -1.4875, -1.0262, -0.5, -1.4875, -1.0524, 0, -0.9917, 0, -0.5208, -1.4875, 0, -0.0417, -0.9917, -1.0524, 0, -0.9917, -1.0262, -0.5, -1.4875, 0, -0.5208, -1.4875, 1.0262, -0.5, -1.4875, 0, -0.0417, -0.9917, 0, -0.5208, -1.4875, 1.0262, -0.5, -1.4875, 1.0523, 0, -0.9917, 0, -0.0417, -0.9917, 0, -0.0417, -0.9917, 1.1047, 1, 0, 0, 0.9167, 0, 0, -0.0417, -0.9917, 1.0523, 0, -0.9917, 1.1047, 1, 0, 0, -0.0417, -0.9917, -1.1047, 1, 0, -1.0524, 0, -0.9917, 0, -0.0417, -0.9917, 0, 0.9167, 0, -1.1047, 1, 0, 0, -0.5208, 1.4875, -1.0131, -0.75, 1.3051, -1.0262, -0.5, 1.4875, 0, -0.5208, 1.4875, 0, -0.7604, 1.3051, -1.0131, -0.75, 1.3051, -1, -1, 1.4166, 0, -0.7604, 1.3051, 0, -1, 1.4166, -1, -1, 1.4166, -1.0131, -0.75, 1.3051, 0, -0.7604, 1.3051, 0, -0.7604, 1.3051, 1, -1, 1.4166, 0, -1, 1.4166, 0, -0.7604, 1.3051, 1.0131, -0.75, 1.3051, 1, -1, 1.4166, 1, -1, -0.9924, 1, -0.9917, -1.4167, 1, -1, -1.4167, 1, -1, -0.9924, 1, -0.9917, -0.9924, 1, -0.9917, -1.4167, 1, -1, 0, 1, -0.9917, -0.9924, 1, -1, -0.9924, 1, -1, 0, 1, -0.9917, 0, 1, -0.9917, -0.9924, -1, -1, -1.4167, -1, -0.9917, 0, -1, -1, 0, -1, -1, -1.4167, -1, -0.9917, -1.4167, -1, -0.9917, 0, -1, -1, 0, -1, -0.9917, 0, -1, -0.9917, 1.4166, -1, -1, 0, -1, -0.9917, 1.4166, -1, -1, 1.4166, 1, -1, -1.4167, 0, -0.9917, -1.4167, 1, -0.9917, -1.4167, 1, -1, -1.4167, 0, -1, -1.4167, 0, -0.9917, -1.4167, 0, -1, -1.4167, -1, -0.9917, -1.4167, 0, -0.9917, -1.4167, 0, -1, -1.4167, -1, -1, -1.4167, -1, -0.9917, -1.4167, 1, -1, 1.4166, 1, -0.9917, 0.9909, 1, -1, 0.9909, 1, -1, 1.4166, 1, -0.9917, 1.4166, 1, -0.9917, 0.9909, 0, -1, 1.4166, 1, -0.9917, 1.4166, 1, -1, 1.4166, 0, -1, 1.4166, 0, -0.9917, 1.4166, 1, -0.9917, 1.4166, -1, -1, 1.4166, 0, -0.9917, 1.4166, 0, -1, 1.4166, -1, -1, 1.4166, -1, -0.9917, 1.4166, 0, -0.9917, 1.4166, 1, -1, 0.9909, 1, -0.9917, 0, 1, -0.9917, 0.9909, 1, -1, 0.9909, 1, -1, 0, 1, -0.9917, 0) + +[node name="Tent" type="Node3D"] + +[node name="tent" parent="." instance=ExtResource("1_bey51")] + +[node name="StaticBody3D" type="StaticBody3D" parent="."] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0397949, 0) +shape = SubResource("BoxShape3D_6ocyw") + +[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D"] +transform = Transform3D(3.57628e-07, 0, 1.2, 0, 1.2, 0, -2, 0, 2.14577e-07, 0, 1.2, 0) +shape = SubResource("ConcavePolygonShape3D_bey51") diff --git a/splunk/levels/lobby-scene/tree/tree.tscn b/splunk/levels/lobby-scene/tree/tree.tscn new file mode 100644 index 0000000..32e9ec7 --- /dev/null +++ b/splunk/levels/lobby-scene/tree/tree.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=3 format=3 uid="uid://baxlyc1rqnkh5"] + +[ext_resource type="PackedScene" uid="uid://bhgahenvxqhec" path="res://levels/lobby-scene/tree/tree.blend" id="1_lbkut"] + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_0o2vh"] +radius = 0.3 +height = 13.6187 + +[node name="Tree" type="Node3D"] + +[node name="tree2" parent="." instance=ExtResource("1_lbkut")] + +[node name="StaticBody3D" type="StaticBody3D" parent="."] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.8, 0) +shape = SubResource("CapsuleShape3D_0o2vh") diff --git a/splunk/player/Player.tscn b/splunk/player/Player.tscn index b4ed1ee..44a0298 100644 --- a/splunk/player/Player.tscn +++ b/splunk/player/Player.tscn @@ -1,8 +1,12 @@ -[gd_scene load_steps=7 format=3 uid="uid://csmfxg011xisf"] +[gd_scene load_steps=9 format=3 uid="uid://csmfxg011xisf"] [ext_resource type="Script" uid="uid://dopyfulbw2mx5" path="res://player/player.gd" id="1_ulp21"] +[ext_resource type="PackedScene" uid="uid://caons6q8u2qt2" path="res://player/player.blend" id="2_3c3w1"] +[ext_resource type="PackedScene" uid="uid://k6jhk4snc3je" path="res://player/head.blend" id="3_wnvi2"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_ehsmr"] +radius = 0.153372 +height = 1.37733 [sub_resource type="CapsuleMesh" id="CapsuleMesh_ulp21"] radius = 0.3 @@ -17,43 +21,60 @@ size = Vector3(0.5, 0.5, 0.5) properties/0/path = NodePath(".:position") properties/0/spawn = true properties/0/replication_mode = 2 -properties/1/path = NodePath(".:rotation") +properties/1/path = NodePath("Neck:rotation") properties/1/spawn = true properties/1/replication_mode = 2 +properties/2/path = NodePath(".:rotation") +properties/2/spawn = true +properties/2/replication_mode = 2 +properties/3/path = NodePath(".:scale") +properties/3/spawn = true +properties/3/replication_mode = 2 -[node name="Player" type="CharacterBody3D"] +[node name="Player" type="CharacterBody3D" node_paths=PackedStringArray("camera", "neck", "body", "head")] collision_layer = 2 collision_mask = 3 script = ExtResource("1_ulp21") +camera = NodePath("Neck/Camera3D") +neck = NodePath("Neck") +body = NodePath("Mesh") +head = NodePath("Neck/head") -[node name="Camera3D" type="Camera3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.399442, 0.0644827) +[node name="Neck" type="Node3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.297908, 0) + +[node name="Camera3D" type="Camera3D" parent="Neck"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.144889, 0) + +[node name="head" parent="Neck" instance=ExtResource("3_wnvi2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.222076, 0) [node name="CollisionShape3D" type="CollisionShape3D" parent="."] shape = SubResource("CapsuleShape3D_ehsmr") -[node name="Mesh" type="Node3D" parent="."] +[node name="Bean" type="Node3D" parent="."] transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0, 0) +visible = false -[node name="MeshInstance3D" type="MeshInstance3D" parent="Mesh"] +[node name="MeshInstance3D" type="MeshInstance3D" parent="Bean"] transform = Transform3D(1, 0, 0, 0, 0.89961, 0, 0, 0, 1, 0, -0.318288, 0) layers = 2 mesh = SubResource("CapsuleMesh_ulp21") skeleton = NodePath("../..") -[node name="MeshInstance3D2" type="MeshInstance3D" parent="Mesh"] +[node name="MeshInstance3D2" type="MeshInstance3D" parent="Bean"] transform = Transform3D(1.41676, 0, 0, 0, 1.31718, 0, 0, 0, 1.22029, 0, 0.415995, 0) layers = 2 mesh = SubResource("PrismMesh_3c3w1") skeleton = NodePath("../..") -[node name="MeshInstance3D3" type="MeshInstance3D" parent="Mesh"] +[node name="MeshInstance3D3" type="MeshInstance3D" parent="Bean"] transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, -0.0855882, 0.409407, 0.293333) layers = 2 mesh = SubResource("SphereMesh_wnvi2") skeleton = NodePath("../..") -[node name="MeshInstance3D4" type="MeshInstance3D" parent="Mesh"] +[node name="MeshInstance3D4" type="MeshInstance3D" parent="Bean"] transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0.0770122, 0.409407, 0.293333) layers = 2 mesh = SubResource("SphereMesh_wnvi2") @@ -66,3 +87,5 @@ text = "Username" [node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."] replication_config = SubResource("SceneReplicationConfig_ulp21") + +[node name="Mesh" parent="." instance=ExtResource("2_3c3w1")] diff --git a/splunk/player/head.blend b/splunk/player/head.blend new file mode 100644 index 0000000..a704aef Binary files /dev/null and b/splunk/player/head.blend differ diff --git a/splunk/player/head.blend.import b/splunk/player/head.blend.import new file mode 100644 index 0000000..7f9724c --- /dev/null +++ b/splunk/player/head.blend.import @@ -0,0 +1,53 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://k6jhk4snc3je" +path="res://.godot/imported/head.blend-dcafcd72c4b2f826b0eba225740d3f47.scn" + +[deps] + +source_file="res://player/head.blend" +dest_files=["res://.godot/imported/head.blend-dcafcd72c4b2f826b0eba225740d3f47.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +_subresources={} +blender/nodes/visible=0 +blender/nodes/active_collection_only=false +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/export_geometry_nodes_instances=false +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true diff --git a/splunk/player/head.blend1 b/splunk/player/head.blend1 new file mode 100644 index 0000000..b51a4a8 Binary files /dev/null and b/splunk/player/head.blend1 differ diff --git a/splunk/player/player.blend b/splunk/player/player.blend new file mode 100644 index 0000000..6ef3739 Binary files /dev/null and b/splunk/player/player.blend differ diff --git a/splunk/player/player.blend.import b/splunk/player/player.blend.import new file mode 100644 index 0000000..f3d21f1 --- /dev/null +++ b/splunk/player/player.blend.import @@ -0,0 +1,53 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://caons6q8u2qt2" +path="res://.godot/imported/player.blend-216ce6e732c258e973626ec2ccac6d19.scn" + +[deps] + +source_file="res://player/player.blend" +dest_files=["res://.godot/imported/player.blend-216ce6e732c258e973626ec2ccac6d19.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +_subresources={} +blender/nodes/visible=0 +blender/nodes/active_collection_only=false +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/export_geometry_nodes_instances=false +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true diff --git a/splunk/player/player.blend1 b/splunk/player/player.blend1 new file mode 100644 index 0000000..7870b6c Binary files /dev/null and b/splunk/player/player.blend1 differ diff --git a/splunk/player/player.gd b/splunk/player/player.gd index d0cca40..6b138eb 100644 --- a/splunk/player/player.gd +++ b/splunk/player/player.gd @@ -1,24 +1,37 @@ -extends CharacterBody3D -class_name Player +class_name Player extends CharacterBody3D -@export var speed = 5.0 -@export var jump_velocity = 4.5 -@export var mouse_sensitivity = 0.002 +@export_category("Player") +@export_range(1, 35, 1) var speed: float = 5.0 +@export_range(10, 400, 1) var acceleration: float = 100.0 -var gravity = ProjectSettings.get_setting("physics/3d/default_gravity") -var camera_node: Camera3D +@export_range(0.1, 3.0, 0.1) var jump_height: float = 1.0 +@export_range(0.1, 3.0, 0.1, "or_greater") var camera_sens: float = 1.0 +@export_range(0.1, 3.0, 0.1, "or_greater") var joystick_camera_sens_multiplier: float = 5.0 +@export var camera: Camera3D +@export var neck: Node3D +@export var body: Node3D +@export var head: Node3D +var jumping: bool = false +var is_using_joystick: bool = false +var gravity: float = ProjectSettings.get_setting("physics/3d/default_gravity") +var move_dir: Vector2 # Input direction for movement +var look_dir: Vector2 # Input direction for look/aim +var walk_vel: Vector3 # Walking velocity +var grav_vel: Vector3 # Gravity velocity +var jump_vel: Vector3 # Jumping velocity func _ready(): if is_multiplayer_authority(): print("-> [%s] Authority granted. Setting up camera and input." % name) - camera_node = $Camera3D - camera_node.make_current() + camera.make_current() Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) $Mesh.hide() + $Label3D.hide() + head.hide() func set_player_name(peer_id: String, player_name: String): @@ -26,54 +39,73 @@ func set_player_name(peer_id: String, player_name: String): $Label3D.text = player_name -#@rpc("any_peer", "call_local", "unreliable") -#func update_remote_transform(new_transform: Transform3D): - #global_transform = new_transform - - -func _physics_process(delta): - if is_multiplayer_authority(): - # Apply gravity - if not is_on_floor(): - velocity.y -= gravity * delta - - # Handle Jump - if Input.is_action_just_pressed("jump") and is_on_floor(): - velocity.y = jump_velocity - - # Get the input direction and apply movement - var input_dir = Input.get_vector("move_left", "move_right", "move_forward", "move_backward") - var direction = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() - - if is_on_floor(): - if direction: - velocity.x = direction.x * speed - velocity.z = direction.z * speed - else: - velocity.x = move_toward(velocity.x, 0, speed) - velocity.z = move_toward(velocity.z, 0, speed) - else: - # Air control - velocity.x = lerp(velocity.x, direction.x * speed, delta * 5.0) - velocity.z = lerp(velocity.z, direction.z * speed, delta * 5.0) - move_and_slide() - - #update_remote_transform.rpc(global_transform) - - func _input(event): if is_multiplayer_authority(): - if event is InputEventMouseMotion: - # Rotate the CharacterBody3D around the Y-axis for horizontal look - rotate_y(-event.relative.x * mouse_sensitivity) + if Input.mouse_mode == Input.MOUSE_MODE_CAPTURED: + if event is InputEventMouseMotion: + is_using_joystick = false + look_dir = event.relative * 0.001 + _rotate_camera() + elif event is InputEventJoypadMotion: + is_using_joystick = true + + if Input.is_action_just_pressed("jump"): + jumping = true + + if event.is_action_pressed("esc") and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED: + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + elif event.is_action_pressed("esc") and not Input.mouse_mode == Input.MOUSE_MODE_CAPTURED: + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) - # Rotate the Camera3D around its local X-axis for vertical look - var change = -event.relative.y * mouse_sensitivity - var new_x_rotation = camera_node.rotation.x + change - camera_node.rotation.x = clamp(new_x_rotation, deg_to_rad(-90), deg_to_rad(90)) - if event.is_action_pressed("ui_cancel"): # Typically Escape key - if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED: - Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) - else: - Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) +func _physics_process(delta: float) -> void: + if is_multiplayer_authority(): + velocity = walk(delta) + _gravity(delta) + _jump(delta) + + global_rotation.x = 0.0 + global_rotation.z = 0.0 + + if Input.mouse_mode == Input.MOUSE_MODE_CAPTURED: + _handle_joypad_camera_rotation(delta) + move_and_slide() + + +func _rotate_camera(sens_mod: float = 1.0) -> void: + if is_multiplayer_authority(): + var camera_sens_final = camera_sens + if is_using_joystick: + camera_sens_final = camera_sens * joystick_camera_sens_multiplier + + rotation.y -= look_dir.x * camera_sens_final * sens_mod + neck.rotation.x = clamp(neck.rotation.x - look_dir.y * camera_sens_final * sens_mod, -1.5, 1.5) + + +func _handle_joypad_camera_rotation(delta: float, sens_mod: float = 1.0) -> void: + var joypad_dir: Vector2 = Input.get_vector("look_left","look_right","look_up","look_down") + if joypad_dir.length() > 0: + look_dir += joypad_dir * delta + _rotate_camera(sens_mod) + look_dir = Vector2.ZERO + + +func walk(delta: float) -> Vector3: + if Input.mouse_mode == Input.MOUSE_MODE_CAPTURED: + move_dir = Input.get_vector("move_left", "move_right", "move_forward", "move_backward") + var _forward: Vector3 = neck.global_transform.basis * Vector3(move_dir.x, 0, move_dir.y) + var walk_dir: Vector3 = Vector3(_forward.x, 0, _forward.z).normalized() + walk_vel = walk_vel.move_toward(walk_dir * speed * move_dir.length(), acceleration * delta) + return walk_vel + + +func _gravity(delta: float) -> Vector3: + grav_vel = Vector3.ZERO if is_on_floor() else grav_vel.move_toward(Vector3(0, velocity.y - gravity, 0), gravity * delta) + return grav_vel + + +func _jump(delta: float) -> Vector3: + if jumping: + if is_on_floor(): jump_vel = Vector3(0, sqrt(4 * jump_height * gravity), 0) + jumping = false + return jump_vel + jump_vel = Vector3.ZERO if is_on_floor() else jump_vel.move_toward(Vector3.ZERO, gravity * delta) + return jump_vel diff --git a/splunk/player/textures/arms.png b/splunk/player/textures/arms.png new file mode 100644 index 0000000..7559acd Binary files /dev/null and b/splunk/player/textures/arms.png differ diff --git a/splunk/player/textures/arms.png.import b/splunk/player/textures/arms.png.import new file mode 100644 index 0000000..fc4c8c4 --- /dev/null +++ b/splunk/player/textures/arms.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://duqmryk4caogn" +path.s3tc="res://.godot/imported/arms.png-c03c798cb61a16c352c998058bb5ba07.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://player/textures/arms.png" +dest_files=["res://.godot/imported/arms.png-c03c798cb61a16c352c998058bb5ba07.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 diff --git a/splunk/player/textures/body.png b/splunk/player/textures/body.png new file mode 100644 index 0000000..9fbded7 Binary files /dev/null and b/splunk/player/textures/body.png differ diff --git a/splunk/player/textures/body.png.import b/splunk/player/textures/body.png.import new file mode 100644 index 0000000..fc0c857 --- /dev/null +++ b/splunk/player/textures/body.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://soon8fejkbpi" +path.s3tc="res://.godot/imported/body.png-8538a92e4d8adfcb74ea6ee2f8ff59b0.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://player/textures/body.png" +dest_files=["res://.godot/imported/body.png-8538a92e4d8adfcb74ea6ee2f8ff59b0.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 diff --git a/splunk/player/textures/feet.png b/splunk/player/textures/feet.png new file mode 100644 index 0000000..1c8a7b3 Binary files /dev/null and b/splunk/player/textures/feet.png differ diff --git a/splunk/player/textures/feet.png.import b/splunk/player/textures/feet.png.import new file mode 100644 index 0000000..6414709 --- /dev/null +++ b/splunk/player/textures/feet.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1opx7wmrdxie" +path.s3tc="res://.godot/imported/feet.png-5fda5a3596df7f6058e8acac591e0ee2.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://player/textures/feet.png" +dest_files=["res://.godot/imported/feet.png-5fda5a3596df7f6058e8acac591e0ee2.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 diff --git a/splunk/player/textures/head.png b/splunk/player/textures/head.png new file mode 100644 index 0000000..6c723b4 Binary files /dev/null and b/splunk/player/textures/head.png differ diff --git a/splunk/player/textures/head.png.import b/splunk/player/textures/head.png.import new file mode 100644 index 0000000..c8f5c28 --- /dev/null +++ b/splunk/player/textures/head.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8wxeis3pudx7" +path.s3tc="res://.godot/imported/head.png-d658783ec5627f70f3e95905a0beaf97.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://player/textures/head.png" +dest_files=["res://.godot/imported/head.png-d658783ec5627f70f3e95905a0beaf97.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 diff --git a/splunk/project.godot b/splunk/project.godot index 2a11b0e..6fa4985 100644 --- a/splunk/project.godot +++ b/splunk/project.godot @@ -97,6 +97,31 @@ inv_slot_4={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":52,"key_label":0,"unicode":52,"location":0,"echo":false,"script":null) ] } +look_left={ +"deadzone": 0.2, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null) +] +} +look_right={ +"deadzone": 0.2, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null) +] +} +look_down={ +"deadzone": 0.2, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null) +] +} +look_up={ +"deadzone": 0.2, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null) +] +} +esc={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} [layer_names]