From e3d1e8a5ea8a5965752db5c15c2995d536be048a Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Tue, 13 Jan 2026 10:36:07 +0100 Subject: [PATCH] Add `View` button to edit Environment Probe texture asset --- .../Dedicated/EnvironmentProbeEditor.cs | 13 ++++++++++++- Source/Engine/Level/Actors/EnvironmentProbe.cpp | 5 +++++ Source/Engine/Level/Actors/EnvironmentProbe.h | 5 +++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/Source/Editor/CustomEditors/Dedicated/EnvironmentProbeEditor.cs b/Source/Editor/CustomEditors/Dedicated/EnvironmentProbeEditor.cs index 7649da514..02f9f6b3b 100644 --- a/Source/Editor/CustomEditors/Dedicated/EnvironmentProbeEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/EnvironmentProbeEditor.cs @@ -21,10 +21,12 @@ namespace FlaxEditor.CustomEditors.Dedicated if (Values.HasDifferentTypes == false) { - var group = layout.Group("Bake"); + var group = layout.Group("Probe"); group.Panel.ItemsMargin = new Margin(Utilities.Constants.UIMargin * 2); _bake = group.Button("Bake").Button; _bake.Clicked += BakeButtonClicked; + var view = group.Button("View", "Opens the probe texture viewer"); + view.Button.Clicked += OnViewButtonClicked; } } @@ -50,5 +52,14 @@ namespace FlaxEditor.CustomEditors.Dedicated } } } + + private void OnViewButtonClicked() + { + foreach (var value in Values) + { + if (value is EnvironmentProbe probe && probe.ProbeAsset) + Editor.Instance.ContentEditing.Open(probe.ProbeAsset); + } + } } } diff --git a/Source/Engine/Level/Actors/EnvironmentProbe.cpp b/Source/Engine/Level/Actors/EnvironmentProbe.cpp index 71b403eb9..229266567 100644 --- a/Source/Engine/Level/Actors/EnvironmentProbe.cpp +++ b/Source/Engine/Level/Actors/EnvironmentProbe.cpp @@ -58,6 +58,11 @@ GPUTexture* EnvironmentProbe::GetProbe() const return _probe ? _probe->GetTexture() : _probeTexture; } +CubeTexture* EnvironmentProbe::GetProbeAsset() const +{ + return _probe; +} + bool EnvironmentProbe::IsUsingCustomProbe() const { return _isUsingCustomProbe; diff --git a/Source/Engine/Level/Actors/EnvironmentProbe.h b/Source/Engine/Level/Actors/EnvironmentProbe.h index 4a77a811e..5481e0bab 100644 --- a/Source/Engine/Level/Actors/EnvironmentProbe.h +++ b/Source/Engine/Level/Actors/EnvironmentProbe.h @@ -91,6 +91,11 @@ public: /// API_PROPERTY() GPUTexture* GetProbe() const; + /// + /// Gets the probe texture asset used during rendering (baked or custom one). Returns null when using virtual probe with realtime generation. + /// + API_PROPERTY() CubeTexture* GetProbeAsset() const; + /// /// True if probe is using custom cube texture (not baked). ///