Fix the aiming and bullet creation
This commit is contained in:
parent
33f1d57a50
commit
bd91818682
@ -72,7 +72,7 @@ exit={
|
||||
"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)
|
||||
]
|
||||
}
|
||||
shot={
|
||||
shoot={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
|
||||
]
|
||||
@ -93,6 +93,13 @@ crouch={
|
||||
]
|
||||
}
|
||||
|
||||
[layer_names]
|
||||
|
||||
3d_render/layer_1="World"
|
||||
2d_physics/layer_1="World"
|
||||
3d_physics/layer_1="World"
|
||||
3d_navigation/layer_1="World"
|
||||
|
||||
[physics]
|
||||
|
||||
3d/physics_engine="JoltPhysics3D"
|
||||
|
@ -8,7 +8,6 @@ struct PlayerServerNode {
|
||||
base: Base<CharacterBody3D>,
|
||||
jumping: bool,
|
||||
input_direction: Vector2,
|
||||
input_rotation: Vector3,
|
||||
}
|
||||
|
||||
const JUMP_VELOCITY: f32 = 4.5;
|
||||
@ -21,7 +20,6 @@ impl ICharacterBody3D for PlayerServerNode {
|
||||
base,
|
||||
jumping: false,
|
||||
input_direction: Vector2::new(0.0, 0.0),
|
||||
input_rotation: Vector3::new(0.0, 0.0, 0.0),
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,7 +38,7 @@ impl ICharacterBody3D for PlayerServerNode {
|
||||
self.base_mut().set_velocity(new_velocity);
|
||||
}
|
||||
self.jumping = false;
|
||||
|
||||
|
||||
if self.base().is_on_floor() {
|
||||
let direction = self.base().get_transform().basis
|
||||
* Vector3::new(self.input_direction.x, 0.0, self.input_direction.y);
|
||||
@ -79,17 +77,33 @@ impl PlayerServerNode {
|
||||
self.input_direction = new_input_direction;
|
||||
}
|
||||
|
||||
#[rpc(any_peer, call_local, unreliable_ordered)]
|
||||
fn set_rotation_x(&mut self, x: f32) {
|
||||
let mut new_rotation = self.base().get_rotation();
|
||||
new_rotation.x = x;
|
||||
self.base_mut().set_rotation(new_rotation);
|
||||
}
|
||||
|
||||
#[rpc(any_peer, call_local, unreliable_ordered)]
|
||||
fn set_rotation_y(&mut self, y: f32) {
|
||||
let mut new_rotation = self.base().get_rotation();
|
||||
new_rotation.y = y;
|
||||
self.base_mut().set_rotation(new_rotation);
|
||||
}
|
||||
|
||||
#[rpc(any_peer, call_local, unreliable_ordered)]
|
||||
fn set_rotation_x(&mut self, x: f32) {
|
||||
let mut camera_mount = self.base().get_node_as::<Node3D>("BulletStartingPoint");
|
||||
let mut new_rotation = camera_mount.get_rotation();
|
||||
new_rotation.x = x;
|
||||
camera_mount.set_rotation(new_rotation);
|
||||
}
|
||||
|
||||
#[rpc(any_peer, call_local, unreliable_ordered)]
|
||||
fn shoot(&mut self) {
|
||||
let bullet_starting_poing = match self.base().find_child("BulletStartingPoint") {
|
||||
Some(node) => node,
|
||||
None => return,
|
||||
};
|
||||
let casted_bullet_node = bullet_starting_poing.cast::<Node3D>();
|
||||
let mut map = match self.base().find_parent("Map") {
|
||||
Some(map) => map,
|
||||
None => return,
|
||||
};
|
||||
let args = &[casted_bullet_node.to_variant(), 10.to_variant(), 10.to_variant()];
|
||||
map.call("spawn_bullet", args);
|
||||
}
|
||||
}
|
||||
|
@ -20,6 +20,11 @@ func _on_head_collision_body_part_hit(dam: Variant) -> void:
|
||||
owner_placeholder.take_damage(dam)
|
||||
pass # Replace with function body.
|
||||
|
||||
func _hit_detected(dam: Variant) -> void:
|
||||
print("hit detected")
|
||||
if owner_placeholder:
|
||||
owner_placeholder.take_damage(dam)
|
||||
|
||||
func _get_owner() -> CharacterBody3D:
|
||||
var owner_placeholder := find_parent("PlayerPlaceholder*")
|
||||
return owner_placeholder
|
||||
|
@ -1,7 +1,8 @@
|
||||
[gd_scene load_steps=28 format=4 uid="uid://1txob6jskn5s"]
|
||||
|
||||
[ext_resource type="Script" path="res://scenes/characters/blue/dummy.gd" id="1_cyeub"]
|
||||
[ext_resource type="Script" path="res://scenes/characters/blue/head_collision.gd" id="1_lianf"]
|
||||
[ext_resource type="Script" path="res://scenes/characters/blue/hit_collision.gd" id="2_jsfjb"]
|
||||
[ext_resource type="PackedScene" uid="uid://dab7jttp7ywfh" path="res://scenes/weapon/guns/ak/gun.tscn" id="3_div6m"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gqjtb"]
|
||||
resource_name = "Alpha_Joints_MAT"
|
||||
@ -258,8 +259,6 @@ blend_shape_mode = 0
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_j3emx"]
|
||||
albedo_color = Color(0, 0, 1, 1)
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_axep3"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_0ptuo"]
|
||||
radius = 11.7055
|
||||
height = 28.953
|
||||
@ -936,7 +935,7 @@ script = ExtResource("1_cyeub")
|
||||
[node name="Armature" type="Node3D" parent="Body"]
|
||||
transform = Transform3D(0.01, 0, 0, 0, -4.37114e-10, -0.01, 0, 0.01, -4.37114e-10, 0, 0, 0)
|
||||
|
||||
[node name="Skeleton3D" type="Skeleton3D" parent="Body/Armature"]
|
||||
[node name="Skeleton3D" type="Skeleton3D" parent="Body/Armature" groups=["target"]]
|
||||
bones/0/name = "mixamorig_Hips"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(1, -8.78096e-05, -2.78699e-06, 2.78699e-06, 0, 1, -8.78096e-05, -1, 0, -6.75701e-06, 4.84474e-05, -99.7919)
|
||||
@ -1402,29 +1401,15 @@ mesh = SubResource("ArrayMesh_8h4ki")
|
||||
skin = SubResource("Skin_hwx5g")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_j3emx")
|
||||
|
||||
[node name="HitCollisions" type="Node3D" parent="Body/Armature/Skeleton3D"]
|
||||
[node name="PhysicalBoneSimulator3D" type="PhysicalBoneSimulator3D" parent="Body/Armature/Skeleton3D" groups=["target"]]
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Body/Armature/Skeleton3D"]
|
||||
transform = Transform3D(0.978017, -0.176546, -0.110973, 0.15839, 0.282801, 0.946011, -0.135631, -0.942791, 0.304547, -11.8203, 17.7472, -135.936)
|
||||
bone_name = "mixamorig_Head"
|
||||
bone_idx = 5
|
||||
|
||||
[node name="HeadCollision" type="Area3D" parent="Body/Armature/Skeleton3D/BoneAttachment3D" groups=["body"]]
|
||||
transform = Transform3D(9.90229, 1.3945, -6.09554e-08, 0, -4.37114e-07, -10, -1.3945, 9.90229, -4.32843e-07, 0.58762, 7.43451, 1.4646)
|
||||
script = ExtResource("1_lianf")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Body/Armature/Skeleton3D/BoneAttachment3D/HeadCollision"]
|
||||
shape = SubResource("SphereShape3D_axep3")
|
||||
|
||||
[node name="PhysicalBoneSimulator3D" type="PhysicalBoneSimulator3D" parent="Body/Armature/Skeleton3D"]
|
||||
|
||||
[node name="Physical Bone mixamorig_Hips" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(82.5044, -54.0559, -16.4615, 55.0482, 83.4649, 1.8195, 12.756, -10.5629, 98.619, 1.31498, 0.290625, -87.4646)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
[node name="Physical Bone mixamorig_Hips" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D" groups=["target"]]
|
||||
transform = Transform3D(82.5044, -54.0559, -16.4615, 55.0482, 83.4649, 1.8195, 12.756, -10.5629, 98.619, 1.315, 0.290634, -87.4646)
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.11306e-07, -5.58794e-09, 0.0499956)
|
||||
body_offset = Transform3D(100, -0.0695305, -0.00860918, -1.4782e-05, 12.2744, -99.2438, 0.0700493, 99.2438, 12.2744, 0.000441551, 4.96175, -0.613665)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.49711e-07, -1.76951e-08, 0.0499957)
|
||||
body_offset = Transform3D(100, -0.069519, -0.00861847, -2.6226e-05, 12.2744, -99.2438, 0.0700493, 99.2438, 12.2744, 0.000455856, 4.96176, -0.613665)
|
||||
mass = 20.0
|
||||
bone_name = "mixamorig_Hips"
|
||||
joint_constraints/bias = 0.3
|
||||
@ -1436,12 +1421,12 @@ transform = Transform3D(0.01, 0, 0, 0, -4.37114e-10, 0.01, 0, -0.01, -4.37114e-1
|
||||
shape = SubResource("CapsuleShape3D_0ptuo")
|
||||
|
||||
[node name="Physical Bone mixamorig_Spine" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(80.9412, -58.546, -4.56913, 57.6046, 80.6695, -13.1964, 11.4119, 8.04929, 99.0201, 2.40599, 0.973749, -98.2036)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
transform = Transform3D(80.9412, -58.546, -4.56914, 57.6046, 80.6695, -13.1964, 11.4119, 8.04927, 99.0201, 2.40599, 0.973749, -98.2036)
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.10332e-09, 5.59426e-10, 0.05866)
|
||||
body_offset = Transform3D(100, 7.62939e-06, 1.09673e-05, 4.76837e-06, 0, -100, -1.52588e-05, 100, -9.53674e-07, -9.53674e-07, 5.866, 0)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.35753e-08, 1.01227e-08, 0.0586602)
|
||||
body_offset = Transform3D(100, 1.52588e-05, 8.58307e-06, 4.76837e-06, 1.81198e-05, -100, -1.52588e-05, 100, 1.52588e-05, -2.86102e-06, 5.86602, -1.90735e-06)
|
||||
mass = 20.0
|
||||
bone_name = "mixamorig_Spine"
|
||||
joint_constraints/bias = 0.3
|
||||
@ -1452,30 +1437,31 @@ joint_constraints/impulse_clamp = 0.0
|
||||
transform = Transform3D(0.0318071, 3.86358e-14, 4.9738e-14, -2.13163e-14, -1.62981e-09, 0.0318071, -4.26326e-14, -0.0318071, -1.62981e-09, -0.00245133, -5.91656e-09, -0.223859)
|
||||
shape = SubResource("CapsuleShape3D_126jt")
|
||||
|
||||
[node name="Physical Bone mixamorig_Head" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
[node name="Physical Bone mixamorig_Head" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D" groups=["target"]]
|
||||
transform = Transform3D(-97.8019, 4.47329, 20.366, -15.8369, -79.4709, -58.5966, 13.5638, -60.5339, 78.4325, -13.8193, 23.4986, -143.635)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.71765e-08, -1.39698e-07, 0.0981531)
|
||||
body_offset = Transform3D(-100, -0.00220013, -0.000778198, -5.24521e-06, 33.8066, -94.1122, 0.00232792, -94.1122, -33.8066, 6.86646e-05, 9.23741, 3.31821)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.39306e-07, 5.02914e-08, 0.0981532)
|
||||
body_offset = Transform3D(-100, -0.00220013, -0.000778198, -5.24521e-06, 33.8066, -94.1122, 0.00232792, -94.1122, -33.8066, 5.24521e-05, 9.23741, 3.31823)
|
||||
mass = 7.0
|
||||
bone_name = "mixamorig_Head"
|
||||
joint_constraints/bias = 0.3
|
||||
joint_constraints/damping = 1.0
|
||||
joint_constraints/impulse_clamp = 0.0
|
||||
script = ExtResource("2_jsfjb")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D/Physical Bone mixamorig_Head"]
|
||||
transform = Transform3D(0.01, 0, 0, 0, -4.37114e-10, 0.01, 0, -0.01, -4.37114e-10, 0, 0, 0)
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D/Physical Bone mixamorig_Head" groups=["target"]]
|
||||
transform = Transform3D(0.0099, 2.91038e-10, 0, -3.49246e-10, 9.31323e-10, 0.0099, 1.16415e-10, -0.0099, 4.65661e-10, 0, 0, 0)
|
||||
shape = SubResource("CapsuleShape3D_1gw5y")
|
||||
|
||||
[node name="Physical Bone mixamorig_LeftArm" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(86.1165, 14.0252, -48.8594, -45.4995, 64.1262, -61.787, 22.6659, 75.4395, 61.6046, 16.1942, 31.0309, -132.592)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.17137e-09, 2.34109e-07, 0.137023)
|
||||
body_offset = Transform3D(100, -4.19617e-05, -2.47955e-05, 2.86102e-05, 100, -3.8147e-06, 1.71661e-05, -3.8147e-06, 100, 3.8147e-06, -2.28882e-05, -13.7023)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.30788e-08, 1.57815e-07, 0.137023)
|
||||
body_offset = Transform3D(100, -6.48499e-05, -2.28882e-05, 5.34058e-05, 100, -3.8147e-06, 1.52588e-05, 3.8147e-06, 100, 1.14441e-05, -1.52588e-05, -13.7023)
|
||||
mass = 3.0
|
||||
bone_name = "mixamorig_LeftArm"
|
||||
joint_constraints/bias = 0.3
|
||||
@ -1488,11 +1474,11 @@ shape = SubResource("CapsuleShape3D_krlof")
|
||||
|
||||
[node name="Physical Bone mixamorig_LeftForeArm" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(-48.2566, -12.058, 86.752, -78.7312, -37.4258, -48.997, 38.3757, -91.9452, 8.56699, 1.36484, 46.9033, -104.66)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.99827e-07, 6.04928e-08, 0.138072)
|
||||
body_offset = Transform3D(100, 3.05176e-05, -4.19617e-05, -3.8147e-05, 0, -100, -3.8147e-06, 100, 1.14441e-05, 4.57764e-05, 13.8072, -7.62939e-06)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.57682e-07, -1.58011e-08, 0.138072)
|
||||
body_offset = Transform3D(100, 3.05176e-05, -3.8147e-05, -3.8147e-05, 0, -100, -3.8147e-06, 100, 1.14441e-05, 6.10352e-05, 13.8072, 0)
|
||||
mass = 3.0
|
||||
bone_name = "mixamorig_LeftForeArm"
|
||||
joint_constraints/bias = 0.3
|
||||
@ -1504,12 +1490,12 @@ transform = Transform3D(0.01, 0, 0, 0, -4.37114e-10, 0.01, 0, -0.01, -4.37114e-1
|
||||
shape = SubResource("CapsuleShape3D_2k34c")
|
||||
|
||||
[node name="Physical Bone mixamorig_LeftHand" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(9.11563, -98.6768, 13.4089, 23.9481, -10.8976, -96.4766, 96.6612, 12.0056, 22.6379, -10.9685, 56.2242, -106.442)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
transform = Transform3D(9.11563, -98.6768, 13.4089, 23.9482, -10.8976, -96.4766, 96.6612, 12.0056, 22.6379, -10.9684, 56.2242, -106.442)
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.24797e-07, -1.22003e-07, 0.0264902)
|
||||
body_offset = Transform3D(-58.5197, 57.9894, 56.6805, 1.62125e-05, 69.899, -71.5132, -81.0891, -41.8493, -40.9047, -1.50148, 1.89441, 1.08356)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.37722e-08, -9.77889e-09, 0.0264902)
|
||||
body_offset = Transform3D(-58.5197, 57.9894, 56.6805, 2.19345e-05, 69.899, -71.5132, -81.0891, -41.8493, -40.9047, -1.50148, 1.8944, 1.08357)
|
||||
bone_name = "mixamorig_LeftHand"
|
||||
joint_constraints/bias = 0.3
|
||||
joint_constraints/damping = 1.0
|
||||
@ -1521,8 +1507,8 @@ shape = SubResource("CapsuleShape3D_5fgdh")
|
||||
|
||||
[node name="Physical Bone mixamorig_RightArm" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(30.7246, 72.8896, 61.1809, 93.7855, -34.092, -6.48192, 16.1331, 59.3704, -78.8345, -27.5296, -1.29566, -110.13)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.63344e-08, 1.16326e-07, 0.137023)
|
||||
body_offset = Transform3D(100, -5.72205e-06, 1.19209e-05, 6.67572e-06, 1.07288e-05, -100, -1.90735e-06, 100, 2.64645e-05, 0, 13.7023, -1.52588e-05)
|
||||
@ -1537,12 +1523,12 @@ transform = Transform3D(0.01, 0, 0, 0, -4.37114e-10, 0.01, 0, -0.01, -4.37114e-1
|
||||
shape = SubResource("CapsuleShape3D_8vkyv")
|
||||
|
||||
[node name="Physical Bone mixamorig_RightForeArm" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(24.3552, 37.4063, 89.4852, -25.0101, 91.5653, -31.4688, -93.7087, -14.716, 31.6563, -48.2682, 3.93749, -103.698)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
transform = Transform3D(24.3552, 37.4063, 89.4852, -25.0101, 91.5653, -31.4688, -93.7087, -14.716, 31.6563, -48.2682, 3.9375, -103.698)
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.40737e-07, -5.19106e-08, 0.138072)
|
||||
body_offset = Transform3D(100, -1.14441e-05, 8.58307e-06, -3.8147e-06, 100, 9.53674e-06, 5.72205e-06, -5.72205e-06, 100, -1.52588e-05, 3.8743e-06, -13.8072)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.53905e-07, -1.44255e-07, 0.138072)
|
||||
body_offset = Transform3D(100, 9.53674e-06, -9.53674e-07, -2.67029e-05, 100, 2.28882e-05, 1.7643e-05, -2.47955e-05, 100, -1.52588e-05, 1.12653e-05, -13.8072)
|
||||
mass = 3.0
|
||||
bone_name = "mixamorig_RightForeArm"
|
||||
joint_constraints/bias = 0.3
|
||||
@ -1554,12 +1540,12 @@ transform = Transform3D(0.01, 0, 0, 0, 0.00999714, -0.000239087, 0, 0.000239087,
|
||||
shape = SubResource("CapsuleShape3D_fh1k4")
|
||||
|
||||
[node name="Physical Bone mixamorig_RightHand" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(89.0767, -24.8074, -38.0781, 5.05123, 88.6726, -45.9527, 45.1645, 39.0097, 80.2397, -24.5746, 26.0951, -105.517)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
transform = Transform3D(89.0767, -24.8074, -38.0781, 5.05123, 88.6726, -45.9527, 45.1645, 39.0097, 80.2397, -24.5745, 26.0951, -105.517)
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.86265e-08, 2.30502e-07, 0.0264903)
|
||||
body_offset = Transform3D(-58.5197, -57.9893, -56.6805, -1.33514e-05, 69.8991, -71.5131, 81.0891, -41.8492, -40.9048, 1.5015, 1.89439, 1.08359)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.43424e-07, 3.14321e-07, 0.0264904)
|
||||
body_offset = Transform3D(-58.5197, -57.9893, -56.6805, -1.33514e-05, 69.8991, -71.5131, 81.0891, -41.8492, -40.9048, 1.5015, 1.89439, 1.08361)
|
||||
bone_name = "mixamorig_RightHand"
|
||||
joint_constraints/bias = 0.3
|
||||
joint_constraints/damping = 1.0
|
||||
@ -1570,12 +1556,12 @@ transform = Transform3D(0.01, 0, 0, 0, 0.00693402, 0.00720551, 0, -0.00720551, 0
|
||||
shape = SubResource("CapsuleShape3D_1m8r5")
|
||||
|
||||
[node name="Physical Bone mixamorig_LeftUpLeg" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(-96.1774, -26.2683, 7.73901, -23.4203, 64.2554, -72.957, 14.1919, -71.9807, -67.9513, 5.83707, 19.601, -60.9754)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
transform = Transform3D(-96.1774, -26.2683, 7.73898, -23.4202, 64.2555, -72.957, 14.1919, -71.9806, -67.9513, 5.83708, 19.601, -60.9754)
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.78612e-08, -7.74374e-09, 0.202997)
|
||||
body_offset = Transform3D(100, -4.3869e-05, 9.53674e-06, 9.53674e-06, 7.62939e-06, -100, 4.673e-05, 100, 3.8147e-06, -5.72205e-06, 20.2997, 0)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.02254e-07, -1.71497e-09, 0.202997)
|
||||
body_offset = Transform3D(100, -7.34329e-05, 2.47955e-05, 2.09808e-05, 6.10352e-05, -100, 7.53403e-05, 100, 5.72205e-05, -1.52588e-05, 20.2997, -1.14441e-05)
|
||||
mass = 5.0
|
||||
bone_name = "mixamorig_LeftUpLeg"
|
||||
joint_constraints/bias = 0.3
|
||||
@ -1588,11 +1574,11 @@ shape = SubResource("CapsuleShape3D_3cygo")
|
||||
|
||||
[node name="Physical Bone mixamorig_LeftLeg" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(-97.5216, -11.6193, -18.8291, -22.0483, 58.1427, 78.3154, 1.84805, 80.5259, -59.2635, 8.22949, 17.9261, -34.7068)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.03053e-09, -1.30455e-08, 0.210495)
|
||||
body_offset = Transform3D(100, 4.76837e-06, 1.33514e-05, 5.72205e-06, 0, -100, -9.53674e-07, 100, 1.52588e-05, -1.90735e-06, 21.0495, -1.90735e-06)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.01576e-09, -2.10753e-08, 0.210495)
|
||||
body_offset = Transform3D(100, 4.76837e-06, 1.14441e-05, 5.72205e-06, 0, -100, -9.53674e-07, 100, 1.90735e-05, -1.90735e-06, 21.0495, -1.90735e-06)
|
||||
mass = 5.0
|
||||
bone_name = "mixamorig_LeftLeg"
|
||||
joint_constraints/bias = 0.3
|
||||
@ -1605,11 +1591,11 @@ shape = SubResource("CapsuleShape3D_vwdij")
|
||||
|
||||
[node name="Physical Bone mixamorig_LeftFoot" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(-93.6712, -34.5296, 5.78095, -34.9451, 91.207, -21.4506, 2.13419, -22.1132, -97.501, 11.7385, 3.12728, -14.5678)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.41225e-09, 7.07881e-08, 0.078608)
|
||||
body_offset = Transform3D(100, 5.72205e-06, -1.43051e-06, -9.53674e-07, -1.52588e-05, -100, -5.72205e-06, 100, -3.24249e-05, 9.53674e-07, 7.8608, -4.52995e-06)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.91287e-09, 1.35505e-07, 0.0786082)
|
||||
body_offset = Transform3D(100, 2.86102e-05, 3.33786e-06, 4.29153e-06, -2.47955e-05, -100, -2.28882e-05, 100, -4.19617e-05, -9.53674e-07, 7.86082, -1.0252e-05)
|
||||
bone_name = "mixamorig_LeftFoot"
|
||||
joint_constraints/bias = 0.3
|
||||
joint_constraints/damping = 1.0
|
||||
@ -1621,11 +1607,11 @@ shape = SubResource("CapsuleShape3D_qyg6j")
|
||||
|
||||
[node name="Physical Bone mixamorig_RightUpLeg" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(-83.6898, -51.5224, 18.4786, -50.5592, 59.8312, -62.161, 20.9708, -61.3651, -76.122, -11.4062, 7.37456, -61.646)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.31228e-08, 7.74372e-09, 0.202997)
|
||||
body_offset = Transform3D(100, -1.52588e-05, 7.62939e-06, 5.72205e-06, -3.8147e-06, -100, 1.14441e-05, 100, -3.8147e-06, -2.86102e-06, 20.2997, 0)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.08665e-08, 2.32312e-08, 0.202997)
|
||||
body_offset = Transform3D(100, -1.52588e-05, 3.8147e-06, 5.72205e-06, -1.14441e-05, -100, 1.14441e-05, 100, -1.14441e-05, -2.86102e-06, 20.2997, 0)
|
||||
mass = 5.0
|
||||
bone_name = "mixamorig_RightUpLeg"
|
||||
joint_constraints/bias = 0.3
|
||||
@ -1637,12 +1623,12 @@ transform = Transform3D(0.01, 0, 0, 0, -4.37114e-10, 0.01, 0, -0.01, -4.37114e-1
|
||||
shape = SubResource("CapsuleShape3D_a81km")
|
||||
|
||||
[node name="Physical Bone mixamorig_RightLeg" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(-91.8175, -23.5086, -31.8888, -36.0103, 83.0805, 42.437, 16.517, 50.4478, -84.7479, -8.44487, 11.0604, -28.3544)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
transform = Transform3D(-91.8175, -23.5086, -31.8888, -36.0102, 83.0805, 42.437, 16.517, 50.4478, -84.7479, -8.44487, 11.0604, -28.3544)
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.48112e-08, -2.68514e-07, 0.210495)
|
||||
body_offset = Transform3D(100, -1.71661e-05, 1.33514e-05, -9.53674e-07, 4.19617e-05, -100, 1.90735e-05, 100, 6.86646e-05, -4.29153e-06, 21.0495, 1.23978e-05)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.05739e-08, -3.49823e-07, 0.210495)
|
||||
body_offset = Transform3D(100, -4.00543e-05, 1.33514e-05, 2.86102e-06, 6.10352e-05, -100, 4.57764e-05, 100, 8.01086e-05, -7.86781e-06, 21.0495, 1.81198e-05)
|
||||
mass = 5.0
|
||||
bone_name = "mixamorig_RightLeg"
|
||||
joint_constraints/bias = 0.3
|
||||
@ -1653,13 +1639,13 @@ joint_constraints/impulse_clamp = 0.0
|
||||
transform = Transform3D(0.01, 0, 0, 0, -4.37114e-10, 0.01, 0, -0.01, -4.37114e-10, 0, 0, 0)
|
||||
shape = SubResource("CylinderShape3D_2binp")
|
||||
|
||||
[node name="Physical Bone mixamorig_RightFoot" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(-88.192, -17.3351, 43.8367, -46.8549, 42.4444, -77.4796, -5.17505, -88.8705, -45.5549, -5.17837, 8.21811, -6.93437)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
[node name="Physical Bone mixamorig_RightFoot" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D" groups=["target"]]
|
||||
transform = Transform3D(-88.192, -17.3351, 43.8368, -46.8549, 42.4444, -77.4796, -5.17505, -88.8705, -45.5549, -5.17837, 8.21811, -6.93437)
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
joint_type = 1
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.24153e-08, -2.70381e-09, 0.078608)
|
||||
body_offset = Transform3D(100, 1.14441e-05, -7.62939e-06, -7.62939e-06, -1.90735e-05, -100, 0, 100, -5.72205e-05, 5.84126e-06, 7.8608, 4.76837e-06)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.6418e-08, 1.82867e-08, 0.078608)
|
||||
body_offset = Transform3D(100, 1.33514e-05, -1.52588e-05, -7.62939e-06, -6.10352e-05, -100, 0, 100, -8.39233e-05, 5.84126e-06, 7.8608, 4.76837e-06)
|
||||
bone_name = "mixamorig_RightFoot"
|
||||
joint_constraints/bias = 0.3
|
||||
joint_constraints/damping = 1.0
|
||||
@ -1678,4 +1664,5 @@ libraries = {
|
||||
"": SubResource("AnimationLibrary_dbxeu")
|
||||
}
|
||||
|
||||
[connection signal="body_part_hit" from="Body/Armature/Skeleton3D/BoneAttachment3D/HeadCollision" to="." method="_on_head_collision_body_part_hit"]
|
||||
[node name="Gun" parent="." instance=ExtResource("3_div6m")]
|
||||
transform = Transform3D(-0.12, 0, 1.81195e-08, 0, 0.12, 0, -1.81195e-08, 0, -0.12, -0.176084, 1.11081, 0.405023)
|
||||
|
@ -1,10 +1,9 @@
|
||||
extends Area3D
|
||||
extends PhysicalBone3D
|
||||
|
||||
@export var damage_multiplexer: float = 2.0
|
||||
@export var damage_multiplexer: float = 1.0
|
||||
|
||||
signal body_part_hit(damage: int)
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
@ -13,5 +12,6 @@ func _process(delta: float) -> void:
|
||||
pass
|
||||
|
||||
func hit(base_damage: int):
|
||||
print("HEAD")
|
||||
var final_damage = round(base_damage * damage_multiplexer)
|
||||
emit_signal("body_part_hit", final_damage)
|
||||
$"../../../../.."._hit_detected(final_damage)
|
@ -103,10 +103,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.799455, 0)
|
||||
collision_layer = 9
|
||||
collision_mask = 9
|
||||
script = ExtResource("1_q75ai")
|
||||
health = null
|
||||
owner_id = null
|
||||
jump_height = null
|
||||
camera_sens = null
|
||||
|
||||
[node name="Collision" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0150437, 0)
|
||||
|
@ -1,22 +1,31 @@
|
||||
extends Node
|
||||
|
||||
class_name BulletSpawnerController
|
||||
# This script shoud be able to find the player
|
||||
|
||||
var players: Dictionary = {}
|
||||
|
||||
func spawn_a_bullet():
|
||||
# -- Get
|
||||
pass
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
var world: MapController = find_parent("Map")
|
||||
# Get all the players on the server and add
|
||||
# corresponding nodes to them
|
||||
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
|
||||
func _get_spawner() -> MultiplayerSpawner:
|
||||
return $MultiplayerSpawner
|
||||
|
||||
func _get_root() -> Node3D:
|
||||
return $Bullets
|
||||
|
||||
# -- TODO: Better bullet naming handler
|
||||
var bullet_amount: int = -2147483647
|
||||
func spawn_bullet(starting_point: Node3D, speed: int, damage: int):
|
||||
var node: Node3D = ResourceLoader.load("res://scenes/weapon/bullet.tscn").instantiate()
|
||||
node.position = starting_point.global_position
|
||||
node.transform.basis = starting_point.global_transform.basis
|
||||
node.name = str(bullet_amount)
|
||||
node.speed = speed
|
||||
node.damage = damage
|
||||
bullet_amount += 1
|
||||
_get_root().add_child(node)
|
||||
|
@ -1,8 +1,12 @@
|
||||
[gd_scene format=3 uid="uid://sh5diukewgs5"]
|
||||
[gd_scene load_steps=2 format=3 uid="uid://sh5diukewgs5"]
|
||||
|
||||
[ext_resource type="Script" path="res://scenes/maps/base/bullet_spawner/bullet_controller.gd" id="1_ohxtg"]
|
||||
|
||||
[node name="BulletSpawner" type="Node3D"]
|
||||
script = ExtResource("1_ohxtg")
|
||||
|
||||
[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="."]
|
||||
spawn_path = NodePath("../Node3D")
|
||||
_spawnable_scenes = PackedStringArray("res://scenes/weapon/bullet.tscn")
|
||||
spawn_path = NodePath("../Bullets")
|
||||
|
||||
[node name="Node3D" type="Node3D" parent="."]
|
||||
[node name="Bullets" type="Node3D" parent="."]
|
||||
|
@ -3,9 +3,11 @@ class_name MapController extends Node
|
||||
|
||||
const PLAYER_SPAWNER: String = "res://scenes/maps/base/player_spawner/player_spawner.tscn"
|
||||
const OBJECT_SPAWNER: String = "res://scenes/maps/base/object_spawner/object_spawner.tscn"
|
||||
const BULLET_SPAWNER: String = "res://scenes/maps/base/bullet_spawner/bullet_spawner.tscn"
|
||||
|
||||
var player_spawner: PlayerSpawnerController
|
||||
var object_spawner: Node3D
|
||||
var bullet_spawner: BulletSpawnerController
|
||||
@onready var spawn_locations: SpawnController = $SpawnLocations
|
||||
|
||||
func _on_player_connected(id):
|
||||
@ -25,6 +27,11 @@ func _ready() -> void:
|
||||
err = _add_object_spawner()
|
||||
if err != OK:
|
||||
push_error("Couldn't load object spawner")
|
||||
|
||||
err = _add_bullet_spawner()
|
||||
if err != OK:
|
||||
push_error("Couldn't load bullet spawner")
|
||||
|
||||
# add objects spawner
|
||||
if not OS.has_feature("dedicated_server"):
|
||||
_request_spawn.rpc_id(1, multiplayer.get_unique_id())
|
||||
@ -71,18 +78,19 @@ func _add_object_spawner() -> Error :
|
||||
add_child(node)
|
||||
object_spawner = node
|
||||
return OK
|
||||
|
||||
func _add_bullet_spawner() -> Error :
|
||||
if not ResourceLoader.exists(BULLET_SPAWNER):
|
||||
return ERR_DOES_NOT_EXIST
|
||||
var scene: PackedScene = ResourceLoader.load(BULLET_SPAWNER)
|
||||
if not scene.can_instantiate():
|
||||
return ERR_CANT_OPEN
|
||||
var node: BulletSpawnerController = scene.instantiate()
|
||||
add_child(node)
|
||||
bullet_spawner = node
|
||||
return OK
|
||||
|
||||
var bullet_amount: int = 0
|
||||
# -- TODO: Better bullet naming handler
|
||||
var bullet_amount: int = -2147483647
|
||||
func spawn_bullet(starting_point: Node3D, speed: int, damage: int):
|
||||
var node: Node3D = ResourceLoader.load("res://scenes/weapon/bullet.tscn").instantiate()
|
||||
node.position = starting_point.global_position
|
||||
node.transform.basis = starting_point.global_transform.basis
|
||||
node.name = str(bullet_amount)
|
||||
node.speed = speed
|
||||
node.damage = damage
|
||||
bullet_amount += 1
|
||||
var spawner: MultiplayerSpawner = object_spawner.find_child("MultiplayerSpawner")
|
||||
var root_node: Node3D = object_spawner.find_child("Objects")
|
||||
|
||||
spawner.spawn(node)
|
||||
root_node.add_child(node)
|
||||
bullet_spawner.spawn_bullet(starting_point, speed, damage)
|
||||
|
@ -755,9 +755,13 @@ sky = SubResource("Sky_8ov8p")
|
||||
ambient_light_source = 3
|
||||
ambient_light_color = Color(1, 1, 1, 1)
|
||||
reflected_light_source = 2
|
||||
ssao_enabled = true
|
||||
glow_enabled = true
|
||||
volumetric_fog_enabled = true
|
||||
volumetric_fog_density = 0.4
|
||||
fog_enabled = true
|
||||
fog_density = 0.3
|
||||
fog_height = 1.5
|
||||
fog_height_density = 2.0
|
||||
volumetric_fog_density = 0.5118
|
||||
volumetric_fog_albedo = Color(0.574998, 0.574998, 0.574998, 1)
|
||||
|
||||
[node name="Map" type="Node3D"]
|
||||
@ -948,13 +952,33 @@ skeleton = NodePath("")
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="World/Floor/Cube_New_Material_0/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ssowb")
|
||||
|
||||
[node name="Wall1" type="CSGBox3D" parent="World/Floor"]
|
||||
transform = Transform3D(0.501255, 0, 0, 0, 3042.19, 1.32462e-12, 0, -2.54233e-13, 0.224521, 0.400475, 103.066, -50.5824)
|
||||
use_collision = true
|
||||
size = Vector3(202.722, 1, 1)
|
||||
|
||||
[node name="Wall2" type="CSGBox3D" parent="World/Floor"]
|
||||
transform = Transform3D(13.0412, 0, 0, 0, 3229.73, -1.0842e-19, 0, 1.6263e-19, -0.119006, -0.120136, 204.589, 50.2439)
|
||||
use_collision = true
|
||||
size = Vector3(7.74426, 1, 1)
|
||||
|
||||
[node name="Wall3" type="CSGBox3D" parent="World/Floor"]
|
||||
transform = Transform3D(0.999991, 0, 0, 0, 1850.04, 0, 0, 3.25261e-19, 74.4088, 50.2737, 1083.97, 0.57866)
|
||||
use_collision = true
|
||||
size = Vector3(1, 1, 1.36209)
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="World/Floor"]
|
||||
transform = Transform3D(2.17244, 0, 0, 0, 2564.33, 2.23235e-16, 0, 1.71906e-19, 100.33, -51.2656, 610.162, 0)
|
||||
use_collision = true
|
||||
|
||||
[node name="Light" type="Node3D" parent="."]
|
||||
|
||||
[node name="MainLight" type="DirectionalLight3D" parent="Light"]
|
||||
transform = Transform3D(-0.080856, -0.707107, 0.702469, -0.0808559, 0.707107, 0.702469, -0.993441, 1.60778e-07, -0.114348, 79.2354, 89.2354, -3.02637e-06)
|
||||
light_energy = 2.029
|
||||
light_energy = 3.325
|
||||
light_indirect_energy = 3.457
|
||||
light_volumetric_fog_energy = 1.64
|
||||
directional_shadow_mode = 1
|
||||
|
||||
[node name="SpawnLocations" type="Node3D" parent="."]
|
||||
script = ExtResource("2_1ss1b")
|
||||
|
File diff suppressed because one or more lines are too long
@ -7,6 +7,7 @@ class_name PlayerPlaceholder
|
||||
@onready var client_node: CharacterBody3D = $PlayerControlledNode
|
||||
@onready var server_node: PlayerServerNode = $ServerControlledNode
|
||||
@export var character_speed: int = 5
|
||||
@onready var bullet_starting_poing: Node3D = $ServerControlledNode/BulletStartingPoint
|
||||
|
||||
|
||||
|
||||
@ -109,7 +110,5 @@ func adjust_rotation(x: float, y: float, z: float):
|
||||
push_warning("player rotation is not valid, adjusting")
|
||||
client_node.rotation = desired_rotation
|
||||
|
||||
|
||||
|
||||
func is_vector_a_lower_than_b(vec_a: Vector3, vec_b: Vector3) -> bool:
|
||||
return vec_a.x < vec_b.x and vec_a.y < vec_b.y and vec_a.z < vec_b.z
|
||||
|
@ -1,9 +1,10 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://bmm3brgvr4d86"]
|
||||
[gd_scene load_steps=15 format=3 uid="uid://bmm3brgvr4d86"]
|
||||
|
||||
[ext_resource type="Script" path="res://scenes/player/player_input_controller.gd" id="1_m6tul"]
|
||||
[ext_resource type="Script" path="res://scenes/player/placeholder.gd" id="1_ts455"]
|
||||
[ext_resource type="Texture2D" uid="uid://oopj5mj1vdp0" path="res://assets/crosshairs/crosshair_default.png" id="3_8ulsx"]
|
||||
[ext_resource type="PackedScene" uid="uid://dtvo21mk1webd" path="res://scenes/weapon/guns/ak/with_hands.tscn" id="3_xxv4y"]
|
||||
[ext_resource type="PackedScene" uid="uid://1txob6jskn5s" path="res://scenes/characters/blue/dummy.tscn" id="5_16l76"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_taqso"]
|
||||
radius = 0.4
|
||||
@ -66,9 +67,13 @@ tracks/0/keys = {
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, -0.01, -0.01), Vector3(0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_fhivu"]
|
||||
resource_name = "idle"
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_u1b6p"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_falg4"),
|
||||
"idle": SubResource("Animation_fhivu"),
|
||||
"move": SubResource("Animation_mkk0p"),
|
||||
"shooting": SubResource("Animation_ah507")
|
||||
}
|
||||
@ -86,6 +91,18 @@ properties/2/replication_mode = 1
|
||||
properties/3/path = NodePath(".:initial_position")
|
||||
properties/3/spawn = true
|
||||
properties/3/replication_mode = 2
|
||||
properties/4/path = NodePath("PlayerControlledNode/CameraMount/BulletStartingPoint:position")
|
||||
properties/4/spawn = true
|
||||
properties/4/replication_mode = 1
|
||||
properties/5/path = NodePath("PlayerControlledNode/CameraMount/BulletStartingPoint:rotation")
|
||||
properties/5/spawn = true
|
||||
properties/5/replication_mode = 1
|
||||
properties/6/path = NodePath("PlayerControlledNode/CameraMount:rotation")
|
||||
properties/6/spawn = true
|
||||
properties/6/replication_mode = 1
|
||||
properties/7/path = NodePath("ServerControlledNode/BulletStartingPoint:rotation")
|
||||
properties/7/spawn = true
|
||||
properties/7/replication_mode = 1
|
||||
|
||||
[node name="Placeholder" type="Node3D"]
|
||||
script = ExtResource("1_ts455")
|
||||
@ -99,7 +116,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.786919, 0)
|
||||
shape = SubResource("CapsuleShape3D_taqso")
|
||||
|
||||
[node name="CameraMount" type="Node3D" parent="PlayerControlledNode"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.29568, -0.412934)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.29568, -0.355108)
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="PlayerControlledNode/CameraMount"]
|
||||
cull_mask = 524287
|
||||
@ -173,23 +190,17 @@ fov = 40.0
|
||||
[node name="GunMount" type="Node3D" parent="PlayerControlledNode/CameraMount/Camera3D/HUD/SubViewportContainer/SubViewport/Camera3D"]
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="PlayerControlledNode/CameraMount/Camera3D/HUD/SubViewportContainer/SubViewport/Camera3D/GunMount"]
|
||||
active = false
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_u1b6p")
|
||||
}
|
||||
|
||||
[node name="WithHands" parent="PlayerControlledNode/CameraMount/Camera3D/HUD/SubViewportContainer/SubViewport/Camera3D/GunMount" instance=ExtResource("3_xxv4y")]
|
||||
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0.51335, -0.655058, -1.67097)
|
||||
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, -0.3, -0.4, 0)
|
||||
visible = false
|
||||
|
||||
[node name="BulletStartingPoint" type="Node3D" parent="PlayerControlledNode/CameraMount"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, -0.42185)
|
||||
|
||||
[node name="AimRay" type="RayCast3D" parent="PlayerControlledNode/CameraMount/BulletStartingPoint"]
|
||||
target_position = Vector3(0, 0, 1000)
|
||||
hit_from_inside = true
|
||||
collide_with_areas = true
|
||||
|
||||
[node name="Node3D" type="Node3D" parent="PlayerControlledNode"]
|
||||
|
||||
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
|
||||
@ -205,4 +216,13 @@ collision_layer = 4
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.786919, 0)
|
||||
shape = SubResource("CapsuleShape3D_taqso")
|
||||
|
||||
[node name="BulletStartingPoint" type="Node3D" parent="ServerControlledNode"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1.287, -0.54568)
|
||||
|
||||
[node name="Dummy" parent="ServerControlledNode" instance=ExtResource("5_16l76")]
|
||||
visible = false
|
||||
|
||||
[node name="CameraMount" type="Node3D" parent="ServerControlledNode"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.15245, -0.0611187)
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
|
@ -7,6 +7,7 @@
|
||||
extends CharacterBody3D
|
||||
|
||||
@export var jumping := false
|
||||
var shooting := false
|
||||
@export var input_direction := Vector2()
|
||||
|
||||
@onready var camera_mount = $CameraMount
|
||||
@ -28,6 +29,7 @@ var current_weapon_damage: int
|
||||
var current_weapon_bullet_speed: int
|
||||
var current_weapon_cooldown_interwal: float
|
||||
var look_dir: Vector2
|
||||
var moving = false
|
||||
func _ready() -> void:
|
||||
global_position = $"..".initial_position
|
||||
# -- TODO: It should not be hardcoded
|
||||
@ -37,7 +39,7 @@ func _ready() -> void:
|
||||
var scene: PackedScene = ResourceLoader.load(path)
|
||||
var node: Node3D = scene.instantiate()
|
||||
node.scale = Vector3(0.5,0.5,0.5)
|
||||
node.position = Vector3(0.5, -0.5, -1.5)
|
||||
node.position = Vector3(-0.3, -0.4, 0)
|
||||
current_weapon_bullet_speed = node.bullet_speed
|
||||
current_weapon_cooldown_interwal = node.cooldown
|
||||
current_weapon_damage = node.damage
|
||||
@ -47,14 +49,19 @@ func _ready() -> void:
|
||||
func _input(event):
|
||||
if multiplayer.get_unique_id() == get_multiplayer_authority():
|
||||
if Input.is_action_just_pressed("jump"): jumping = true
|
||||
|
||||
if Input.is_action_pressed("shoot"): shooting = true
|
||||
if Input.is_action_just_released("shoot"): shooting = false
|
||||
if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
|
||||
look_dir = event.relative * 1
|
||||
rotation.y -= look_dir.x * camera_sens * 1.0
|
||||
camera_mount.rotation.x = clamp(camera_mount.rotation.x - look_dir.y * camera_sens * 1.0, -1.5, 1.5)
|
||||
server_node.set_rotation_y.rpc_id(1, rotation.y)
|
||||
server_node.set_rotation_x.rpc_id(1, rotation.x)
|
||||
server_node.set_rotation_x.rpc_id(1, -camera_mount.rotation.x)
|
||||
#server_node.set_input_direction.rpc_id(1, rotation.x, rotation.y)
|
||||
if Input.is_action_pressed("move_left") or Input.is_action_pressed("move_right") or Input.is_action_pressed("move_forward") or Input.is_action_pressed("move_backwards"):
|
||||
moving = true
|
||||
else:
|
||||
moving = false
|
||||
|
||||
@onready var server_node: PlayerServerNode = $"../ServerControlledNode"
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
@ -64,27 +71,33 @@ func _physics_process(delta: float) -> void:
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||
input_direction = Input.get_vector("move_left", "move_right", "move_forward", "move_backwards")
|
||||
server_node.set_input_direction.rpc_id(1, input_direction)
|
||||
if Input.is_action_just_pressed("jump"):
|
||||
server_node.jump.rpc_id(1)
|
||||
if Input.is_action_pressed("shot"): _shoot()
|
||||
if multiplayer.get_unique_id() == get_multiplayer_authority():
|
||||
|
||||
if not is_on_floor():
|
||||
velocity += get_gravity() * delta
|
||||
if is_on_floor() && jumping:
|
||||
server_node.jump.rpc_id(1)
|
||||
velocity.y = JUMP_VELOCITY
|
||||
|
||||
if shooting:
|
||||
server_node.shoot.rpc_id(1)
|
||||
jumping = false
|
||||
|
||||
var direction := (transform.basis * Vector3(input_direction.x, 0, input_direction.y)).normalized()
|
||||
if is_on_floor():
|
||||
if direction:
|
||||
#first_view_legs_anim.play("Run Forward")
|
||||
gun_mount_anim.play("move")
|
||||
velocity.x = direction.x * placeholder.character_speed
|
||||
velocity.z = direction.z * placeholder.character_speed
|
||||
else:
|
||||
velocity.x = move_toward(velocity.x, 0, placeholder.character_speed)
|
||||
velocity.z = move_toward(velocity.z, 0, placeholder.character_speed)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
move_and_slide()
|
||||
if moving:
|
||||
gun_mount_anim.play("move")
|
||||
else:
|
||||
gun_mount_anim.stop()
|
||||
move_and_slide()
|
||||
|
||||
|
||||
var cant_shoot: bool = false
|
||||
|
@ -24,8 +24,7 @@ func _process(delta):
|
||||
if ray.is_colliding():
|
||||
var collider = ray.get_collider()
|
||||
if collider != null and collider.is_in_group("target"):
|
||||
ray.get_collider().take_damage()
|
||||
if collider != null and collider.is_in_group("body"):
|
||||
print(";ala")
|
||||
ray.get_collider().hit(damage)
|
||||
rigid_body_3d.visible = false
|
||||
particles.emitting = true
|
||||
|
@ -33,16 +33,17 @@ size = Vector3(0.05, 0.05, 0.05)
|
||||
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_b8q4c"]
|
||||
properties/0/path = NodePath(".:position")
|
||||
properties/0/spawn = true
|
||||
properties/0/replication_mode = 0
|
||||
properties/0/replication_mode = 2
|
||||
properties/1/path = NodePath(".:rotation")
|
||||
properties/1/spawn = true
|
||||
properties/1/replication_mode = 0
|
||||
properties/1/replication_mode = 2
|
||||
|
||||
[node name="Bullet" type="Node3D"]
|
||||
transform = Transform3D(20, 0, 0, 0, 20, 0, 0, 0, 20, 0, 0, 0)
|
||||
script = ExtResource("1_th28m")
|
||||
|
||||
[node name="RigidBody3D" type="RigidBody3D" parent="."]
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
mass = 0.01
|
||||
continuous_cd = true
|
||||
|
||||
@ -55,6 +56,7 @@ surface_material_override/0 = SubResource("StandardMaterial3D_p8o05")
|
||||
[node name="RayCast3D" type="RayCast3D" parent="RigidBody3D" groups=["body"]]
|
||||
exclude_parent = false
|
||||
target_position = Vector3(0, 0, 2)
|
||||
collision_mask = 9
|
||||
hit_back_faces = false
|
||||
collide_with_areas = true
|
||||
|
||||
|
@ -376,6 +376,7 @@ transform = Transform3D(1, 0, 0, 0, 2.22045e-16, -1, 0, 1, 2.22045e-16, 0, 0, 0)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.357561, -0.95657, 0)
|
||||
|
||||
[node name="Object_8" type="MeshInstance3D" parent="AK/Sketchfab_model/root/GLTF_SceneRootNode/7_62x39 ak47 mag empty 30rnd (steel)_1"]
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_profl")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@ -383,6 +384,7 @@ skeleton = NodePath("")
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.29818, 0.183817, 0)
|
||||
|
||||
[node name="Object_12" type="MeshInstance3D" parent="AK/Sketchfab_model/root/GLTF_SceneRootNode/ak47 muzzle brake_3"]
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_ipt8e")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@ -390,10 +392,12 @@ skeleton = NodePath("")
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.172215, 0.322283, 0)
|
||||
|
||||
[node name="Object_14" type="MeshInstance3D" parent="AK/Sketchfab_model/root/GLTF_SceneRootNode/ak47 bolt carrier_4"]
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_8jual")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Object_15" type="MeshInstance3D" parent="AK/Sketchfab_model/root/GLTF_SceneRootNode/ak47 bolt carrier_4"]
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_i82ui")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@ -401,16 +405,19 @@ skeleton = NodePath("")
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.41883, 0.422283, 0)
|
||||
|
||||
[node name="Object_17" type="MeshInstance3D" parent="AK/Sketchfab_model/root/GLTF_SceneRootNode/ak47 back spring_5"]
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_mrb8o")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="ak-47_6" type="Node3D" parent="AK/Sketchfab_model/root/GLTF_SceneRootNode"]
|
||||
|
||||
[node name="Object_19" type="MeshInstance3D" parent="AK/Sketchfab_model/root/GLTF_SceneRootNode/ak-47_6"]
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_lmas3")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Object_20" type="MeshInstance3D" parent="AK/Sketchfab_model/root/GLTF_SceneRootNode/ak-47_6"]
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_pm8es")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@ -418,6 +425,7 @@ skeleton = NodePath("")
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.924381, -0.0946205, 0)
|
||||
|
||||
[node name="Object_22" type="MeshInstance3D" parent="AK/Sketchfab_model/root/GLTF_SceneRootNode/ak47 trigga_7"]
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_f3au2")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@ -425,6 +433,7 @@ skeleton = NodePath("")
|
||||
transform = Transform3D(0.960364, 0.278749, 0, -0.278749, 0.960364, 0, 0, 0, 1, -1.14961, 0.0940101, 0)
|
||||
|
||||
[node name="Object_24" type="MeshInstance3D" parent="AK/Sketchfab_model/root/GLTF_SceneRootNode/ak47 selector_8"]
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_d4npm")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@ -432,5 +441,6 @@ skeleton = NodePath("")
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.424757, -0.317383, 0)
|
||||
|
||||
[node name="Object_26" type="MeshInstance3D" parent="AK/Sketchfab_model/root/GLTF_SceneRootNode/ak47 mag release_9"]
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_2fjfa")
|
||||
skeleton = NodePath("")
|
||||
|
@ -552,6 +552,45 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_he3sr")
|
||||
|
||||
[sub_resource type="Animation" id="Animation_plxf0"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Gun:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1.66932, -0.0888077, -1.97802)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("HandsMount/RightHand:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.408733, -0.544357, 1.64689)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("HandsMount/LeftHand:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(-0.0862075, -0.344845, -1.49729)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_7sa0w"]
|
||||
resource_name = "shot"
|
||||
length = 0.2
|
||||
@ -592,45 +631,6 @@ tracks/2/keys = {
|
||||
"values": [Vector3(-0.0862075, -0.344845, -1.49729), Vector3(-0.086, -0.345, -1.297), Vector3(-0.0862075, -0.344845, -1.49729)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_plxf0"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Gun:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1.66932, -0.0888077, -1.97802)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("HandsMount/RightHand:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.408733, -0.544357, 1.64689)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("HandsMount/LeftHand:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(-0.0862075, -0.344845, -1.49729)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_g403t"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_plxf0"),
|
||||
@ -650,86 +650,103 @@ transform = Transform3D(-0.0937107, -0.388868, 0, 0.388868, -0.0937107, 0, 0, 0,
|
||||
|
||||
[node name="hand" type="MeshInstance3D" parent="HandsMount/RightHand"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.121467, -1.86265e-09, 0.916718)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_10vpp")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="arm_lower" type="MeshInstance3D" parent="HandsMount/RightHand/hand"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.118854, 0.00119257)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_6kcxh")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="index_0" type="MeshInstance3D" parent="HandsMount/RightHand/hand"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.861576, -0.507629, 0, 0.507629, 0.861576, 0.635515, 0, -1.8433)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_3xdyo")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="index_1" type="MeshInstance3D" parent="HandsMount/RightHand/hand/index_0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.906566, -0.422065, 0, 0.422065, 0.906566, 0, 0, -0.520542)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_jwmbr")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="index_2" type="MeshInstance3D" parent="HandsMount/RightHand/hand/index_0/index_1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.750019, -0.661417, 0, 0.661417, 0.750019, 0.052901, 8.73137e-11, -0.496836)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_nx17n")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="middle_0" type="MeshInstance3D" parent="HandsMount/RightHand/hand"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.219422, 0, -1.96367)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_j4m22")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="middle_1" type="MeshInstance3D" parent="HandsMount/RightHand/hand/middle_0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.595449)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_p7r5c")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="middle_2" type="MeshInstance3D" parent="HandsMount/RightHand/hand/middle_0/middle_1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.576577)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_nyf20")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="pinky_0" type="MeshInstance3D" parent="HandsMount/RightHand/hand"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.636916, 0, -1.87594)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_hv0ce")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="pinky_1" type="MeshInstance3D" parent="HandsMount/RightHand/hand/pinky_0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.508631)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_c5ym1")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="pinky_2" type="MeshInstance3D" parent="HandsMount/RightHand/hand/pinky_0/pinky_1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.484157)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_nbpkv")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="ring_0" type="MeshInstance3D" parent="HandsMount/RightHand/hand"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.22161, 0, -1.94957)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_1xp3n")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="ring_1" type="MeshInstance3D" parent="HandsMount/RightHand/hand/ring_0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.578411)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_pb3jm")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="ring_2" type="MeshInstance3D" parent="HandsMount/RightHand/hand/ring_0/ring_1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.558439)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_a0fke")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="thumb_0" type="MeshInstance3D" parent="HandsMount/RightHand/hand"]
|
||||
transform = Transform3D(-0.555855, -0.801665, -0.69654, 0.994684, -0.11756, -0.658478, 0.372074, -0.883359, 0.719756, 0.490087, 0.180478, -0.34376)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_f34xf")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="thumb_1" type="MeshInstance3D" parent="HandsMount/RightHand/hand/thumb_0"]
|
||||
transform = Transform3D(0.944646, 0, 0.328092, 0, 1, 0, -0.328092, 0, 0.944646, 0.418848, 0, -0.541475)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_nwsdf")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="thumb_2" type="MeshInstance3D" parent="HandsMount/RightHand/hand/thumb_0/thumb_1"]
|
||||
transform = Transform3D(0.566325, -0.514515, 0.643855, 0.815653, 0.461981, -0.348259, -0.118264, 0.72239, 0.681297, 0.286444, 0, -0.397435)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_kj4i3")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@ -738,86 +755,103 @@ transform = Transform3D(-0.293062, -0.141858, -0.232359, 0.152991, -0.368212, 0.
|
||||
|
||||
[node name="hand" type="MeshInstance3D" parent="HandsMount/LeftHand"]
|
||||
transform = Transform3D(0.937392, -0.347, -0.0298069, 0.343986, 0.909048, 0.235173, -0.0545093, -0.230702, 0.971497, 0, 0, 0.916718)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_10vpp")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="arm_lower" type="MeshInstance3D" parent="HandsMount/LeftHand/hand"]
|
||||
transform = Transform3D(0.908992, 0.219435, -0.354375, -0.195894, 0.97536, 0.101481, 0.367911, -0.0228259, 0.92958, 9.53674e-07, -0.118854, 0.00119209)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_6kcxh")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="index_0" type="MeshInstance3D" parent="HandsMount/LeftHand/hand"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.635515, 0, -1.8433)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_3xdyo")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="index_1" type="MeshInstance3D" parent="HandsMount/LeftHand/hand/index_0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.520542)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_jwmbr")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="index_2" type="MeshInstance3D" parent="HandsMount/LeftHand/hand/index_0/index_1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.496836)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_nx17n")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="middle_0" type="MeshInstance3D" parent="HandsMount/LeftHand/hand"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.219422, 0, -1.96367)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_j4m22")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="middle_1" type="MeshInstance3D" parent="HandsMount/LeftHand/hand/middle_0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.595449)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_p7r5c")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="middle_2" type="MeshInstance3D" parent="HandsMount/LeftHand/hand/middle_0/middle_1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.576577)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_nyf20")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="pinky_0" type="MeshInstance3D" parent="HandsMount/LeftHand/hand"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.636916, 0, -1.87594)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_hv0ce")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="pinky_1" type="MeshInstance3D" parent="HandsMount/LeftHand/hand/pinky_0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.508631)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_c5ym1")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="pinky_2" type="MeshInstance3D" parent="HandsMount/LeftHand/hand/pinky_0/pinky_1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.484157)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_nbpkv")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="ring_0" type="MeshInstance3D" parent="HandsMount/LeftHand/hand"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.22161, 0, -1.94957)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_1xp3n")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="ring_1" type="MeshInstance3D" parent="HandsMount/LeftHand/hand/ring_0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.578411)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_pb3jm")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="ring_2" type="MeshInstance3D" parent="HandsMount/LeftHand/hand/ring_0/ring_1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.558439)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_a0fke")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="thumb_0" type="MeshInstance3D" parent="HandsMount/LeftHand/hand"]
|
||||
transform = Transform3D(0.456952, 1.05435, -0.341133, -1.08959, 0.360202, -0.346234, -0.202034, 0.442078, 1.09571, 0.624359, -0.289327, -0.480306)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_f34xf")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="thumb_1" type="MeshInstance3D" parent="HandsMount/LeftHand/hand/thumb_0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.418848, 0, -0.541475)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_nwsdf")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="thumb_2" type="MeshInstance3D" parent="HandsMount/LeftHand/hand/thumb_0/thumb_1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.286444, 0, -0.397435)
|
||||
layers = 524289
|
||||
mesh = SubResource("ArrayMesh_kj4i3")
|
||||
skeleton = NodePath("")
|
||||
|
||||
|
@ -287,18 +287,6 @@ func _get_camera_collision():
|
||||
else:
|
||||
return ray_end
|
||||
|
||||
func _hit_scan_collision(collision_point):
|
||||
var viewport = get_viewport().size
|
||||
var ray_origin = first_view_camera.project_ray_origin(viewport / 2)
|
||||
var ray_end = ray_origin + first_view_camera.project_ray_normal(viewport / 2 * 100)
|
||||
var new_intersection = PhysicsRayQueryParameters3D.create(ray_origin, ray_end)
|
||||
var bullet_collision = get_world_3d().direct_space_state.intersect_ray(new_intersection)
|
||||
if bullet_collision:
|
||||
_hit_scan_damage(bullet_collision.collider)
|
||||
|
||||
func _hit_scan_damage(Collider):
|
||||
#if Collider.is_in_group("target") and Collider.has_method("take_damage"):
|
||||
|
||||
func take_damage(dam: int):
|
||||
var new_health = health - dam
|
||||
set_health(new_health)
|
||||
|
Loading…
x
Reference in New Issue
Block a user