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).
///