Skip to content

Commit

Permalink
stashing misc testing
Browse files Browse the repository at this point in the history
  • Loading branch information
RevoluPowered committed Jun 25, 2024
1 parent 1566c5a commit 0cb83e2
Show file tree
Hide file tree
Showing 10 changed files with 122 additions and 112 deletions.
8 changes: 0 additions & 8 deletions mirror-godot-app/art/environments/physical_clouds_sky.tres
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,14 @@
sky_material = ExtResource("1_md4p5")

[resource]
background_mode = 2
sky = SubResource("Sky_d7khk")
tonemap_mode = 3
tonemap_exposure = 1.2
tonemap_white = 0.8
ssao_enabled = true
ssao_intensity = 3.0
ssao_light_affect = 0.2
glow_enabled = true
glow_hdr_threshold = 1.7
fog_enabled = true
fog_sun_scatter = 1.0
fog_density = 0.02
fog_aerial_perspective = 0.3
fog_sky_affect = 0.153
volumetric_fog_enabled = true
volumetric_fog_density = 0.0003
volumetric_fog_albedo = Color(0.117647, 0.356863, 0.67451, 1)
volumetric_fog_emission_energy = 0.0
Expand Down
2 changes: 0 additions & 2 deletions mirror-godot-app/art/environments/physical_sky.tres
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,13 @@
sky_material = ExtResource("1_qa330")

