Refacto from working version... (add putpoutpout)
This commit is contained in:
parent
90dd897a09
commit
b0b9df011e
8 changed files with 172 additions and 76 deletions
15
.fork/custom-commands.json
Normal file
15
.fork/custom-commands.json
Normal file
|
@ -0,0 +1,15 @@
|
|||
[
|
||||
{
|
||||
"version" : 2
|
||||
},
|
||||
{
|
||||
"action" : {
|
||||
"script" : "start project.godot",
|
||||
"showOutput" : false,
|
||||
"type" : "sh",
|
||||
"waitForExit" : false
|
||||
},
|
||||
"name" : "Open Project",
|
||||
"target" : "repository"
|
||||
}
|
||||
]
|
|
@ -16,12 +16,12 @@ var is_docked: bool = false
|
|||
|
||||
@export var ocean : Ocean #= get_tree().get_nodes_in_group("ocean")[0]
|
||||
|
||||
@export var max_thrust_force: float = 2048
|
||||
@export var max_steering: float = 128
|
||||
@export var max_thrust_force: float = 2048*3.0
|
||||
@export var max_steering: float = 50.0
|
||||
|
||||
var steering: float = 0 # steering rudder angle in radians
|
||||
var thrust_force: float = 0 # forward thrust force in Newtons
|
||||
|
||||
var cam_rotation:Vector3
|
||||
|
||||
func _process(_delta):
|
||||
if Input.get_action_strength("move_forward") > 0.0:
|
||||
|
@ -30,6 +30,10 @@ func _process(_delta):
|
|||
steer_right()
|
||||
if Input.get_action_strength("turn_left") > 0.0:
|
||||
steer_left()
|
||||
if Input.get_action_strength("camera_left") > 0.0:
|
||||
cam_rotation += Vector3(0.0,1.0,0.0)*_delta
|
||||
if Input.get_action_strength("camera_right") > 0.0:
|
||||
cam_rotation += Vector3(0.0,-1.0,0.0)*_delta
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
|
|
112
boat/boat.tscn
112
boat/boat.tscn
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://babgqvkugifk1"]
|
||||
[gd_scene load_steps=10 format=3 uid="uid://babgqvkugifk1"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://du135dtrpwm7o" path="res://boat/WalkableBoat.gd" id="1_ml88t"]
|
||||
[ext_resource type="PackedScene" uid="uid://bcdjvsj0la72h" path="res://boat/source/untitled.fbx" id="2_enlnh"]
|
||||
|
@ -9,49 +9,111 @@ script/source = "extends Node3D
|
|||
|
||||
|
||||
func _process(_delta):
|
||||
global_rotation = Vector3()
|
||||
global_rotation = $\"../..\".cam_rotation
|
||||
"
|
||||
|
||||
[sub_resource type="Curve" id="Curve_enlnh"]
|
||||
_limits = [0.0, 10.0, 0.0, 5.0]
|
||||
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(2.83988, 10), 0.299357, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_ml88t"]
|
||||
curve = SubResource("Curve_enlnh")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_enlnh"]
|
||||
lifetime_randomness = 0.14
|
||||
emission_shape = 1
|
||||
emission_sphere_radius = 2.42
|
||||
angle_min = -63.4
|
||||
angle_max = 360.0
|
||||
spread = 21.0
|
||||
initial_velocity_max = 1.0
|
||||
angular_velocity_min = -144.39
|
||||
angular_velocity_max = 40.97
|
||||
gravity = Vector3(0, 0.7, 0)
|
||||
scale_min = 0.5
|
||||
scale_curve = SubResource("CurveTexture_ml88t")
|
||||
scale_over_velocity_max = 5.0
|
||||
color = Color(1, 1, 1, 0.219608)
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_ml88t"]
|
||||
radius = 0.08
|
||||
height = 0.15
|
||||
radial_segments = 4
|
||||
rings = 2
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_enlnh"]
|
||||
radius = 0.1
|
||||
height = 0.2
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_enlnh"]
|
||||
size = Vector3(1.5252, 0.507935, 1)
|
||||
|
||||
[node name="Boat" type="RigidBody3D"]
|
||||
mass = 10.0
|
||||
mass = 50.0
|
||||
script = ExtResource("1_ml88t")
|
||||
|
||||
[node name="Node3D" type="Node3D" parent="."]
|
||||
script = SubResource("GDScript_enlnh")
|
||||
|
||||
[node name="SpringArm3D" type="SpringArm3D" parent="Node3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.893285, 0.449491, 0, -0.449491, 0.893285, 0, 0.350159, 0)
|
||||
spring_length = 2.255
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="Node3D/SpringArm3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.107117, 0.323316, 2.70191)
|
||||
float_force = 30.0
|
||||
water_drag = 0.01
|
||||
max_thrust_force = 2000.0
|
||||
max_steering = 250.0
|
||||
|
||||
[node name="untitled" parent="." instance=ExtResource("2_enlnh")]
|
||||
transform = Transform3D(-0.1, 0, -1.50996e-08, 0, 0.1, 0, 1.50996e-08, 0, -0.1, 0, -0.169637, 0)
|
||||
transform = Transform3D(-0.1, 0, -1.50996e-08, 0, 0.1, 0, 1.50996e-08, 0, -0.1, 0, 0.260904, 0)
|
||||
|
||||
[node name="Node3D" type="Node3D" parent="untitled"]
|
||||
transform = Transform3D(-10, 0, 1.50996e-06, 0, 10, 0, -1.50996e-06, 0, -10, 0, 0, 0)
|
||||
script = SubResource("GDScript_enlnh")
|
||||
|
||||
[node name="SpringArm3D" type="SpringArm3D" parent="untitled/Node3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.893285, 0.449491, 0, -0.449491, 0.893285, 0, 0.350159, 0)
|
||||
spring_length = 3.5
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="untitled/Node3D/SpringArm3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.107117, 0.323316, 2.70191)
|
||||
|
||||
[node name="GPUParticles3D" type="GPUParticles3D" parent="untitled"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.92513, 10.9874, -0.18139)
|
||||
transparency = 0.18
|
||||
amount = 32
|
||||
lifetime = 7.0
|
||||
interp_to_end = 0.04
|
||||
speed_scale = 0.8
|
||||
randomness = 0.4
|
||||
visibility_aabb = AABB(-4, -2.58, -6.945, 13.755, 23.63, 16.17)
|
||||
draw_order = 3
|
||||
process_material = SubResource("ParticleProcessMaterial_enlnh")
|
||||
draw_pass_1 = SubResource("SphereMesh_ml88t")
|
||||
|
||||
[node name="ProbeContainer" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.105972, 0)
|
||||
|
||||
[node name="Cale2" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.25)
|
||||
|
||||
[node name="Cale7" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.25)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.465993, 0)
|
||||
|
||||
[node name="Cale3" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.507, 0, -0.2)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.719583, 0, -0.00873816)
|
||||
|
||||
[node name="MeshInstance3D3" type="MeshInstance3D" parent="ProbeContainer/Cale3"]
|
||||
mesh = SubResource("SphereMesh_enlnh")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Cale5" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.507, 0, 0.2)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.783989, 0, -0.0544244)
|
||||
|
||||
[node name="MeshInstance3D4" type="MeshInstance3D" parent="ProbeContainer/Cale5"]
|
||||
mesh = SubResource("SphereMesh_enlnh")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Cale4" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.568, 0, 0.25)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0411369, 0, 0.481184)
|
||||
|
||||
[node name="MeshInstance3D5" type="MeshInstance3D" parent="ProbeContainer/Cale4"]
|
||||
mesh = SubResource("SphereMesh_enlnh")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Cale6" type="Marker3D" parent="ProbeContainer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.568, 0, -0.25)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0411369, 0, -0.538607)
|
||||
|
||||
[node name="MeshInstance3D6" type="MeshInstance3D" parent="ProbeContainer/Cale6"]
|
||||
mesh = SubResource("SphereMesh_enlnh")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00595701, 0.251318, 0)
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
[gd_scene load_steps=11 format=3 uid="uid://cjjrdfywoxwgr"]
|
||||
[gd_scene load_steps=10 format=3 uid="uid://cjjrdfywoxwgr"]
|
||||
|
||||
[ext_resource type="Material" uid="uid://br11m0qg2yhid" path="res://mat/waterMat.tres" id="1_x7q1n"]
|
||||
[ext_resource type="PackedScene" uid="uid://cpykugh40l23q" path="res://kaykit/medieval/building_windmill_herited.tscn" id="2_cdryl"]
|
||||
[ext_resource type="PackedScene" uid="uid://j4cu75dnf3u8" path="res://kaykit/medieval/building_well_red.fbx" id="4_wio4u"]
|
||||
[ext_resource type="PackedScene" uid="uid://chcjbpt2tr5k3" path="res://kaykit/medieval/building_watermill_herited.tscn" id="4_x7q1n"]
|
||||
[ext_resource type="PackedScene" uid="uid://babgqvkugifk1" path="res://boat/boat.tscn" id="5_wio4u"]
|
||||
[ext_resource type="Texture2D" uid="uid://dn01vy45t0mnc" path="res://mat/wavenoise.tres" id="6_0sebh"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_cdryl"]
|
||||
sky_top_color = Color(0.308708, 0.682951, 0.784164, 1)
|
||||
|
@ -55,8 +54,6 @@ transform = Transform3D(0.676092, 0, -0.736817, 0, 1, 0, 0.736817, 0, 0.676092,
|
|||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.50488, 1.99753, 0.0326443)
|
||||
|
||||
[node name="Boat" parent="." node_paths=PackedStringArray("WaterNode") instance=ExtResource("5_wio4u")]
|
||||
[node name="Boat" parent="." instance=ExtResource("5_wio4u")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.208335, 0.773113, 1.74591)
|
||||
can_sleep = false
|
||||
WaterNode = NodePath("../Water")
|
||||
ripple_texture = ExtResource("6_0sebh")
|
||||
|
|
|
@ -38,6 +38,7 @@ seamless = true
|
|||
noise = SubResource("FastNoiseLite_xta2c")
|
||||
|
||||
[resource]
|
||||
resource_name = "PlaneMesh_Current"
|
||||
render_priority = 0
|
||||
shader = ExtResource("1_u0w43")
|
||||
shader_parameter/albedo = Color(0, 0.32, 0.43, 1)
|
||||
|
@ -49,13 +50,13 @@ shader_parameter/roughness = 0.02
|
|||
shader_parameter/texture_normal = SubResource("NoiseTexture2D_mf4pf")
|
||||
shader_parameter/texture_normal2 = SubResource("NoiseTexture2D_nojbg")
|
||||
shader_parameter/wave = SubResource("NoiseTexture2D_0vxpe")
|
||||
shader_parameter/wave_time = 7.905
|
||||
shader_parameter/wave_direction = Vector2(2, 0)
|
||||
shader_parameter/wave_2_direction = Vector2(0, 1)
|
||||
shader_parameter/time_scale = 0.025
|
||||
shader_parameter/wave_speed = 0.02
|
||||
shader_parameter/noise_scale = 8.23
|
||||
shader_parameter/height_scale = 0.34
|
||||
shader_parameter/wave_time = 0.0
|
||||
shader_parameter/wave_direction = Vector2(0.8, 0)
|
||||
shader_parameter/wave_2_direction = Vector2(0, 2)
|
||||
shader_parameter/time_scale = 0.01
|
||||
shader_parameter/wave_speed = 0.05
|
||||
shader_parameter/noise_scale = 15.0
|
||||
shader_parameter/height_scale = 0.25
|
||||
shader_parameter/beers_law = 2.0
|
||||
shader_parameter/depth_offset = -0.75
|
||||
shader_parameter/edge_scale = 0.1
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=11 format=3 uid="uid://hs3a438it6j6"]
|
||||
[gd_scene load_steps=9 format=3 uid="uid://hs3a438it6j6"]
|
||||
|
||||
[ext_resource type="Material" uid="uid://djvstk5qjvdan" path="res://ocean/Ocean2.tres" id="1_kiaws"]
|
||||
[ext_resource type="Script" uid="uid://c12fpc7inp27s" path="res://ocean/ocean.gd" id="2_ap626"]
|
||||
|
@ -18,32 +18,18 @@ tonemap_mode = 2
|
|||
glow_enabled = true
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_mf4pf"]
|
||||
resource_name = "OceanTile_Current"
|
||||
material = ExtResource("1_kiaws")
|
||||
size = Vector2(10, 10)
|
||||
size = Vector2(10.5, 10.5)
|
||||
subdivide_width = 100
|
||||
subdivide_depth = 100
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ap626"]
|
||||
transparency = 1
|
||||
blend_mode = 3
|
||||
shading_mode = 0
|
||||
diffuse_mode = 3
|
||||
disable_fog = true
|
||||
albedo_color = Color(0, 0.754224, 0.124756, 1)
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_2qsx7"]
|
||||
material = SubResource("StandardMaterial3D_ap626")
|
||||
radius = 0.2
|
||||
height = 0.4
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_ap626"]
|
||||
script/source = "extends MeshInstance3D
|
||||
@export var ocean : Ocean #= get_tree().get_nodes_in_group(\"ocean\")[0]
|
||||
|
||||
func _process(_delta):
|
||||
var depthwater = ocean.get_water_level(Vector3.ZERO)
|
||||
global_position = Vector3(0.0,depthwater,0.0)
|
||||
"
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_ap626"]
|
||||
resource_name = "OceanTile_Near"
|
||||
material = ExtResource("1_kiaws")
|
||||
size = Vector2(10.5, 10.5)
|
||||
subdivide_width = 50
|
||||
subdivide_depth = 50
|
||||
|
||||
[node name="Node3D" type="Node3D"]
|
||||
|
||||
|
@ -63,33 +49,54 @@ script = ExtResource("2_ap626")
|
|||
|
||||
[node name="Water_Tile_02" type="MeshInstance3D" parent="Ocean"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 0)
|
||||
mesh = SubResource("PlaneMesh_mf4pf")
|
||||
mesh = SubResource("PlaneMesh_ap626")
|
||||
skeleton = NodePath("../..")
|
||||
script = ExtResource("2_ap626")
|
||||
|
||||
[node name="Water_Tile_01" type="MeshInstance3D" parent="Ocean"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10)
|
||||
mesh = SubResource("PlaneMesh_mf4pf")
|
||||
mesh = SubResource("PlaneMesh_ap626")
|
||||
skeleton = NodePath("../..")
|
||||
script = ExtResource("2_ap626")
|
||||
|
||||
[node name="Water_Tile_03" type="MeshInstance3D" parent="Ocean"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10)
|
||||
mesh = SubResource("PlaneMesh_mf4pf")
|
||||
mesh = SubResource("PlaneMesh_ap626")
|
||||
skeleton = NodePath("../..")
|
||||
script = ExtResource("2_ap626")
|
||||
|
||||
[node name="Water_Tile_04" type="MeshInstance3D" parent="Ocean"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, 0)
|
||||
mesh = SubResource("PlaneMesh_mf4pf")
|
||||
mesh = SubResource("PlaneMesh_ap626")
|
||||
skeleton = NodePath("../..")
|
||||
script = ExtResource("2_ap626")
|
||||
|
||||
[node name="Water_Tile_05" type="MeshInstance3D" parent="Ocean"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, -10)
|
||||
mesh = SubResource("PlaneMesh_ap626")
|
||||
skeleton = NodePath("../..")
|
||||
script = ExtResource("2_ap626")
|
||||
|
||||
[node name="Water_Tile_06" type="MeshInstance3D" parent="Ocean"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, 10)
|
||||
mesh = SubResource("PlaneMesh_ap626")
|
||||
skeleton = NodePath("../..")
|
||||
script = ExtResource("2_ap626")
|
||||
|
||||
[node name="Water_Tile_07" type="MeshInstance3D" parent="Ocean"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 10)
|
||||
mesh = SubResource("PlaneMesh_ap626")
|
||||
skeleton = NodePath("../..")
|
||||
script = ExtResource("2_ap626")
|
||||
|
||||
[node name="Water_Tile_08" type="MeshInstance3D" parent="Ocean"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -10)
|
||||
mesh = SubResource("PlaneMesh_ap626")
|
||||
skeleton = NodePath("../..")
|
||||
script = ExtResource("2_ap626")
|
||||
|
||||
[node name="Boat" parent="." node_paths=PackedStringArray("ocean") instance=ExtResource("3_ap626")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.461916, 0)
|
||||
ocean = NodePath("../Ocean/Water_Tile_00")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="." node_paths=PackedStringArray("ocean")]
|
||||
mesh = SubResource("SphereMesh_2qsx7")
|
||||
script = SubResource("GDScript_ap626")
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.473399, -0.388613, 0)
|
||||
float_force = 75.0
|
||||
ocean = NodePath("../Ocean/Water_Tile_00")
|
||||
max_thrust_force = 3000.0
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
@icon("uid://cbqveb0y8fkiv")
|
||||
extends MeshInstance3D
|
||||
class_name Ocean
|
||||
class_name OceanTile
|
||||
|
||||
var material: ShaderMaterial
|
||||
var noise: Image
|
||||
|
|
|
@ -48,7 +48,17 @@ turn_right={
|
|||
}
|
||||
turn_left={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null)
|
||||
, 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":65,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null)
|
||||
"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":65,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null)
|
||||
]
|
||||
}
|
||||
camera_right={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":1.0,"script":null)
|
||||
]
|
||||
}
|
||||
camera_left={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":-1.0,"script":null)
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue