Compare commits
34 Commits
80b4d213e5
...
player-cha
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cbbf9d538d | ||
|
|
0d651493e3 | ||
|
|
690a2c0205 | ||
|
|
9be3a0b61c | ||
|
|
6798db74d9 | ||
|
|
c759004028 | ||
|
|
7eaae582b2 | ||
|
|
6ce47a21ce | ||
|
|
732cd2c976 | ||
|
|
3700789497 | ||
| 0db8edef2a | |||
| 88b399f453 | |||
|
|
d61b045688 | ||
| eaaa3075d5 | |||
|
|
90ecb18414 | ||
|
|
098e906dc7 | ||
|
|
04440c0319 | ||
| 98cf12f533 | |||
| 52a34c8415 | |||
|
|
ec0bef4d92 | ||
|
|
def4324902 | ||
|
|
59cbbc0880 | ||
|
|
898a382a71 | ||
|
|
912e6b9d31 | ||
|
|
95d384b0ee | ||
|
|
70f0a65a3a | ||
|
|
724d78973b | ||
|
|
69596dac01 | ||
|
|
eb783c37da | ||
|
|
14464d703c | ||
|
|
5807549863 | ||
|
|
3d44cc7761 | ||
|
|
bbbfd424ec | ||
|
|
39e944806c |
Binary file not shown.
@@ -1,8 +1,8 @@
|
||||
extends Node
|
||||
|
||||
var players: Array[int] = []
|
||||
var players: Dictionary[int, Player] = {}
|
||||
|
||||
var player_spawner: MultiplayerSpawner
|
||||
var player_spawner: LobbyPlayerSpawner
|
||||
|
||||
@onready var debug_ui: PackedScene = preload("res://ui/multiplayer-debug-ui/multiplayer-debug-ui.tscn")
|
||||
var debug_ui_instance
|
||||
@@ -29,3 +29,8 @@ func request_server_to_spawn_player(peer_id: int, player_name: String) -> void:
|
||||
data["player_name"] = player_name
|
||||
|
||||
player_spawner.spawn(data)
|
||||
|
||||
|
||||
@rpc("any_peer", "call_local", "reliable")
|
||||
func request_server_to_delete_player(peer_id: int) -> void:
|
||||
player_spawner.delete_player(peer_id)
|
||||
|
||||
@@ -142,3 +142,10 @@ draw_pass_1 = SubResource("QuadMesh_8eekk")
|
||||
stream = ExtResource("4_u2sse")
|
||||
volume_db = -15.0
|
||||
unit_size = 5.0
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.733088, 0)
|
||||
light_color = Color(1, 0.823529, 0, 1)
|
||||
shadow_enabled = true
|
||||
distance_fade_enabled = true
|
||||
omni_range = 9.93165
|
||||
|
||||
@@ -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)
|
||||
transform = Transform3D(-0.518758, 0, 0.854921, 0, 1, 0, -0.854921, 0, -0.518758, 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")
|
||||
|
||||
Binary file not shown.
Binary file not shown.
23
splunk/levels/lobby-scene/tent/tent.tscn
Normal file
23
splunk/levels/lobby-scene/tent/tent.tscn
Normal file
@@ -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")
|
||||
17
splunk/levels/lobby-scene/tree/tree.tscn
Normal file
17
splunk/levels/lobby-scene/tree/tree.tscn
Normal file
@@ -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")
|
||||
@@ -1,7 +1,10 @@
|
||||
class_name LobbyPlayerSpawner
|
||||
extends MultiplayerSpawner
|
||||
|
||||
@onready var player_scene: PackedScene = load("res://player/Player.tscn")
|
||||
|
||||
var players_dict: Dictionary[int, Player] = {}
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
spawn_function = spawn_player
|
||||
@@ -17,6 +20,12 @@ func spawn_player(data: Dictionary) -> Player:
|
||||
new_player.set_player_name(peer_id, player_name)
|
||||
new_player.position = Vector3.UP
|
||||
|
||||
GameManager.players.append(int(peer_id))
|
||||
GameManager.players[int(peer_id)] = new_player
|
||||
|
||||
return new_player
|
||||
|
||||
|
||||
func delete_player(id: int) -> void:
|
||||
var player_to_delete = GameManager.players[id]
|
||||
GameManager.players.erase(id)
|
||||
player_to_delete.queue_free()
|
||||
|
||||
@@ -26,10 +26,12 @@ func _ready() -> void:
|
||||
Steam.lobby_joined.connect(_on_lobby_joined)
|
||||
Steam.lobby_chat_update.connect(_on_lobby_chat_update)
|
||||
Steam.p2p_session_request.connect(_on_p2p_session_request)
|
||||
Steam.join_requested.connect(_on_lobby_join_requested)
|
||||
|
||||
multiplayer.peer_connected.connect(_on_peer_connected)
|
||||
multiplayer.peer_disconnected.connect(_on_peer_disconnected)
|
||||
multiplayer.connected_to_server.connect(_on_connected_to_server)
|
||||
multiplayer.server_disconnected.connect(_on_disconnected_from_server)
|
||||
multiplayer.connection_failed.connect(_on_connection_failed)
|
||||
|
||||
check_command_line()
|
||||
@@ -37,7 +39,6 @@ func _ready() -> void:
|
||||
multiplayer.server_relay = true
|
||||
|
||||
|
||||
|
||||
func _process(delta):
|
||||
if not steam_initialized:
|
||||
return
|
||||
@@ -72,6 +73,11 @@ func join_lobby(this_lobby_id: int):
|
||||
Steam.joinLobby(this_lobby_id)
|
||||
|
||||
|
||||
func _on_lobby_join_requested(this_lobby_id: int, friend_id: int) -> void:
|
||||
print("[CLIENT] 1. Attempting to join lobby (ID: %s)..." % this_lobby_id)
|
||||
join_lobby(this_lobby_id)
|
||||
|
||||
|
||||
func _on_lobby_joined(this_lobby_id: int, _p, _l, response: int):
|
||||
if response != Steam.CHAT_ROOM_ENTER_RESPONSE_SUCCESS:
|
||||
print("[CLIENT] !!! Failed to join lobby: %s" % get_join_fail_reason(response))
|
||||
@@ -91,6 +97,10 @@ func _on_connected_to_server():
|
||||
GameManager.request_server_to_spawn_player.rpc_id(1, multiplayer.get_unique_id(), steam_username)
|
||||
|
||||
|
||||
func _on_disconnected_from_server():
|
||||
pass
|
||||
|
||||
|
||||
func _on_p2p_session_request(steam_id_remote: int) -> void:
|
||||
print("[P2P] ==> Session request from: %s. Accepting." % steam_id_remote)
|
||||
Steam.acceptP2PSessionWithUser(steam_id_remote)
|
||||
@@ -129,11 +139,12 @@ func _on_peer_connected(id: int):
|
||||
|
||||
func _on_peer_disconnected(id: int):
|
||||
print("[INFO] Peer %s has disconnected." % id)
|
||||
GameManager.request_server_to_delete_player.rpc_id(1, id)
|
||||
if players.has(id):
|
||||
#players[id].queue_free()
|
||||
players.erase(id)
|
||||
|
||||
|
||||
|
||||
func _on_connection_failed() -> void:
|
||||
print("[CLIENT] !!! Connection to the host failed.")
|
||||
|
||||
@@ -142,7 +153,9 @@ func _on_lobby_chat_update(_l_id, user_changed_id: int, _u_m_c_id, chat_state: i
|
||||
var state_string = "UNKNOWN"
|
||||
match chat_state:
|
||||
Steam.CHAT_MEMBER_STATE_CHANGE_ENTERED: state_string = "ENTERED"
|
||||
Steam.CHAT_MEMBER_STATE_CHANGE_LEFT: state_string = "LEFT"
|
||||
Steam.CHAT_MEMBER_STATE_CHANGE_LEFT:
|
||||
state_string = "LEFT"
|
||||
|
||||
Steam.CHAT_MEMBER_STATE_CHANGE_DISCONNECTED: state_string = "DISCONNECTED"
|
||||
print("[LOBBY INFO] User %s has %s the lobby." % [user_changed_id, state_string])
|
||||
|
||||
|
||||
@@ -1,64 +1,60 @@
|
||||
[gd_scene load_steps=7 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"]
|
||||
[ext_resource type="PackedScene" uid="uid://xnd2p4kstsfw" path="res://player/watch/watch.tscn" id="4_83hs8"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_ehsmr"]
|
||||
|
||||
[sub_resource type="CapsuleMesh" id="CapsuleMesh_ulp21"]
|
||||
radius = 0.3
|
||||
height = 1.5
|
||||
|
||||
[sub_resource type="PrismMesh" id="PrismMesh_3c3w1"]
|
||||
size = Vector3(0.5, 0.5, 0.5)
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_wnvi2"]
|
||||
radius = 0.153372
|
||||
height = 1.37733
|
||||
|
||||
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_ulp21"]
|
||||
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
|
||||
properties/4/path = NodePath("Mesh/AnimationPlayer:current_animation")
|
||||
properties/4/spawn = true
|
||||
properties/4/replication_mode = 2
|
||||
|
||||
[node name="Player" type="CharacterBody3D"]
|
||||
[node name="Player" type="CharacterBody3D" node_paths=PackedStringArray("camera", "neck", "body", "head", "animation_player")]
|
||||
collision_layer = 2
|
||||
collision_mask = 3
|
||||
script = ExtResource("1_ulp21")
|
||||
camera = NodePath("Neck/Camera3D")
|
||||
neck = NodePath("Neck")
|
||||
body = NodePath("Mesh")
|
||||
head = NodePath("Neck/HeadBoneAttachment3D/head")
|
||||
animation_player = NodePath("Mesh/AnimationPlayer")
|
||||
|
||||
[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="HeadBoneAttachment3D" type="BoneAttachment3D" parent="Neck"]
|
||||
transform = Transform3D(0.999974, -0.00719406, 8.09973e-08, 0.00719406, 0.999974, -1.33776e-07, -8.00328e-08, 1.34355e-07, 1, 0.00301405, -0.0458933, 0.00284567)
|
||||
bone_name = "HeadBone.002"
|
||||
bone_idx = 8
|
||||
use_external_skeleton = true
|
||||
external_skeleton = NodePath("../../Mesh/Armature/Skeleton3D")
|
||||
|
||||
[node name="head" parent="Neck/HeadBoneAttachment3D" instance=ExtResource("3_wnvi2")]
|
||||
transform = Transform3D(0.999899, 0.014218, -6.68899e-05, -0.0142179, 0.999899, 0.000213697, 6.99214e-05, -0.000212723, 1, 0.00483739, 0.27284, -0.0187194)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("CapsuleShape3D_ehsmr")
|
||||
|
||||
[node name="Mesh" type="Node3D" parent="."]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0, 0)
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Mesh"]
|
||||
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"]
|
||||
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"]
|
||||
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"]
|
||||
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")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.887858, 0)
|
||||
billboard = 1
|
||||
@@ -66,3 +62,15 @@ text = "Username"
|
||||
|
||||
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
|
||||
replication_config = SubResource("SceneReplicationConfig_ulp21")
|
||||
|
||||
[node name="Mesh" parent="." instance=ExtResource("2_3c3w1")]
|
||||
|
||||
[node name="AnimationPlayer" parent="Mesh" index="1"]
|
||||
autoplay = "Idle"
|
||||
|
||||
[node name="Watch" parent="." instance=ExtResource("4_83hs8")]
|
||||
transform = Transform3D(0.707107, 0.707107, -2.03718e-08, -0.183013, 0.183013, -0.965926, -0.683013, 0.683013, 0.258819, -0.228015, 0.33104, -0.235279)
|
||||
visible = false
|
||||
|
||||
[editable path="Neck/HeadBoneAttachment3D/head"]
|
||||
[editable path="Mesh"]
|
||||
|
||||
BIN
splunk/player/head.blend
Normal file
BIN
splunk/player/head.blend
Normal file
Binary file not shown.
63
splunk/player/head.blend.import
Normal file
63
splunk/player/head.blend.import
Normal file
@@ -0,0 +1,63 @@
|
||||
[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={
|
||||
"nodes": {
|
||||
"PATH:Head": {
|
||||
"mesh_instance/cast_shadow": 0
|
||||
},
|
||||
"PATH:Head-shadows": {
|
||||
"mesh_instance/cast_shadow": 3,
|
||||
"mesh_instance/layers": 4
|
||||
}
|
||||
}
|
||||
}
|
||||
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
|
||||
BIN
splunk/player/head.blend1
Normal file
BIN
splunk/player/head.blend1
Normal file
Binary file not shown.
BIN
splunk/player/player.blend
Normal file
BIN
splunk/player/player.blend
Normal file
Binary file not shown.
5453
splunk/player/player.blend.import
Normal file
5453
splunk/player/player.blend.import
Normal file
File diff suppressed because it is too large
Load Diff
BIN
splunk/player/player.blend1
Normal file
BIN
splunk/player/player.blend1
Normal file
Binary file not shown.
@@ -1,24 +1,51 @@
|
||||
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 Ailments")
|
||||
@export_range(0, 100, 1.0) var health: int = 100
|
||||
@export_range(0, 100, 1.0) var toxicity: int = 0
|
||||
@export_range(0, 100, 1.0) var burns: int = 0
|
||||
@export_range(0, 100, 1.0) var physical_trauma: int = 0
|
||||
@export_range(0, 100, 1.0) var hunger: int = 0
|
||||
@export_range(0, 100, 1.0) var thirst: int = 0
|
||||
@export_range(0, 100, 1.0) var insanity: int = 0
|
||||
@export_range(0, 100, 1.0) var drowning: int = 0
|
||||
|
||||
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
|
||||
var camera_node: Camera3D
|
||||
@export_category("Player Physics/Attributes")
|
||||
@export_range(1, 35, 1) var speed: float = 5.0
|
||||
@export_range(10, 400, 1) var acceleration: float = 100.0
|
||||
|
||||
@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_category("Node References")
|
||||
@export var camera: Camera3D
|
||||
@export var neck: Node3D
|
||||
@export var body: Node3D
|
||||
@export var head: Node3D
|
||||
@export var watch_face: MeshInstance3D
|
||||
@export var animation_player: AnimationPlayer
|
||||
|
||||
|
||||
var jumping: bool = false
|
||||
var is_using_joystick: bool = false
|
||||
|
||||
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
|
||||
var gravity: float = 9.8 # Gravity
|
||||
|
||||
|
||||
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()
|
||||
#$Mesh.hide() # commented out; we want self-body view
|
||||
$Label3D.hide()
|
||||
head.find_child("Head").hide()
|
||||
|
||||
|
||||
func set_player_name(peer_id: String, player_name: String):
|
||||
@@ -26,54 +53,81 @@ 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
|
||||
|
||||
# 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 Input.is_action_just_pressed("jump"):
|
||||
jumping = true
|
||||
animation_player.play("Jump")
|
||||
|
||||
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)
|
||||
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)
|
||||
|
||||
|
||||
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)
|
||||
|
||||
if walk_vel:
|
||||
animation_player.play("Walk")
|
||||
else:
|
||||
animation_player.play("Idle")
|
||||
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)
|
||||
if not is_on_floor() and animation_player.current_animation.begins_with("Idle"):
|
||||
animation_player.play("Fall")
|
||||
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
|
||||
|
||||
BIN
splunk/player/textures/arms.png
Normal file
BIN
splunk/player/textures/arms.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 69 KiB |
35
splunk/player/textures/arms.png.import
Normal file
35
splunk/player/textures/arms.png.import
Normal file
@@ -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
|
||||
BIN
splunk/player/textures/body.png
Normal file
BIN
splunk/player/textures/body.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 79 KiB |
35
splunk/player/textures/body.png.import
Normal file
35
splunk/player/textures/body.png.import
Normal file
@@ -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
|
||||
BIN
splunk/player/textures/feet.png
Normal file
BIN
splunk/player/textures/feet.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 73 KiB |
35
splunk/player/textures/feet.png.import
Normal file
35
splunk/player/textures/feet.png.import
Normal file
@@ -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
|
||||
BIN
splunk/player/textures/head.png
Normal file
BIN
splunk/player/textures/head.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 97 KiB |
35
splunk/player/textures/head.png.import
Normal file
35
splunk/player/textures/head.png.import
Normal file
@@ -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
|
||||
BIN
splunk/player/watch/textures/circular_progress_bar.png
Normal file
BIN
splunk/player/watch/textures/circular_progress_bar.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d04873hiusc6i"
|
||||
path="res://.godot/imported/circular_progress_bar.png-f4eb6f895796c7c677474f1ff35715a5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://player/watch/textures/circular_progress_bar.png"
|
||||
dest_files=["res://.godot/imported/circular_progress_bar.png-f4eb6f895796c7c677474f1ff35715a5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
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=1
|
||||
BIN
splunk/player/watch/textures/circular_progress_bar_outline.png
Normal file
BIN
splunk/player/watch/textures/circular_progress_bar_outline.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bc8il5eibx7u1"
|
||||
path="res://.godot/imported/circular_progress_bar_outline.png-f21aab2517811e4994f100e74ba10c8f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://player/watch/textures/circular_progress_bar_outline.png"
|
||||
dest_files=["res://.godot/imported/circular_progress_bar_outline.png-f21aab2517811e4994f100e74ba10c8f.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
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=1
|
||||
BIN
splunk/player/watch/watch.blend
Normal file
BIN
splunk/player/watch/watch.blend
Normal file
Binary file not shown.
53
splunk/player/watch/watch.blend.import
Normal file
53
splunk/player/watch/watch.blend.import
Normal file
@@ -0,0 +1,53 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://cwjrbynrbn6fh"
|
||||
path="res://.godot/imported/watch.blend-326c3df72c7fa85f5cf7e4436b5992fc.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://player/watch/watch.blend"
|
||||
dest_files=["res://.godot/imported/watch.blend-326c3df72c7fa85f5cf7e4436b5992fc.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
|
||||
BIN
splunk/player/watch/watch.blend1
Normal file
BIN
splunk/player/watch/watch.blend1
Normal file
Binary file not shown.
11
splunk/player/watch/watch.gd
Normal file
11
splunk/player/watch/watch.gd
Normal file
@@ -0,0 +1,11 @@
|
||||
extends Node3D
|
||||
|
||||
@export_category("Watch Properties")
|
||||
@export_range(0, 100, 1.0) var health: int = 100
|
||||
@export_range(0, 100, 1.0) var toxicity: int = 0
|
||||
@export_range(0, 100, 1.0) var burns: int = 0
|
||||
@export_range(0, 100, 1.0) var physical_trauma: int = 0
|
||||
@export_range(0, 100, 1.0) var hunger: int = 0
|
||||
@export_range(0, 100, 1.0) var thirst: int = 0
|
||||
@export_range(0, 100, 1.0) var insanity: int = 0
|
||||
@export_range(0, 100, 1.0) var drowning: int = 0
|
||||
1
splunk/player/watch/watch.gd.uid
Normal file
1
splunk/player/watch/watch.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://pte5bmcl0pup
|
||||
28
splunk/player/watch/watch.tscn
Normal file
28
splunk/player/watch/watch.tscn
Normal file
@@ -0,0 +1,28 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://xnd2p4kstsfw"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cwjrbynrbn6fh" path="res://player/watch/watch.blend" id="1_aow76"]
|
||||
[ext_resource type="Script" uid="uid://pte5bmcl0pup" path="res://player/watch/watch.gd" id="1_kkuxj"]
|
||||
[ext_resource type="PackedScene" uid="uid://ifoxqwmyx5pj" path="res://player/watch/watch_interface.tscn" id="3_5wyi7"]
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_tq7ns"]
|
||||
viewport_path = NodePath("SubViewport")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vnrqh"]
|
||||
resource_local_to_scene = true
|
||||
shading_mode = 0
|
||||
albedo_texture = SubResource("ViewportTexture_tq7ns")
|
||||
uv1_scale = Vector3(20.675, 20.675, 20.675)
|
||||
|
||||
[node name="Watch" type="Node3D"]
|
||||
script = ExtResource("1_kkuxj")
|
||||
|
||||
[node name="watch" parent="." instance=ExtResource("1_aow76")]
|
||||
|
||||
[node name="WatchFace" parent="watch" index="1"]
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_vnrqh")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="."]
|
||||
|
||||
[node name="WatchInterface" parent="SubViewport" instance=ExtResource("3_5wyi7")]
|
||||
|
||||
[editable path="watch"]
|
||||
32
splunk/player/watch/watch_interface.tscn
Normal file
32
splunk/player/watch/watch_interface.tscn
Normal file
@@ -0,0 +1,32 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://ifoxqwmyx5pj"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://oe0bmfcnckx8" path="res://player/watch/watch_interface_theme.tres" id="1_b0s04"]
|
||||
[ext_resource type="Texture2D" uid="uid://d04873hiusc6i" path="res://player/watch/textures/circular_progress_bar.png" id="2_rvv3g"]
|
||||
[ext_resource type="Texture2D" uid="uid://bc8il5eibx7u1" path="res://player/watch/textures/circular_progress_bar_outline.png" id="3_rvv3g"]
|
||||
|
||||
[node name="WatchInterface" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="CenterContainer" type="CenterContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="TextureProgressBar" type="TextureProgressBar" parent="CenterContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("1_b0s04")
|
||||
value = 78.0
|
||||
fill_mode = 4
|
||||
texture_under = ExtResource("2_rvv3g")
|
||||
texture_over = ExtResource("3_rvv3g")
|
||||
texture_progress = ExtResource("2_rvv3g")
|
||||
tint_under = Color(0.444843, 0.444843, 0.444843, 1)
|
||||
tint_progress = Color(1, 0.35, 0.35, 1)
|
||||
3
splunk/player/watch/watch_interface_theme.tres
Normal file
3
splunk/player/watch/watch_interface_theme.tres
Normal file
@@ -0,0 +1,3 @@
|
||||
[gd_resource type="Theme" format=3 uid="uid://oe0bmfcnckx8"]
|
||||
|
||||
[resource]
|
||||
@@ -20,6 +20,10 @@ config/icon="res://icon.svg"
|
||||
SteamManager="*res://networking/steam-manager.gd"
|
||||
GameManager="*res://game-logic/game_manager.gd"
|
||||
|
||||
[display]
|
||||
|
||||
window/vsync/vsync_mode=0
|
||||
|
||||
[editor_plugins]
|
||||
|
||||
enabled=PackedStringArray("res://addons/freecam_3D/plugin.cfg")
|
||||
@@ -97,10 +101,36 @@ 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]
|
||||
|
||||
3d_render/layer_2="player"
|
||||
3d_render/layer_3="multiplayer_player_view_shadows_only"
|
||||
3d_physics/layer_2="player"
|
||||
|
||||
[physics]
|
||||
|
||||
Reference in New Issue
Block a user