[resource]
background_mode = 2
sky = SubResource("Sky_d7khk")
tonemap_white = 0.8
ssao_intensity = 3.0
ssao_power = 2.0
ssao_light_affect = 0.2
glow_hdr_threshold = 1.7
fog_density = 0.02
fog_aerial_perspective = 0.3
fog_sky_affect = 0.5
volumetric_fog_density = 0.0003
volumetric_fog_albedo = Color(0.117647, 0.356863, 0.67451, 1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,17 +105,17 @@ func _setup_world_environment():
if target_node.environment == null:
target_node.environment = Environment.new()
_environment = target_node.environment
if _environment.sky == null:
_environment.sky = Sky.new()
if (
_environment.sky.sky_material == null
or not (
_environment.sky.sky_material is ProceduralSkyMaterial
or _environment.sky.sky_material is ShaderMaterial
)
):
_environment.sky.sky_material = ProceduralSkyMaterial.new()
_sky_material = _environment.sky.sky_material
#if _environment.sky == null:
#_environment.sky = Sky.new()
#if (
#_environment.sky.sky_material == null
#or not (
#_environment.sky.sky_material is ProceduralSkyMaterial
#or _environment.sky.sky_material is ShaderMaterial
#)
#):
#_environment.sky.sky_material = ProceduralSkyMaterial.new()
#_sky_material = _environment.sky.sky_material


func _count_suns(target_node):
Expand Down
28 changes: 10 additions & 18 deletions mirror-godot-app/player/cameras/camera_manager.gd
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,10 @@ var _placement_preview_asset_id: String = ""
var _current_camera_holder: CameraHolder

@onready var _main_viewport: Viewport = get_viewport()
@onready var _viewport_container: SubViewportContainer = get_node(^"SubViewportContainer")
@onready var _viewport: SubViewport = _viewport_container.get_node(^"SubViewport")
@onready var _player_head_camera_holder: CameraHolder = _viewport.get_node(^"PlayerHeadCamera")
@onready var _free_camera_holder: CameraHolder = _viewport.get_node(^"FreeCamera")
@onready var _placement_preview: Node3D = _viewport.get_node(^"PlacementPreview")
@onready var jolt_debugger: JoltDebugGeometry3D = _viewport.get_node(^"JoltDebugGeometry3D")
@onready var _player_head_camera_holder: CameraHolder = $PlayerHeadCamera
@onready var _free_camera_holder: CameraHolder = $FreeCamera
@onready var _placement_preview: Node3D = $PlacementPreview
@onready var jolt_debugger: JoltDebugGeometry3D = $JoltDebugGeometry3D


func _ready():
Expand All @@ -23,13 +21,7 @@ func _ready():

func _process(delta: float) -> void:
_current_camera_holder.update(delta)
var size := Vector2i(_viewport_container.size)
if _viewport.size != size:
_viewport.size = size
# _viewport.scaling_3d_scale = 1.5
var cam_attr = _main_viewport.world_3d.camera_attributes
if cam_attr is CameraAttributesPractical:
cam_attr.dof_blur_amount = size.y * _viewport.scaling_3d_scale * 0.00001


func enable_for_player(player: TMCharacter3D):
Expand All @@ -43,21 +35,21 @@ func enable_for_player(player: TMCharacter3D):
Zone.mode_changed.connect(_on_zone_mode_changed)
var window: Window = get_tree().get_root()
window.size_changed.connect(_on_window_size_changed)
GameplaySettings.render_quality_changed.connect(self._on_render_quality_changed)
GameplaySettings.render_profile.update_viewport(_viewport)
#GameplaySettings.render_quality_changed.connect(self._on_render_quality_changed)
#GameplaySettings.render_profile.update_viewport(_viewport)


func _on_render_quality_changed(_render_quality: int):
GameplaySettings.render_profile.update_viewport(_viewport)
pass
#GameplaySettings.render_profile.update_viewport(_viewport)


func get_camera_viewport() -> SubViewport:
return _viewport
return Zone.get_viewport()


func _on_window_size_changed() -> void:
var window: Window = get_tree().get_root()
_viewport.size = window.size
return


func get_placement_preview_asset_id() -> String:
Expand Down
22 changes: 4 additions & 18 deletions mirror-godot-app/player/cameras/camera_manager.tscn
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,13 @@
[node name="CameraManager" type="Node"]
script = ExtResource("1_sgi5b")

[node name="SubViewportContainer" type="SubViewportContainer" parent="."]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
stretch = true

[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"]
handle_input_locally = false
audio_listener_enable_3d = true
size = Vector2i(2560, 1440)
render_target_update_mode = 4

[node name="PlayerHeadCamera" parent="SubViewportContainer/SubViewport" node_paths=PackedStringArray("_camera") instance=ExtResource("2_h612i")]
[node name="PlayerHeadCamera" parent="." node_paths=PackedStringArray("_camera") instance=ExtResource("2_h612i")]
_camera = NodePath("CameraRecoilOffset/ThirdPersonCameraArm/ThirdPersonCamera")

[node name="FreeCamera" parent="SubViewportContainer/SubViewport" node_paths=PackedStringArray("_camera") instance=ExtResource("4_35k1r")]
[node name="FreeCamera" parent="." node_paths=PackedStringArray("_camera") instance=ExtResource("4_35k1r")]
_camera = NodePath("Camera")

[node name="PlacementPreview" type="Node3D" parent="SubViewportContainer/SubViewport"]
[node name="PlacementPreview" type="Node3D" parent="."]
script = ExtResource("5_h3wxg")

[node name="JoltDebugGeometry3D" type="JoltDebugGeometry3D" parent="SubViewportContainer/SubViewport"]
[node name="JoltDebugGeometry3D" type="JoltDebugGeometry3D" parent="."]
82 changes: 42 additions & 40 deletions mirror-godot-app/prefabs/space/templates/space_environment.gd
Original file line number Diff line number Diff line change
Expand Up @@ -76,17 +76,17 @@ func _on_quality_settings_changed(new_value: int) -> void:
func _setup_world_environment() -> void:
if environment == null:
environment = Environment.new()
if environment.sky == null:
environment.sky = Sky.new()
if (
environment.sky.sky_material == null
or not (
environment.sky.sky_material is ProceduralSkyMaterial
or environment.sky.sky_material is ShaderMaterial
)
):
environment.sky.sky_material = ProceduralSkyMaterial.new()
_sky = environment.sky.sky_material
#if environment.sky == null:
#environment.sky = Sky.new()
#if (
#environment.sky.sky_material == null
#or not (
#environment.sky.sky_material is ProceduralSkyMaterial
#or environment.sky.sky_material is ShaderMaterial
#)
#):
##environment.sky.sky_material = ProceduralSkyMaterial.new()
##_sky = environment.sky.sky_material

camera_attributes.dof_blur_far_enabled = GameplaySettings.render_profile.dof_enabled
if Util.is_vr_enabled():
Expand All @@ -108,6 +108,7 @@ func get_shadow_preset_index() -> int:


func _update_shadows_settings(preset: String, suns_children: Array[Node] = []) -> void:
pass
if not _SHADOWS_SETTING_MAPPINGS.has(preset):
preset = "low"
var shadow = _SHADOWS_SETTING_MAPPINGS[preset]
Expand All @@ -123,22 +124,22 @@ func _update_shadows_settings(preset: String, suns_children: Array[Node] = []) -


func _update_environment_settings(data: Dictionary) -> void:
set_sky_color(
_array_to_color(data["skyTopColor"]),
_array_to_color(data["skyHorizonColor"]),
_array_to_color(data["skyBottomColor"]))
set_fog_properties(
data["fogEnabled"],
data["fogVolumetric"],
data["fogDensity"],
_array_to_color(data["fogColor"]))
#set_sky_color(
#_array_to_color(data["skyTopColor"]),
#_array_to_color(data["skyHorizonColor"]),
#_array_to_color(data["skyBottomColor"]))
#set_fog_properties(
#data["fogEnabled"],
#data["fogVolumetric"],
#data["fogDensity"],
#_array_to_color(data["fogColor"]))
environment.sdfgi_enabled = false if Util.is_vr_enabled() else data["globalIllumination"]
environment.ssao_enabled = false if Util.is_vr_enabled() else data.get("ssao", true)
environment.glow_enabled = false if Util.is_vr_enabled() else data.get("glow", true)
environment.ssr_enabled = false if Util.is_vr_enabled() else data.get("ssr", false)
environment.glow_hdr_threshold = data.get("glowHdrThreshold", 1.0)
# environment.glow_hdr_threshold = data.get("glowHdrThreshold", 1.0)
environment.tonemap_mode = data.get("tonemap", Environment.TONE_MAPPER_FILMIC)
shadows_preset = data.get("shadowsPreset", "medium")
# shadows_preset = data.get("shadowsPreset", "medium")
# Apply suns. Use suns array data if available, but always use sun_count
# for the amount (so that the default settings of 1 sun and an empty suns
# array will give the default sun instead of no suns).
Expand All @@ -156,20 +157,20 @@ func _update_environment_settings(data: Dictionary) -> void:
sun_node.light_negative = sun_dict["brightness"] < 0.0
sun_node.rotation = Vector3(sun_dict["rotation"][0], sun_dict["rotation"][1], 0.0)
sun_node.position = Vector3(sun_dict["position"][0], sun_dict["position"][1], sun_dict["position"][2])
if data.has("clouds") and data["clouds"] is Dictionary:
var clouds = data["clouds"]
set_clouds_enabled(clouds.get("visible", false))
set_clouds_shader_value("height_offset", clouds.get("height", 200.0))
var time_scale = clouds.get("timeScale", 0.02)
var cloud_coverage = clouds.get("coverage", 0.6)
var clouds_color = _array_to_color( clouds.get("albedo", [1,1,1]) )
set_clouds_shader_value("cloud_coverage", cloud_coverage)
set_clouds_shader_value("_time_scale", time_scale)
set_clouds_shader_value("albedo",clouds_color)
if _sky is ShaderMaterial:
_sky.set_shader_parameter("clouds_color", clouds_color)
_sky.set_shader_parameter("_time_scale", time_scale)
_sky.set_shader_parameter("cloud_coverage", cloud_coverage)
#if data.has("clouds") and data["clouds"] is Dictionary:
#var clouds = data["clouds"]
#set_clouds_enabled(clouds.get("visible", false))
#set_clouds_shader_value("height_offset", clouds.get("height", 200.0))
#var time_scale = clouds.get("timeScale", 0.02)
#var cloud_coverage = clouds.get("coverage", 0.6)
#var clouds_color = _array_to_color( clouds.get("albedo", [1,1,1]) )
#set_clouds_shader_value("cloud_coverage", cloud_coverage)
#set_clouds_shader_value("_time_scale", time_scale)
#set_clouds_shader_value("albedo",clouds_color)
#if _sky is ShaderMaterial:
#_sky.set_shader_parameter("clouds_color", clouds_color)
#_sky.set_shader_parameter("_time_scale", time_scale)
#_sky.set_shader_parameter("cloud_coverage", cloud_coverage)


func apply_from_dictionary(data: Dictionary) -> void:
Expand All @@ -195,9 +196,9 @@ func serialize_to_dictionary() -> Dictionary:
"range": 5.0, # Does not matter what value we use here.
"spotAngleDegrees": 45.0, # Does not matter.
})
var fog_density = environment.volumetric_fog_density
if environment.fog_enabled:
fog_density = environment.fog_density * 2.0
#var fog_density = environment.volumetric_fog_density
#if environment.fog_enabled:
#fog_density = environment.fog_density * 2.0

