Add daynight scene to museum beome gen + add camera pivot to daynight
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
extends Node3D
|
||||
|
||||
signal camera_changed(camera: Camera3D)
|
||||
|
||||
@export_group("Camera")
|
||||
@export var camera_iso : Camera3D
|
||||
@export var pivot : Node3D
|
||||
@@ -42,7 +44,11 @@ func _ready():
|
||||
if camera_top: array_camera.append(camera_top)
|
||||
|
||||
if camera_iso:
|
||||
camera_iso.make_current()
|
||||
set_camera(camera_iso)
|
||||
|
||||
func set_camera(camera: Camera3D):
|
||||
camera.make_current()
|
||||
emit_signal("camera_changed", camera)
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventKey and event.pressed and not event.echo:
|
||||
@@ -84,27 +90,27 @@ func _input(event):
|
||||
var manual_action = false
|
||||
|
||||
if event.keycode == KEY_1 and camera_iso:
|
||||
camera_iso.make_current()
|
||||
set_camera(camera_iso)
|
||||
is_moving_enabled = true
|
||||
manual_action = true
|
||||
|
||||
elif event.keycode == KEY_2 and camera_front:
|
||||
camera_front.make_current()
|
||||
set_camera(camera_front)
|
||||
is_moving_enabled = false
|
||||
manual_action = true
|
||||
|
||||
elif event.keycode == KEY_3 and camera_side1:
|
||||
camera_side1.make_current()
|
||||
set_camera(camera_side1)
|
||||
is_moving_enabled = false
|
||||
manual_action = true
|
||||
|
||||
elif event.keycode == KEY_4 and camera_side2:
|
||||
camera_side2.make_current()
|
||||
set_camera(camera_side2)
|
||||
is_moving_enabled = false
|
||||
manual_action = true
|
||||
|
||||
elif event.keycode == KEY_5 and camera_top:
|
||||
camera_top.make_current()
|
||||
set_camera(camera_top)
|
||||
is_moving_enabled = false
|
||||
manual_action = true
|
||||
|
||||
@@ -123,7 +129,7 @@ func _process(delta):
|
||||
cinematic_timer = 0.0
|
||||
cinematic_index = (cinematic_index + 1) % array_camera.size()
|
||||
var next_cam = array_camera[cinematic_index]
|
||||
next_cam.make_current()
|
||||
set_camera(next_cam)
|
||||
is_moving_enabled = (next_cam == camera_iso)
|
||||
|
||||
if not is_moving_enabled or pivot == null:
|
||||
|
||||
@@ -5,6 +5,7 @@ extends Node3D
|
||||
|
||||
@export_group("Camera")
|
||||
@export var camera: Camera3D
|
||||
@export var camera_pivot: Node3D
|
||||
|
||||
@export_group("Particles")
|
||||
@export var particles_wind: GPUParticles3D
|
||||
@@ -59,6 +60,7 @@ func _ready() -> void:
|
||||
environment,
|
||||
environment_config,
|
||||
camera,
|
||||
camera_pivot,
|
||||
thunder_sounds,
|
||||
rain_sounds
|
||||
)
|
||||
|
||||
@@ -19,6 +19,7 @@ var sun: DirectionalLight3D
|
||||
var environment: WorldEnvironment
|
||||
var environment_config: EnvironmentConfig
|
||||
var camera: Camera3D
|
||||
var camera_pivot: Node3D
|
||||
|
||||
var day_time: float = 0.0
|
||||
|
||||
@@ -48,7 +49,7 @@ func _init(wind: GPUParticles3D, snow: GPUParticles3D,
|
||||
fireflies: GPUParticles3D, rain: GPUParticles3D, ray: PackedScene,
|
||||
dust: ColorRect, blurr: ColorRect, envshadows: MeshInstance3D,
|
||||
thesun: DirectionalLight3D, theenvironment: WorldEnvironment, environmentconfig: EnvironmentConfig,
|
||||
thecamera: Camera3D, thundersounds: Array[AudioStream], rainsounds: Array[AudioStream]) -> void:
|
||||
thecamera: Camera3D, thecamerapivot: Node3D, thundersounds: Array[AudioStream], rainsounds: Array[AudioStream]) -> void:
|
||||
particles_wind = wind
|
||||
particles_snow = snow
|
||||
particles_fireflies = fireflies
|
||||
@@ -61,6 +62,7 @@ func _init(wind: GPUParticles3D, snow: GPUParticles3D,
|
||||
environment = theenvironment
|
||||
environment_config = environmentconfig
|
||||
camera = thecamera
|
||||
camera_pivot = thecamerapivot
|
||||
thunder_sounds = thundersounds
|
||||
rain_sounds = rainsounds
|
||||
|
||||
@@ -79,6 +81,10 @@ func _init(wind: GPUParticles3D, snow: GPUParticles3D,
|
||||
toggle_dust(environment_config.enable_dust)
|
||||
toggle_blur(environment_config.enable_blur)
|
||||
|
||||
#set camera pivot if available
|
||||
if camera_pivot:
|
||||
camera_pivot.get_node("pivot").camera_changed.connect(_set_camera)
|
||||
|
||||
func _ready() -> void:
|
||||
|
||||
#connect events
|
||||
@@ -229,6 +235,8 @@ func _process(delta: float) -> void:
|
||||
environment_config.material_fog.set_shader_parameter("night_intensity", night_val)
|
||||
environment_config.material_fog.set_shader_parameter("sun_color", final_tint)
|
||||
|
||||
func _set_camera(curr_camera: Camera3D):
|
||||
camera = curr_camera
|
||||
|
||||
func _follow_camera() -> void:
|
||||
if not camera or not is_instance_valid(camera):
|
||||
|
||||
6
docs/museums/biome_generator/museum_biome_generator.gd
Normal file
6
docs/museums/biome_generator/museum_biome_generator.gd
Normal file
@@ -0,0 +1,6 @@
|
||||
extends Node3D
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventKey and event.pressed:
|
||||
if event.keycode == KEY_ESCAPE:
|
||||
get_tree().quit()
|
||||
@@ -0,0 +1 @@
|
||||
uid://bw42tcfoee7xl
|
||||
File diff suppressed because one or more lines are too long
6
docs/museums/daynight/museum_daynight.gd
Normal file
6
docs/museums/daynight/museum_daynight.gd
Normal file
@@ -0,0 +1,6 @@
|
||||
extends Node3D
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventKey and event.pressed:
|
||||
if event.keycode == KEY_ESCAPE:
|
||||
get_tree().quit()
|
||||
1
docs/museums/daynight/museum_daynight.gd.uid
Normal file
1
docs/museums/daynight/museum_daynight.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bs232puek1gwc
|
||||
@@ -1,6 +1,7 @@
|
||||
[gd_scene format=4 uid="uid://bjkhawylawqof"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cmuvmmp7xam4o" path="res://core/daynight/environment_management.tscn" id="1_daynt"]
|
||||
[ext_resource type="Script" uid="uid://bs232puek1gwc" path="res://docs/museums/daynight/museum_daynight.gd" id="1_ouqsa"]
|
||||
[ext_resource type="Shader" uid="uid://bneoex8xpmcm8" path="res://core/daynight/sky.gdshader" id="3_jiovi"]
|
||||
[ext_resource type="Texture2D" uid="uid://dest0qa7vaid0" path="res://core/daynight/stars_albedo.png" id="4_abyor"]
|
||||
[ext_resource type="AudioStream" uid="uid://dvabvoqyya0g5" path="res://core/daynight/sounds/thunder_3.mp3" id="4_d5ghv"]
|
||||
@@ -107,6 +108,7 @@ albedo_color = Color(0.135, 0.45, 0.18224995, 1)
|
||||
size = Vector3(200, 0.08, 200)
|
||||
|
||||
[node name="Museum" type="Node3D" unique_id=1411616506]
|
||||
script = ExtResource("1_ouqsa")
|
||||
|
||||
[node name="DayNight" parent="." unique_id=1578787116 node_paths=PackedStringArray("camera") instance=ExtResource("1_daynt")]
|
||||
camera = NodePath("../Camera3D")
|
||||
|
||||
Reference in New Issue
Block a user