Compare commits
2 Commits
c3dd861e61
...
f1f56d52cd
Author | SHA1 | Date | |
---|---|---|---|
f1f56d52cd | |||
fa75860d34 |
@ -1,8 +1,7 @@
|
|||||||
[gd_scene load_steps=7 format=3 uid="uid://ewovs6ns5y3k"]
|
[gd_scene load_steps=6 format=3 uid="uid://ewovs6ns5y3k"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://c6w0ivy4hetrl" path="res://assets/core/player-controller/scenes/player.tscn" id="2_q510b"]
|
[ext_resource type="PackedScene" uid="uid://c6w0ivy4hetrl" path="res://assets/core/player-controller/scenes/player.tscn" id="2_q510b"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dqymnaouq1mu2" path="res://assets/core/enviroment/dev-level/terrain.tscn" id="3_vcq2f"]
|
[ext_resource type="PackedScene" uid="uid://dqymnaouq1mu2" path="res://assets/core/enviroment/dev-level/terrain.tscn" id="3_vcq2f"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c7mtmmke1anxp" path="res://assets/core/ships/test-ship/test-ship.tscn" id="4_feinw"]
|
|
||||||
|
|
||||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_yg2er"]
|
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_yg2er"]
|
||||||
sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
|
sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
|
||||||
@ -27,10 +26,7 @@ transform = Transform3D(-0.866023, -0.433016, 0.250001, 0, 0.499998, 0.866027, -
|
|||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
|
|
||||||
[node name="Player" parent="." instance=ExtResource("2_q510b")]
|
[node name="Player" parent="." instance=ExtResource("2_q510b")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9.48712, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.02866, 27.0719, 0.35519)
|
||||||
joystick_camera_sens_multiplier = 5.0
|
joystick_camera_sens_multiplier = 5.0
|
||||||
|
|
||||||
[node name="TestShip" parent="." instance=ExtResource("4_feinw")]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.24218, 9.05102, 0)
|
|
||||||
|
|
||||||
[node name="level" parent="." instance=ExtResource("3_vcq2f")]
|
[node name="level" parent="." instance=ExtResource("3_vcq2f")]
|
||||||
|
36
assets/core/enviroment/dev-level/devAB7F.tmp
Normal file
36
assets/core/enviroment/dev-level/devAB7F.tmp
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
[gd_scene load_steps=7 format=3 uid="uid://ewovs6ns5y3k"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://c6w0ivy4hetrl" path="res://assets/core/player-controller/scenes/player.tscn" id="2_q510b"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dqymnaouq1mu2" path="res://assets/core/enviroment/dev-level/terrain.tscn" id="3_vcq2f"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://c7mtmmke1anxp" path="res://assets/core/ships/test-ship/test-ship.tscn" id="4_feinw"]
|
||||||
|
|
||||||
|
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_yg2er"]
|
||||||
|
sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
|
||||||
|
ground_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
|
||||||
|
|
||||||
|
[sub_resource type="Sky" id="Sky_roqfl"]
|
||||||
|
sky_material = SubResource("ProceduralSkyMaterial_yg2er")
|
||||||
|
|
||||||
|
[sub_resource type="Environment" id="Environment_nyust"]
|
||||||
|
background_mode = 2
|
||||||
|
sky = SubResource("Sky_roqfl")
|
||||||
|
tonemap_mode = 2
|
||||||
|
glow_enabled = true
|
||||||
|
|
||||||
|
[node name="DevLevel" type="Node3D"]
|
||||||
|
|
||||||
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||||
|
environment = SubResource("Environment_nyust")
|
||||||
|
|
||||||
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||||
|
transform = Transform3D(-0.866023, -0.433016, 0.250001, 0, 0.499998, 0.866027, -0.500003, 0.749999, -0.43301, 0, 0, 0)
|
||||||
|
shadow_enabled = true
|
||||||
|
|
||||||
|
[node name="Player" parent="." instance=ExtResource("2_q510b")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.02866, 60.1244, 0.35519)
|
||||||
|
joystick_camera_sens_multiplier = 5.0
|
||||||
|
|
||||||
|
[node name="level" parent="." instance=ExtResource("3_vcq2f")]
|
||||||
|
|
||||||
|
[node name="TestShip" parent="." instance=ExtResource("4_feinw")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 53.4883, 0)
|
36
assets/core/enviroment/dev-level/devF297.tmp
Normal file
36
assets/core/enviroment/dev-level/devF297.tmp
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
[gd_scene load_steps=7 format=3 uid="uid://ewovs6ns5y3k"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://c6w0ivy4hetrl" path="res://assets/core/player-controller/scenes/player.tscn" id="2_q510b"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dqymnaouq1mu2" path="res://assets/core/enviroment/dev-level/terrain.tscn" id="3_vcq2f"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://c7mtmmke1anxp" path="res://assets/core/ships/test-ship/test-ship.tscn" id="4_feinw"]
|
||||||
|
|
||||||
|
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_yg2er"]
|
||||||
|
sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
|
||||||
|
ground_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
|
||||||
|
|
||||||
|
[sub_resource type="Sky" id="Sky_roqfl"]
|
||||||
|
sky_material = SubResource("ProceduralSkyMaterial_yg2er")
|
||||||
|
|
||||||
|
[sub_resource type="Environment" id="Environment_nyust"]
|
||||||
|
background_mode = 2
|
||||||
|
sky = SubResource("Sky_roqfl")
|
||||||
|
tonemap_mode = 2
|
||||||
|
glow_enabled = true
|
||||||
|
|
||||||
|
[node name="DevLevel" type="Node3D"]
|
||||||
|
|
||||||
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||||
|
environment = SubResource("Environment_nyust")
|
||||||
|
|
||||||
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||||
|
transform = Transform3D(-0.866023, -0.433016, 0.250001, 0, 0.499998, 0.866027, -0.500003, 0.749999, -0.43301, 0, 0, 0)
|
||||||
|
shadow_enabled = true
|
||||||
|
|
||||||
|
[node name="Player" parent="." instance=ExtResource("2_q510b")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.02866, 60.1244, 0.35519)
|
||||||
|
joystick_camera_sens_multiplier = 5.0
|
||||||
|
|
||||||
|
[node name="level" parent="." instance=ExtResource("3_vcq2f")]
|
||||||
|
|
||||||
|
[node name="TestShip" parent="." instance=ExtResource("4_feinw")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 53.4883, 0)
|
@ -12,7 +12,7 @@ shader_parameter/WallTexScale = 1.0
|
|||||||
shader_parameter/WallColor = Color(0.662452, 0.662452, 0.662452, 1)
|
shader_parameter/WallColor = Color(0.662452, 0.662452, 0.662452, 1)
|
||||||
shader_parameter/TopTexScale = 1.005
|
shader_parameter/TopTexScale = 1.005
|
||||||
shader_parameter/TopColor = Color(0.466181, 0.466181, 0.466181, 1)
|
shader_parameter/TopColor = Color(0.466181, 0.466181, 0.466181, 1)
|
||||||
shader_parameter/BlendValues = Vector4(3.045, -1.825, 0, 1.115)
|
shader_parameter/BlendValues = Vector4(3.12, -1.96, 0, 1.115)
|
||||||
shader_parameter/WallTex = ExtResource("4_c1a6l")
|
shader_parameter/WallTex = ExtResource("4_c1a6l")
|
||||||
shader_parameter/TopTex = ExtResource("3_u3eue")
|
shader_parameter/TopTex = ExtResource("3_u3eue")
|
||||||
|
|
||||||
@ -20,3 +20,7 @@ shader_parameter/TopTex = ExtResource("3_u3eue")
|
|||||||
|
|
||||||
[node name="Landscape" parent="." index="0"]
|
[node name="Landscape" parent="." index="0"]
|
||||||
surface_material_override/0 = SubResource("ShaderMaterial_4w1dc")
|
surface_material_override/0 = SubResource("ShaderMaterial_4w1dc")
|
||||||
|
|
||||||
|
[node name="StaticBody3D" parent="Landscape" index="0"]
|
||||||
|
collision_layer = 64
|
||||||
|
collision_mask = 143
|
||||||
|
@ -3,9 +3,11 @@ class_name ShipHelm
|
|||||||
extends Interactable
|
extends Interactable
|
||||||
|
|
||||||
@export var parent_ship: Ship
|
@export var parent_ship: Ship
|
||||||
|
@export var helm_lock_pos: Marker3D
|
||||||
|
|
||||||
var is_being_piloted: bool = false
|
var is_being_piloted: bool = false
|
||||||
|
|
||||||
|
|
||||||
func interact():
|
func interact():
|
||||||
if !is_being_piloted:
|
if !is_being_piloted:
|
||||||
player_reference.set_is_piloting(true)
|
player_reference.set_is_piloting(true)
|
||||||
@ -17,3 +19,4 @@ func interact():
|
|||||||
print("set player to NOT piloting")
|
print("set player to NOT piloting")
|
||||||
is_being_piloted = false
|
is_being_piloted = false
|
||||||
parent_ship.ship_is_piloted = false
|
parent_ship.ship_is_piloted = false
|
||||||
|
GameConsole.log_debug("helm pilot state - " + str(is_being_piloted))
|
||||||
|
@ -10,16 +10,14 @@ radius = 0.35
|
|||||||
radius = 0.35
|
radius = 0.35
|
||||||
|
|
||||||
[node name="Player" type="CharacterBody3D" node_paths=PackedStringArray("camera")]
|
[node name="Player" type="CharacterBody3D" node_paths=PackedStringArray("camera")]
|
||||||
|
collision_mask = 243
|
||||||
script = ExtResource("1_bv7t4")
|
script = ExtResource("1_bv7t4")
|
||||||
camera = NodePath("Neck/Camera3D")
|
camera = NodePath("Neck/Camera3D")
|
||||||
|
|
||||||
[node name="PlayerTag" type="Label3D" parent="."]
|
[node name="PlayerTag" type="Label3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.26654, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.26654, 0)
|
||||||
visibility_range_begin = 0.7
|
visibility_range_begin = 0.7
|
||||||
visibility_range_begin_margin = 14.0
|
|
||||||
visibility_range_end = 15.0
|
visibility_range_end = 15.0
|
||||||
visibility_range_end_margin = 14.0
|
|
||||||
visibility_range_fade_mode = 1
|
|
||||||
billboard = 1
|
billboard = 1
|
||||||
text = "username"
|
text = "username"
|
||||||
|
|
||||||
|
@ -54,10 +54,12 @@ func _physics_process(delta: float) -> void:
|
|||||||
if current_ship != null:
|
if current_ship != null:
|
||||||
if !is_piloting:
|
if !is_piloting:
|
||||||
velocity = walk(delta) + _gravity(delta) + _jump(delta)
|
velocity = walk(delta) + _gravity(delta) + _jump(delta)
|
||||||
global_transform.basis = current_ship.global_transform.basis
|
global_basis = current_ship.global_basis
|
||||||
else:
|
else:
|
||||||
global_rotation.y = current_ship.global_rotation.y
|
global_rotation.y = current_ship.global_rotation.y
|
||||||
|
global_rotation.y = current_ship.global_rotation.y
|
||||||
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
velocity = walk(delta) + _gravity(delta) + _jump(delta)
|
velocity = walk(delta) + _gravity(delta) + _jump(delta)
|
||||||
global_rotation.x = 0.0
|
global_rotation.x = 0.0
|
||||||
@ -130,3 +132,4 @@ func player_exited_ship(ship_global_position: Vector3, ship: Ship):
|
|||||||
|
|
||||||
func set_is_piloting(state: bool):
|
func set_is_piloting(state: bool):
|
||||||
is_piloting = state
|
is_piloting = state
|
||||||
|
GameConsole.log_debug("player pilot state" + str(is_piloting))
|
||||||
|
BIN
assets/core/ships/test-ship/airship_raft.glb
Normal file
BIN
assets/core/ships/test-ship/airship_raft.glb
Normal file
Binary file not shown.
79
assets/core/ships/test-ship/airship_raft.glb.import
Normal file
79
assets/core/ships/test-ship/airship_raft.glb.import
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="scene"
|
||||||
|
importer_version=1
|
||||||
|
type="PackedScene"
|
||||||
|
uid="uid://f7xy5w0gmpwj"
|
||||||
|
path="res://.godot/imported/airship_raft.glb-1a32b47e3a34d6fd0fa8ba18d05f8c1e.scn"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/core/ships/test-ship/airship_raft.glb"
|
||||||
|
dest_files=["res://.godot/imported/airship_raft.glb-1a32b47e3a34d6fd0fa8ba18d05f8c1e.scn"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
nodes/root_type=""
|
||||||
|
nodes/root_name=""
|
||||||
|
nodes/apply_root_scale=true
|
||||||
|
nodes/root_scale=1.0
|
||||||
|
nodes/import_as_skeleton_bones=false
|
||||||
|
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={
|
||||||
|
"materials": {
|
||||||
|
"@MATERIAL:1": {
|
||||||
|
"use_external/enabled": true,
|
||||||
|
"use_external/path": "res://assets/core/ships/test-ship/new_standard_material_3d.tres"
|
||||||
|
},
|
||||||
|
"Material": {
|
||||||
|
"use_external/enabled": true,
|
||||||
|
"use_external/path": "res://assets/core/ships/test-ship/new_standard_material_3d.tres"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nodes": {
|
||||||
|
"PATH:balloon/StaticBody3D": {
|
||||||
|
"import/skip_import": true
|
||||||
|
},
|
||||||
|
"PATH:deck": {
|
||||||
|
"generate/physics": true,
|
||||||
|
"physics/layer": 16
|
||||||
|
},
|
||||||
|
"PATH:deck/StaticBody3D": {
|
||||||
|
"import/skip_import": true
|
||||||
|
},
|
||||||
|
"PATH:hull": {
|
||||||
|
"generate/physics": true,
|
||||||
|
"physics/layer": 16
|
||||||
|
},
|
||||||
|
"PATH:hull/StaticBody3D": {
|
||||||
|
"import/skip_import": true
|
||||||
|
},
|
||||||
|
"PATH:interior_floor": {
|
||||||
|
"generate/physics": true,
|
||||||
|
"physics/layer": 16
|
||||||
|
},
|
||||||
|
"PATH:interior_floor/StaticBody3D": {
|
||||||
|
"import/skip_import": true
|
||||||
|
},
|
||||||
|
"PATH:reference_man": {
|
||||||
|
"import/skip_import": true
|
||||||
|
},
|
||||||
|
"PATH:wheel/StaticBody3D": {
|
||||||
|
"import/skip_import": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gltf/naming_version=1
|
||||||
|
gltf/embedded_image_handling=1
|
@ -0,0 +1,7 @@
|
|||||||
|
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://ctemnr3tq0iu0"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://gymb0tju4y67" path="res://addons/kennysprototypetextures/Dark/texture_black (1).png" id="1_bfgog"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
albedo_texture = ExtResource("1_bfgog")
|
||||||
|
uv1_triplanar = true
|
@ -1,69 +1,59 @@
|
|||||||
[gd_scene load_steps=8 format=3 uid="uid://c7mtmmke1anxp"]
|
[gd_scene load_steps=7 format=3 uid="uid://c7mtmmke1anxp"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://assets/core/ships/test-ship/test_ship.gd" id="1_yql7r"]
|
[ext_resource type="Script" path="res://assets/core/ships/test-ship/test_ship.gd" id="1_yql7r"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dm31ddavxv5gt" path="res://assets/core/interactables/ship-helm/ship-helm.tscn" id="2_bmsx0"]
|
[ext_resource type="PackedScene" uid="uid://dm31ddavxv5gt" path="res://assets/core/interactables/ship-helm/ship-helm.tscn" id="3_3wdac"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://f7xy5w0gmpwj" path="res://assets/core/ships/test-ship/airship_raft.glb" id="3_h6lyp"]
|
||||||
|
[ext_resource type="Material" uid="uid://ctemnr3tq0iu0" path="res://assets/core/ships/test-ship/new_standard_material_3d.tres" id="4_hhywo"]
|
||||||
|
|
||||||
[sub_resource type="BoxMesh" id="BoxMesh_tkeg5"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_kbheo"]
|
||||||
size = Vector3(5, 0.25, 10)
|
size = Vector3(12.0762, 9.20947, 45.9958)
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_fs34p"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_6w3y5"]
|
||||||
size = Vector3(5, 0.25, 10)
|
size = Vector3(12.0762, 13.7578, 45.9553)
|
||||||
|
|
||||||
[sub_resource type="CapsuleMesh" id="CapsuleMesh_oqio3"]
|
|
||||||
radius = 1.401
|
|
||||||
height = 7.405
|
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_7jr0u"]
|
|
||||||
size = Vector3(5.14063, 6.07324, 10.1924)
|
|
||||||
|
|
||||||
[sub_resource type="CylinderMesh" id="CylinderMesh_h3cm2"]
|
|
||||||
top_radius = 0.1
|
|
||||||
bottom_radius = 0.1
|
|
||||||
height = 4.5
|
|
||||||
|
|
||||||
[node name="TestShip" type="RigidBody3D" node_paths=PackedStringArray("ship_area", "ship_helm")]
|
[node name="TestShip" type="RigidBody3D" node_paths=PackedStringArray("ship_area", "ship_helm")]
|
||||||
|
collision_layer = 8
|
||||||
|
collision_mask = 72
|
||||||
mass = 800.0
|
mass = 800.0
|
||||||
gravity_scale = 0.0
|
gravity_scale = 0.0
|
||||||
script = ExtResource("1_yql7r")
|
script = ExtResource("1_yql7r")
|
||||||
ship_area = NodePath("Area3D")
|
ship_area = NodePath("Area3D")
|
||||||
ship_helm = NodePath("ShipHelm")
|
ship_helm = NodePath("ShipHelm")
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
[node name="ShipHelm" parent="." node_paths=PackedStringArray("parent_ship", "helm_lock_pos") instance=ExtResource("3_3wdac")]
|
||||||
mesh = SubResource("BoxMesh_tkeg5")
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.47976, -10.9455)
|
||||||
|
parent_ship = NodePath("..")
|
||||||
|
helm_lock_pos = NodePath("HelmLockPos")
|
||||||
|
|
||||||
|
[node name="HelmLockPos" type="Marker3D" parent="ShipHelm"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.345567, 1)
|
||||||
|
|
||||||
|
[node name="airship_raft" parent="." instance=ExtResource("3_h6lyp")]
|
||||||
|
|
||||||
|
[node name="hull" parent="airship_raft" index="0"]
|
||||||
|
surface_material_override/0 = ExtResource("4_hhywo")
|
||||||
|
|
||||||
|
[node name="wheel" parent="airship_raft" index="1"]
|
||||||
|
surface_material_override/0 = ExtResource("4_hhywo")
|
||||||
|
|
||||||
|
[node name="balloon" parent="airship_raft" index="2"]
|
||||||
|
surface_material_override/0 = ExtResource("4_hhywo")
|
||||||
|
|
||||||
|
[node name="deck" parent="airship_raft" index="3"]
|
||||||
|
surface_material_override/0 = ExtResource("4_hhywo")
|
||||||
|
|
||||||
|
[node name="interior_floor" parent="airship_raft" index="4"]
|
||||||
|
surface_material_override/0 = ExtResource("4_hhywo")
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||||
shape = SubResource("BoxShape3D_fs34p")
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.44604, -1.75908)
|
||||||
|
shape = SubResource("BoxShape3D_kbheo")
|
||||||
[node name="Balloon" type="MeshInstance3D" parent="."]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 5.12542, 0)
|
|
||||||
mesh = SubResource("CapsuleMesh_oqio3")
|
|
||||||
skeleton = NodePath("")
|
|
||||||
|
|
||||||
[node name="Area3D" type="Area3D" parent="."]
|
[node name="Area3D" type="Area3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.99997, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.16844, -1.85111)
|
||||||
|
collision_layer = 32
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
|
||||||
shape = SubResource("BoxShape3D_7jr0u")
|
shape = SubResource("BoxShape3D_6w3y5")
|
||||||
|
|
||||||
[node name="MeshInstance3D2" type="MeshInstance3D" parent="."]
|
[editable path="airship_raft"]
|
||||||
transform = Transform3D(0.866025, -0.5, 0, 0.5, 0.866025, 0, 0, 0, 1, 1.25913, 1.87582, 2.33493)
|
|
||||||
mesh = SubResource("CylinderMesh_h3cm2")
|
|
||||||
|
|
||||||
[node name="MeshInstance3D3" type="MeshInstance3D" parent="."]
|
|
||||||
transform = Transform3D(0.866025, 0.5, 0, -0.5, 0.866025, 0, 0, 0, 1, -1.2691, 1.87582, 2.33493)
|
|
||||||
mesh = SubResource("CylinderMesh_h3cm2")
|
|
||||||
|
|
||||||
[node name="MeshInstance3D4" type="MeshInstance3D" parent="."]
|
|
||||||
transform = Transform3D(0.866025, -0.5, 0, 0.5, 0.866025, 0, 0, 0, 1, 1.25913, 1.87582, -2.52429)
|
|
||||||
mesh = SubResource("CylinderMesh_h3cm2")
|
|
||||||
|
|
||||||
[node name="MeshInstance3D5" type="MeshInstance3D" parent="."]
|
|
||||||
transform = Transform3D(0.866025, 0.5, 0, -0.5, 0.866025, 0, 0, 0, 1, -1.2691, 1.87582, -2.52429)
|
|
||||||
mesh = SubResource("CylinderMesh_h3cm2")
|
|
||||||
|
|
||||||
[node name="ShipHelm" parent="." node_paths=PackedStringArray("parent_ship") instance=ExtResource("2_bmsx0")]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, -0.598755)
|
|
||||||
parent_ship = NodePath("..")
|
|
||||||
|
|
||||||
[connection signal="body_entered" from="Area3D" to="." method="_on_area_3d_body_entered"]
|
|
||||||
[connection signal="body_exited" from="Area3D" to="." method="_on_area_3d_body_exited"]
|
|
||||||
|
@ -4,7 +4,7 @@ extends RigidBody3D
|
|||||||
@export var ship_area: Area3D
|
@export var ship_area: Area3D
|
||||||
@export var ship_helm: ShipHelm
|
@export var ship_helm: ShipHelm
|
||||||
|
|
||||||
var ship_id: String = "1a"
|
var ship_id: int = 0
|
||||||
var ship_is_piloted: bool = false
|
var ship_is_piloted: bool = false
|
||||||
var base_turn_speed: float = 1
|
var base_turn_speed: float = 1
|
||||||
var ship_lift_speed: float = 20 # Adjust this value as needed
|
var ship_lift_speed: float = 20 # Adjust this value as needed
|
||||||
@ -14,6 +14,16 @@ var ship_top_speed: float = 100
|
|||||||
var current_speed: float = 0.0
|
var current_speed: float = 0.0
|
||||||
var max_force: float = 1000.0
|
var max_force: float = 1000.0
|
||||||
|
|
||||||
|
var piloting_player: Player = null
|
||||||
|
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
ship_area.body_entered.connect(_on_area_3d_body_entered)
|
||||||
|
ship_area.body_exited.connect(_on_area_3d_body_exited)
|
||||||
|
ship_id = randi_range(1000, 9999)
|
||||||
|
GameConsole.log_debug("Ship ID: " + str(ship_id))
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
global_rotation.x = lerpf(global_rotation.x, 0, 0.01)
|
global_rotation.x = lerpf(global_rotation.x, 0, 0.01)
|
||||||
global_rotation.z = lerpf(global_rotation.z, 0, 0.01)
|
global_rotation.z = lerpf(global_rotation.z, 0, 0.01)
|
||||||
@ -38,15 +48,26 @@ func _physics_process(delta):
|
|||||||
var forward_force = (desired_velocity - linear_velocity) * mass
|
var forward_force = (desired_velocity - linear_velocity) * mass
|
||||||
forward_force = forward_force.normalized() * min(forward_force.length(), max_force)
|
forward_force = forward_force.normalized() * min(forward_force.length(), max_force)
|
||||||
apply_central_force(forward_force)
|
apply_central_force(forward_force)
|
||||||
|
|
||||||
|
if Input.is_action_pressed("crouch"):
|
||||||
|
apply_impulse(Vector3.DOWN * ship_lift_speed)
|
||||||
|
|
||||||
angular_velocity.y = clamp(angular_velocity.y, -0.5, 0.5)
|
angular_velocity.y = clamp(angular_velocity.y, -0.5, 0.5)
|
||||||
|
|
||||||
|
if piloting_player != null and ship_helm.is_being_piloted:
|
||||||
|
piloting_player.global_position = ship_helm.helm_lock_pos.global_position
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_area_3d_body_entered(body):
|
func _on_area_3d_body_entered(body):
|
||||||
if body is Player:
|
if body is Player:
|
||||||
body.player_entered_ship(global_position, self)
|
body.player_entered_ship(global_position, self)
|
||||||
|
piloting_player = body
|
||||||
|
print(self.name)
|
||||||
|
|
||||||
|
|
||||||
func _on_area_3d_body_exited(body):
|
func _on_area_3d_body_exited(body):
|
||||||
if body is Player:
|
if body is Player:
|
||||||
body.player_exited_ship(global_position, self)
|
body.player_exited_ship(global_position, self)
|
||||||
ship_helm.is_being_piloted = false
|
ship_helm.is_being_piloted = false
|
||||||
|
piloting_player = null
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
[gd_scene load_steps=2 format=3 uid="uid://huq7dxk5yvjk"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://assets/core/networking/old/old_NetworkManager.gd" id="1_dcack"]
|
|
||||||
|
|
||||||
[node name="Main" type="Node"]
|
|
||||||
|
|
||||||
[node name="NetworkManager" type="Node" parent="."]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
script = ExtResource("1_dcack")
|
|
@ -137,10 +137,12 @@ interact={
|
|||||||
|
|
||||||
[layer_names]
|
[layer_names]
|
||||||
|
|
||||||
3d_render/layer_1="players"
|
3d_physics/layer_1="players"
|
||||||
3d_render/layer_2="entities"
|
3d_physics/layer_2="entities"
|
||||||
3d_render/layer_3="ships"
|
3d_physics/layer_3="items"
|
||||||
3d_render/layer_4="items"
|
3d_physics/layer_4="ship_to_ship"
|
||||||
3d_render/layer_5="static_objects"
|
3d_physics/layer_5="ship_to_player"
|
||||||
3d_render/layer_6="dynamic_objects"
|
3d_physics/layer_6="ship_player_area"
|
||||||
3d_render/layer_7="interactable_objects"
|
3d_physics/layer_7="terrain"
|
||||||
|
3d_physics/layer_8="dynamic_objects"
|
||||||
|
3d_physics/layer_9="interactable_objects"
|
||||||
|
Loading…
Reference in New Issue
Block a user