WIP : Weather presets
This commit is contained in:
parent
8280fdf4cd
commit
e148834d4f
13 changed files with 90 additions and 156 deletions
|
@ -1,4 +1,4 @@
|
||||||
@icon("uid://3ugrjpybrl4e")
|
@icon("uid://unv6tufgpbiy")
|
||||||
extends RigidBody3D
|
extends RigidBody3D
|
||||||
class_name Boat
|
class_name Boat
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ func _process(_delta):
|
||||||
$CamRoot.global_rotation.y += cam_rotation
|
$CamRoot.global_rotation.y += cam_rotation
|
||||||
$CamRoot.global_rotation.x = 0.0
|
$CamRoot.global_rotation.x = 0.0
|
||||||
$CamRoot.global_rotation.z = 0.0
|
$CamRoot.global_rotation.z = 0.0
|
||||||
$CamRoot.global_position.y = 0.0
|
#$CamRoot.global_position.y = 0.0
|
||||||
cam_rotation =0.0
|
cam_rotation =0.0
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
|
@ -46,9 +46,10 @@ func _physics_process(delta):
|
||||||
## but maybe it's too realistic for the game i want
|
## but maybe it's too realistic for the game i want
|
||||||
var wanted_force: Vector3 = global_transform.basis.x.normalized() * Vector3(1, 0, 1) * thrust_force * delta
|
var wanted_force: Vector3 = global_transform.basis.x.normalized() * Vector3(1, 0, 1) * thrust_force * delta
|
||||||
apply_central_force(wanted_force)
|
apply_central_force(wanted_force)
|
||||||
angular_damp = linear_velocity.length() # make the boat less affected by the sidewave when full speed
|
|
||||||
|
angular_damp = 30.0 + clamp(linear_velocity.length(),0.5, linear_velocity.length())# make the boat less affected by the sidewave when full speed
|
||||||
apply_torque(global_transform.basis.y.normalized() * steering * clamp(linear_velocity.length(), 0.35, 1.0)) # for sideways motion
|
if steering != 0.0:
|
||||||
|
apply_torque(global_transform.basis.y.normalized() * steering ) # for sideways motion
|
||||||
|
|
||||||
reset_forces()
|
reset_forces()
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
@icon("uid://ck86evu4iyhyg")
|
@icon("uid://dyq21h2nu7dpd")
|
||||||
@tool
|
@tool
|
||||||
extends Marker3D
|
extends Marker3D
|
||||||
class_name BuyancyProbe
|
class_name BuyancyProbe
|
||||||
|
@ -49,11 +49,11 @@ func _ready() -> void:
|
||||||
debug_sphere.height = 0.2
|
debug_sphere.height = 0.2
|
||||||
sphere_preview.mesh = debug_sphere
|
sphere_preview.mesh = debug_sphere
|
||||||
if debug:
|
if debug:
|
||||||
debug_label.billboard = 1
|
debug_label.billboard = BaseMaterial3D.BILLBOARD_ENABLED
|
||||||
debug_label.outline_render_priority = 98
|
debug_label.outline_render_priority = 98
|
||||||
debug_label.render_priority = 99
|
debug_label.render_priority = 99
|
||||||
debug_label.pixel_size = 0.005
|
debug_label.pixel_size = 0.005
|
||||||
debug_label.horizontal_alignment = 0
|
debug_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_LEFT
|
||||||
debug_label.no_depth_test = true
|
debug_label.no_depth_test = true
|
||||||
debug_label.font_size = 50
|
debug_label.font_size = 50
|
||||||
add_child(debug_label)
|
add_child(debug_label)
|
||||||
|
|
|
@ -1,12 +1,24 @@
|
||||||
@icon("uid://ckjj2o5jcfcy")
|
@tool
|
||||||
|
@icon("uid://dsorlwsjw10wl")
|
||||||
extends Node
|
extends Node
|
||||||
class_name WeatherManager
|
class_name WeatherManager
|
||||||
|
|
||||||
|
@export var OceanRef : Ocean
|
||||||
|
var OceanShader:ShaderMaterial
|
||||||
|
@export var weather_preset:WeatherPreset:
|
||||||
|
set(new_preset):
|
||||||
|
weather_preset = new_preset
|
||||||
|
change_weather()
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
pass # Replace with function body.
|
if !OceanRef:
|
||||||
|
print("Error:No Ocean ref !")
|
||||||
|
queue_free()
|
||||||
|
return
|
||||||
|
OceanShader = OceanRef.OceanShader
|
||||||
|
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
func change_weather():
|
||||||
func _process(_delta: float) -> void:
|
# Set OceanShader parameters
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
@tool
|
@tool
|
||||||
@icon("uid://nwanoqn5yas8")
|
@icon("uid://bg0ym6kmn52ww")
|
||||||
extends Node3D
|
extends Node3D
|
||||||
class_name Ocean
|
class_name Ocean
|
||||||
|
|
||||||
|
|
7
Ocean/weather/weather_preset.gd
Normal file
7
Ocean/weather/weather_preset.gd
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
extends Resource
|
||||||
|
class_name WeatherPreset
|
||||||
|
|
||||||
|
@export_category("Ocean")
|
||||||
|
|
||||||
|
|
||||||
|
@export_category("Sky")
|
1
Ocean/weather/weather_preset.gd.uid
Normal file
1
Ocean/weather/weather_preset.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://pi263ugsgldt
|
|
@ -2170,10 +2170,9 @@ script = ExtResource("5_spien")
|
||||||
float_strength = 2.0
|
float_strength = 2.0
|
||||||
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
|
metadata/_custom_type_script = "uid://cnfkxclrq0i0s"
|
||||||
|
|
||||||
[node name="WeatherManager" type="Node" parent="."]
|
[node name="WeatherManager" type="Node" parent="." node_paths=PackedStringArray("OceanRef")]
|
||||||
script = ExtResource("6_kisq7")
|
script = ExtResource("6_kisq7")
|
||||||
|
OceanRef = NodePath("../Ocean")
|
||||||
|
|
||||||
[node name="Boat" parent="." groups=["Boats"] instance=ExtResource("7_0g14k")]
|
[node name="Boat" parent="." groups=["Boats"] instance=ExtResource("7_0g14k")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.134, 0.037, -0.449)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.134, 0.037, -0.449)
|
||||||
max_thrust_force = 5000.0
|
|
||||||
max_steering = 15.0
|
|
||||||
|
|
|
@ -1,37 +1,18 @@
|
||||||
[remap]
|
[remap]
|
||||||
|
|
||||||
importer="texture"
|
importer="svg"
|
||||||
type="CompressedTexture2D"
|
type="SVGTexture"
|
||||||
uid="uid://3ugrjpybrl4e"
|
uid="uid://unv6tufgpbiy"
|
||||||
path="res://.godot/imported/Boat.svg-75bc0fadb884e0e75bf1a31ed1c977a6.ctex"
|
path="res://.godot/imported/Boat.svg-75bc0fadb884e0e75bf1a31ed1c977a6.svgtex"
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://icons/Boat.svg"
|
source_file="res://icons/Boat.svg"
|
||||||
dest_files=["res://.godot/imported/Boat.svg-75bc0fadb884e0e75bf1a31ed1c977a6.ctex"]
|
dest_files=["res://.godot/imported/Boat.svg-75bc0fadb884e0e75bf1a31ed1c977a6.svgtex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
compress/mode=0
|
base_scale=1.0
|
||||||
compress/high_quality=false
|
saturation=1.0
|
||||||
compress/lossy_quality=0.7
|
color_map={}
|
||||||
compress/hdr_compression=1
|
compress=false
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
svg/scale=1.0
|
|
||||||
editor/scale_with_editor_scale=false
|
|
||||||
editor/convert_colors_with_editor_theme=false
|
|
||||||
|
|
|
@ -1,37 +1,18 @@
|
||||||
[remap]
|
[remap]
|
||||||
|
|
||||||
importer="texture"
|
importer="svg"
|
||||||
type="CompressedTexture2D"
|
type="SVGTexture"
|
||||||
uid="uid://6w31a2gju6bi"
|
uid="uid://8tikn08ngktm"
|
||||||
path="res://.godot/imported/Ocean.svg-6c6a877658fd7781c0618a503ad7db85.ctex"
|
path="res://.godot/imported/Ocean.svg-6c6a877658fd7781c0618a503ad7db85.svgtex"
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://icons/Ocean.svg"
|
source_file="res://icons/Ocean.svg"
|
||||||
dest_files=["res://.godot/imported/Ocean.svg-6c6a877658fd7781c0618a503ad7db85.ctex"]
|
dest_files=["res://.godot/imported/Ocean.svg-6c6a877658fd7781c0618a503ad7db85.svgtex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
compress/mode=0
|
base_scale=1.0
|
||||||
compress/high_quality=false
|
saturation=1.0
|
||||||
compress/lossy_quality=0.7
|
color_map={}
|
||||||
compress/hdr_compression=1
|
compress=false
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
svg/scale=1.0
|
|
||||||
editor/scale_with_editor_scale=false
|
|
||||||
editor/convert_colors_with_editor_theme=false
|
|
||||||
|
|
|
@ -1,37 +1,18 @@
|
||||||
[remap]
|
[remap]
|
||||||
|
|
||||||
importer="texture"
|
importer="svg"
|
||||||
type="CompressedTexture2D"
|
type="SVGTexture"
|
||||||
uid="uid://nwanoqn5yas8"
|
uid="uid://bg0ym6kmn52ww"
|
||||||
path="res://.godot/imported/Ocean2.svg-c7e900944be56916999acf20e410aafc.ctex"
|
path="res://.godot/imported/Ocean2.svg-c7e900944be56916999acf20e410aafc.svgtex"
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://icons/Ocean2.svg"
|
source_file="res://icons/Ocean2.svg"
|
||||||
dest_files=["res://.godot/imported/Ocean2.svg-c7e900944be56916999acf20e410aafc.ctex"]
|
dest_files=["res://.godot/imported/Ocean2.svg-c7e900944be56916999acf20e410aafc.svgtex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
compress/mode=0
|
base_scale=1.0
|
||||||
compress/high_quality=false
|
saturation=1.0
|
||||||
compress/lossy_quality=0.7
|
color_map={}
|
||||||
compress/hdr_compression=1
|
compress=false
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
svg/scale=1.0
|
|
||||||
editor/scale_with_editor_scale=false
|
|
||||||
editor/convert_colors_with_editor_theme=false
|
|
||||||
|
|
|
@ -1,37 +1,18 @@
|
||||||
[remap]
|
[remap]
|
||||||
|
|
||||||
importer="texture"
|
importer="svg"
|
||||||
type="CompressedTexture2D"
|
type="SVGTexture"
|
||||||
uid="uid://ck86evu4iyhyg"
|
uid="uid://dyq21h2nu7dpd"
|
||||||
path="res://.godot/imported/Probe.svg-788444d16b202938a7211927a742dea3.ctex"
|
path="res://.godot/imported/Probe.svg-788444d16b202938a7211927a742dea3.svgtex"
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://icons/Probe.svg"
|
source_file="res://icons/Probe.svg"
|
||||||
dest_files=["res://.godot/imported/Probe.svg-788444d16b202938a7211927a742dea3.ctex"]
|
dest_files=["res://.godot/imported/Probe.svg-788444d16b202938a7211927a742dea3.svgtex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
compress/mode=0
|
base_scale=1.0
|
||||||
compress/high_quality=false
|
saturation=1.0
|
||||||
compress/lossy_quality=0.7
|
color_map={}
|
||||||
compress/hdr_compression=1
|
compress=false
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
svg/scale=1.0
|
|
||||||
editor/scale_with_editor_scale=false
|
|
||||||
editor/convert_colors_with_editor_theme=false
|
|
||||||
|
|
|
@ -1,37 +1,18 @@
|
||||||
[remap]
|
[remap]
|
||||||
|
|
||||||
importer="texture"
|
importer="svg"
|
||||||
type="CompressedTexture2D"
|
type="SVGTexture"
|
||||||
uid="uid://ckjj2o5jcfcy"
|
uid="uid://dsorlwsjw10wl"
|
||||||
path="res://.godot/imported/Weather.svg-7b5f0f3c54711a8b10e89f516b3e247c.ctex"
|
path="res://.godot/imported/Weather.svg-7b5f0f3c54711a8b10e89f516b3e247c.svgtex"
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://icons/Weather.svg"
|
source_file="res://icons/Weather.svg"
|
||||||
dest_files=["res://.godot/imported/Weather.svg-7b5f0f3c54711a8b10e89f516b3e247c.ctex"]
|
dest_files=["res://.godot/imported/Weather.svg-7b5f0f3c54711a8b10e89f516b3e247c.svgtex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
compress/mode=0
|
base_scale=1.0
|
||||||
compress/high_quality=false
|
saturation=1.0
|
||||||
compress/lossy_quality=0.7
|
color_map={}
|
||||||
compress/hdr_compression=1
|
compress=false
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
svg/scale=1.0
|
|
||||||
editor/scale_with_editor_scale=false
|
|
||||||
editor/convert_colors_with_editor_theme=false
|
|
||||||
|
|
|
@ -36,6 +36,15 @@ Ocean="Oceans"
|
||||||
OceanTiles=""
|
OceanTiles=""
|
||||||
Boats="All player controlled vehicles"
|
Boats="All player controlled vehicles"
|
||||||
|
|
||||||
|
[importer_defaults]
|
||||||
|
|
||||||
|
svg={
|
||||||
|
"base_scale": 1.0,
|
||||||
|
"color_map": {},
|
||||||
|
"compress": true,
|
||||||
|
"saturation": 1.0
|
||||||
|
}
|
||||||
|
|
||||||
[input]
|
[input]
|
||||||
|
|
||||||
move_forward={
|
move_forward={
|
||||||
|
|
Loading…
Reference in a new issue