fully sync player movements over network

This commit is contained in:
2023-01-17 13:54:26 +01:00
parent 1ef5d54d6c
commit 9893bc45b4
19 changed files with 434 additions and 62 deletions

View File

@@ -1,19 +1,20 @@
[gd_scene load_steps=10 format=3 uid="uid://bl7jynld7s25o"]
[gd_scene load_steps=11 format=3 uid="uid://bl7jynld7s25o"]
[ext_resource type="Script" path="res://scripts/player/PlayerQ3.gd" id="1"]
[ext_resource type="Script" path="res://scripts/player/Weapons.gd" id="2_dl1i1"]
[ext_resource type="Texture2D" uid="uid://17b1nu8spjfi" path="res://textures/icon.png" id="2_mxb5i"]
[ext_resource type="Shader" path="res://assets/shader/crosshair.gdshader" id="3_3vnqi"]
[ext_resource type="Script" path="res://entities/PlayerSync.gd" id="5_828co"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_resyc"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_8iawe"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_d6dov"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4aqh7"]
albedo_texture = ExtResource("2_mxb5i")
uv1_scale = Vector3(3, 2, 1)
[sub_resource type="CylinderMesh" id="CylinderMesh_j6ixa"]
[sub_resource type="CylinderMesh" id="CylinderMesh_dh7aw"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_qn642"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_giw1l"]
shader = ExtResource("3_3vnqi")
shader_parameter/center_enabled = null
shader_parameter/legs_enabled = null
@@ -28,39 +29,46 @@ shader_parameter/len = null
shader_parameter/spacing = null
shader_parameter/spread = null
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_36ekt"]
properties/0/path = NodePath(".:position")
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_86371"]
properties/0/path = NodePath("Body/Head:rotation")
properties/0/spawn = true
properties/0/sync = true
properties/1/path = NodePath("Body:rotation")
properties/1/spawn = true
properties/1/sync = true
properties/2/path = NodePath("Body/Head:rotation")
properties/2/path = NodePath("Networking:sync_velocity")
properties/2/spawn = true
properties/2/sync = true
properties/3/path = NodePath("Networking:sync_position")
properties/3/spawn = true
properties/3/sync = true
properties/4/path = NodePath("Networking:processed_position")
properties/4/spawn = true
properties/4/sync = true
[node name="PlayerQ3" type="CharacterBody3D"]
script = ExtResource("1")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
shape = SubResource("CylinderShape3D_resyc")
[node name="MeshInstance3D" type="MeshInstance3D" parent="CollisionShape3D"]
material_override = SubResource("StandardMaterial3D_d6dov")
mesh = SubResource("CylinderMesh_j6ixa")
shape = SubResource("CylinderShape3D_8iawe")
[node name="Body" type="Node3D" parent="."]
[node name="MeshInstance3D" type="MeshInstance3D" parent="Body"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
material_override = SubResource("StandardMaterial3D_4aqh7")
mesh = SubResource("CylinderMesh_dh7aw")
skeleton = NodePath("../../CollisionShape3D")
[node name="Head" type="Node3D" parent="Body"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.75, 0)
[node name="Hand" type="Node3D" parent="Body/Head" node_paths=PackedStringArray("player_root")]
[node name="Hand" type="Node3D" parent="Body/Head"]
script = ExtResource("2_dl1i1")
player_root = NodePath("../../..")
[node name="Crosshair" type="ColorRect" parent="Body/Head/Hand"]
material = SubResource("ShaderMaterial_qn642")
material = SubResource("ShaderMaterial_giw1l")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
@@ -83,7 +91,8 @@ offset_bottom = 14.0
metadata/_edit_use_anchors_ = true
[node name="Networking" type="Node" parent="."]
script = ExtResource("5_828co")
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="Networking"]
root_path = NodePath("../..")
replication_config = SubResource("SceneReplicationConfig_36ekt")
replication_config = SubResource("SceneReplicationConfig_86371")