var clouds = {
"visible": clouds_enabled(),
Expand All @@ -216,7 +217,7 @@ func serialize_to_dictionary() -> Dictionary:
"clouds": clouds,
"fogEnabled": environment.fog_enabled or environment.volumetric_fog_enabled,
"fogVolumetric": environment.volumetric_fog_enabled,
"fogDensity": fog_density,
"fogDensity": 1,
"fogColor": _color_to_array(environment.fog_light_color),
"globalIllumination": environment.sdfgi_enabled,
"ssao": environment.ssao_enabled,
Expand All @@ -243,6 +244,7 @@ func serialize_to_dictionary() -> Dictionary:


func set_sky_color(top: Color, horizon: Color, bottom: Color) -> void:
return
if _sky is ProceduralSkyMaterial:
_sky.sky_top_color = top
_sky.sky_horizon_color = horizon
Expand Down
4 changes: 1 addition & 3 deletions mirror-godot-app/prefabs/space/templates/space_template.tscn
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
[gd_scene load_steps=7 format=3 uid="uid://c8rbsihat0s8q"]
[gd_scene load_steps=6 format=3 uid="uid://c8rbsihat0s8q"]

[ext_resource type="Script" path="res://prefabs/space/templates/space_template.gd" id="1_q53s5"]
[ext_resource type="Environment" uid="uid://ib7u2j6apjgi" path="res://art/environments/physical_sky.tres" id="2_e25ph"]
[ext_resource type="Material" uid="uid://drfre2fladfa4" path="res://art/sky/volumetric_clouds_material.tres" id="4_qucd1"]
[ext_resource type="Script" path="res://prefabs/space/templates/space_environment.gd" id="5_05rgg"]
[ext_resource type="Script" path="res://prefabs/space/templates/space_global_scripts.gd" id="5_p4kuv"]

Expand All @@ -22,7 +21,6 @@ script = ExtResource("5_05rgg")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 281.253, 0)
visible = false
shape = 4
material = ExtResource("4_qucd1")

[node name="Sun1" type="DirectionalLight3D" parent="Space Environment"]
transform = Transform3D(0.5, -0.433013, 0.75, 0, 0.866026, 0.5, -0.866025, -0.25, 0.433013, 0, 0, 0)
Expand Down
Loading

0 comments on commit 0cb83e2

Please sign in to comment.