From c232b92e2dde1277324d1f89d0e75ae641e4ac3b Mon Sep 17 00:00:00 2001 From: Anson Bridges Date: Wed, 7 Sep 2022 14:07:30 -0400 Subject: reorganized, ladders, vehicle control --- godot/scenes/characters/PlayerAreaDetect.gd | 9 +++ godot/scenes/characters/PlayerRigid.tscn | 118 ++++++++++++++++++++++++++++ 2 files changed, 127 insertions(+) create mode 100644 godot/scenes/characters/PlayerAreaDetect.gd create mode 100644 godot/scenes/characters/PlayerRigid.tscn (limited to 'godot/scenes/characters') diff --git a/godot/scenes/characters/PlayerAreaDetect.gd b/godot/scenes/characters/PlayerAreaDetect.gd new file mode 100644 index 0000000..7bcf48b --- /dev/null +++ b/godot/scenes/characters/PlayerAreaDetect.gd @@ -0,0 +1,9 @@ +extends Area + +func _on_AreaDetect_area_entered(area): + if area.name == "WaterArea": + get_parent().enter_water() + +func _on_AreaDetect_area_exited(area): + if area.name == "WaterArea": + get_parent().exit_water() diff --git a/godot/scenes/characters/PlayerRigid.tscn b/godot/scenes/characters/PlayerRigid.tscn new file mode 100644 index 0000000..3834ef2 --- /dev/null +++ b/godot/scenes/characters/PlayerRigid.tscn @@ -0,0 +1,118 @@ +[gd_scene load_steps=9 format=2] + +[ext_resource path="res://scripts/characters/player_controller_new.gd" type="Script" id=1] +[ext_resource path="res://theming/FreeMono.otf" type="DynamicFontData" id=2] +[ext_resource path="res://scenes/characters/PlayerAreaDetect.gd" type="Script" id=3] + +[sub_resource type="PhysicsMaterial" id=3] +rough = true + +[sub_resource type="BoxShape" id=1] +extents = Vector3( 0.325, 0.9, 0.325 ) + +[sub_resource type="CubeMesh" id=2] +size = Vector3( 0.2, 0.2, 1 ) + +[sub_resource type="CubeMesh" id=4] +size = Vector3( 0.6, 1.8, 0.6 ) + +[sub_resource type="DynamicFont" id=5] +size = 20 +outline_size = 3 +use_filter = true +font_data = ExtResource( 2 ) + +[node name="Soldier" type="RigidBody" groups=["playable", "player"]] +collision_layer = 32769 +collision_mask = 32769 +mode = 2 +mass = 80.0 +physics_material_override = SubResource( 3 ) +contacts_reported = 5 +contact_monitor = true +can_sleep = false +axis_lock_angular_x = true +axis_lock_angular_y = true +axis_lock_angular_z = true +linear_damp = 0.0 +angular_damp = 0.0 +script = ExtResource( 1 ) + +[node name="Collision" type="CollisionShape" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0 ) +shape = SubResource( 1 ) + +[node name="Head" type="Spatial" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.44, 0 ) + +[node name="Camera" type="Camera" parent="Head"] +keep_aspect = 0 +cull_mask = 524287 +fov = 90.0 +near = 0.3 +far = 1449.4 + +[node name="UseRay" type="RayCast" parent="Head/Camera"] +enabled = true +cast_to = Vector3( 0, 0, -2.5 ) +collision_mask = 131075 +collide_with_areas = true + +[node name="MeleeRay" type="RayCast" parent="Head/Camera"] +enabled = true +cast_to = Vector3( 0, 0, -2.5 ) +collision_mask = 262145 +collide_with_areas = true + +[node name="viewmodel_c" type="ViewportContainer" parent="Head"] +visible = false +margin_right = 1024.0 +margin_bottom = 600.0 + +[node name="viewmodel" type="Viewport" parent="Head/viewmodel_c"] +size = Vector2( 1024, 600 ) +transparent_bg = true +handle_input_locally = false +render_target_update_mode = 0 + +[node name="vm_camera" type="Camera" parent="Head/viewmodel_c/viewmodel"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.539779, 0 ) +cull_mask = 524288 +current = true +fov = 90.0 +far = 75.9 + +[node name="MeshInstance" type="MeshInstance" parent="Head/viewmodel_c/viewmodel"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0266792, -0.813922 ) +layers = 524288 +mesh = SubResource( 2 ) + +[node name="Feet" type="RayCast" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.03, 0 ) +enabled = true +cast_to = Vector3( 0, -0.05, 0 ) + +[node name="vis" type="MeshInstance" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0 ) +mesh = SubResource( 4 ) + +[node name="NavigationAgent" type="NavigationAgent" parent="."] +path_desired_distance = 1.5 +target_desired_distance = 1.5 +agent_height_offset = -0.5 +path_max_distance = 1.0 + +[node name="Nametag" type="Label3D" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.08522, 0 ) +billboard = 1 +font = SubResource( 5 ) + +[node name="AreaDetect" type="Area" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0 ) +script = ExtResource( 3 ) + +[node name="Collision" type="CollisionShape" parent="AreaDetect"] +shape = SubResource( 1 ) + +[connection signal="area_entered" from="AreaDetect" to="AreaDetect" method="_on_AreaDetect_area_entered"] +[connection signal="area_exited" from="AreaDetect" to="AreaDetect" method="_on_AreaDetect_area_exited"] -- cgit v1.2.3