Changed the DiffuseProbeGrid and ReflectionProbe components to only override the Box size if it's at the default (unit)
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
This commit is contained in:
+2
-2
@@ -13,8 +13,8 @@ namespace AZ
|
|||||||
{
|
{
|
||||||
static constexpr const char* const DiffuseProbeGridComponentTypeId = "{9B900A04-192F-4F5E-AE31-762605D8159A}";
|
static constexpr const char* const DiffuseProbeGridComponentTypeId = "{9B900A04-192F-4F5E-AE31-762605D8159A}";
|
||||||
static constexpr const char* const EditorDiffuseProbeGridComponentTypeId = "{F80086E1-ECE7-4E8C-B727-A750D10F7D83}";
|
static constexpr const char* const EditorDiffuseProbeGridComponentTypeId = "{F80086E1-ECE7-4E8C-B727-A750D10F7D83}";
|
||||||
static constexpr float DefaultDiffuseProbeGridSpacing = 4.0f;
|
static constexpr float DefaultDiffuseProbeGridSpacing = 2.0f;
|
||||||
static constexpr float DefaultDiffuseProbeGridExtents = 20.0f;
|
static constexpr float DefaultDiffuseProbeGridExtents = 8.0f;
|
||||||
static constexpr float DefaultDiffuseProbeGridAmbientMultiplier = 1.0f;
|
static constexpr float DefaultDiffuseProbeGridAmbientMultiplier = 1.0f;
|
||||||
static constexpr float DefaultDiffuseProbeGridViewBias = 0.2f;
|
static constexpr float DefaultDiffuseProbeGridViewBias = 0.2f;
|
||||||
static constexpr float DefaultDiffuseProbeGridNormalBias = 0.1f;
|
static constexpr float DefaultDiffuseProbeGridNormalBias = 0.1f;
|
||||||
|
|||||||
+14
-3
@@ -169,9 +169,20 @@ namespace AZ
|
|||||||
|
|
||||||
m_featureProcessor->SetMode(m_handle, m_configuration.m_runtimeMode);
|
m_featureProcessor->SetMode(m_handle, m_configuration.m_runtimeMode);
|
||||||
|
|
||||||
// set box shape component dimensions from the configuration
|
// if this is a new DiffuseProbeGrid entity and the box shape has not been changed (i.e., it's still unit sized)
|
||||||
// this will invoke the OnShapeChanged() handler and set the outer extents on the feature processor
|
// then use the default extents, otherwise use the current box shape extents
|
||||||
m_boxShapeInterface->SetBoxDimensions(m_configuration.m_extents);
|
AZ::Vector3 extents(0.0f);
|
||||||
|
AZ::Vector3 boxDimensions = m_boxShapeInterface->GetBoxDimensions();
|
||||||
|
if (m_configuration.m_entityId == EntityId::InvalidEntityId && boxDimensions == AZ::Vector3(1.0f))
|
||||||
|
{
|
||||||
|
extents = m_configuration.m_extents;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
extents = boxDimensions;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_boxShapeInterface->SetBoxDimensions(extents);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiffuseProbeGridComponentController::OnAssetReady(Data::Asset<Data::AssetData> asset)
|
void DiffuseProbeGridComponentController::OnAssetReady(Data::Asset<Data::AssetData> asset)
|
||||||
|
|||||||
+2
@@ -47,6 +47,8 @@ namespace AZ
|
|||||||
Data::Asset<RPI::StreamingImageAsset> m_bakedDistanceTextureAsset;
|
Data::Asset<RPI::StreamingImageAsset> m_bakedDistanceTextureAsset;
|
||||||
Data::Asset<RPI::StreamingImageAsset> m_bakedRelocationTextureAsset;
|
Data::Asset<RPI::StreamingImageAsset> m_bakedRelocationTextureAsset;
|
||||||
Data::Asset<RPI::StreamingImageAsset> m_bakedClassificationTextureAsset;
|
Data::Asset<RPI::StreamingImageAsset> m_bakedClassificationTextureAsset;
|
||||||
|
|
||||||
|
AZ::u64 m_entityId{ EntityId::InvalidEntityId };
|
||||||
};
|
};
|
||||||
|
|
||||||
class DiffuseProbeGridComponentController final
|
class DiffuseProbeGridComponentController final
|
||||||
|
|||||||
+3
@@ -147,6 +147,9 @@ namespace AZ
|
|||||||
AzToolsFramework::EditorComponentSelectionRequestsBus::Handler::BusConnect(GetEntityId());
|
AzToolsFramework::EditorComponentSelectionRequestsBus::Handler::BusConnect(GetEntityId());
|
||||||
AZ::TickBus::Handler::BusConnect();
|
AZ::TickBus::Handler::BusConnect();
|
||||||
AzToolsFramework::EditorEntityInfoNotificationBus::Handler::BusConnect();
|
AzToolsFramework::EditorEntityInfoNotificationBus::Handler::BusConnect();
|
||||||
|
|
||||||
|
AZ::u64 entityId = (AZ::u64)GetEntityId();
|
||||||
|
m_controller.m_configuration.m_entityId = entityId;
|
||||||
}
|
}
|
||||||
|
|
||||||
void EditorDiffuseProbeGridComponent::Deactivate()
|
void EditorDiffuseProbeGridComponent::Deactivate()
|
||||||
|
|||||||
+1
@@ -13,5 +13,6 @@ namespace AZ
|
|||||||
{
|
{
|
||||||
static constexpr const char* const ReflectionProbeComponentTypeId = "{E5D29F09-F974-45FE-A1D0-2126079D1021}";
|
static constexpr const char* const ReflectionProbeComponentTypeId = "{E5D29F09-F974-45FE-A1D0-2126079D1021}";
|
||||||
static constexpr const char* const EditorReflectionProbeComponentTypeId = "{6EBF2E41-2918-48B8-ACC3-FB115ED09E64}";
|
static constexpr const char* const EditorReflectionProbeComponentTypeId = "{6EBF2E41-2918-48B8-ACC3-FB115ED09E64}";
|
||||||
|
static constexpr float DefaultReflectionProbeExtents = 8.0f;
|
||||||
} // namespace Render
|
} // namespace Render
|
||||||
} // namespace AZ
|
} // namespace AZ
|
||||||
|
|||||||
+15
-3
@@ -127,9 +127,21 @@ namespace AZ
|
|||||||
// set the visualization sphere option
|
// set the visualization sphere option
|
||||||
m_featureProcessor->ShowProbeVisualization(m_handle, m_configuration.m_showVisualization);
|
m_featureProcessor->ShowProbeVisualization(m_handle, m_configuration.m_showVisualization);
|
||||||
|
|
||||||
// update the outer extents from the box shape
|
// if this is a new ReflectionProbe entity and the box shape has not been changed (i.e., it's still unit sized)
|
||||||
// if the user already resized the box shape on this entity it will inherit those extents
|
// then set the shape to the default extents
|
||||||
UpdateOuterExtents();
|
AZ::Vector3 boxDimensions = m_boxShapeInterface->GetBoxDimensions();
|
||||||
|
if (m_configuration.m_entityId == EntityId::InvalidEntityId && boxDimensions == AZ::Vector3(1.0f))
|
||||||
|
{
|
||||||
|
AZ::Vector3 extents(m_configuration.m_outerWidth, m_configuration.m_outerLength, m_configuration.m_outerHeight);
|
||||||
|
|
||||||
|
// resize the box shape, this will invoke OnShapeChanged
|
||||||
|
m_boxShapeInterface->SetBoxDimensions(extents);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// update the outer extents from the box shape
|
||||||
|
UpdateOuterExtents();
|
||||||
|
}
|
||||||
|
|
||||||
// set the inner extents
|
// set the inner extents
|
||||||
m_featureProcessor->SetProbeInnerExtents(m_handle, AZ::Vector3(m_configuration.m_innerWidth, m_configuration.m_innerLength, m_configuration.m_innerHeight));
|
m_featureProcessor->SetProbeInnerExtents(m_handle, AZ::Vector3(m_configuration.m_innerWidth, m_configuration.m_innerLength, m_configuration.m_innerHeight));
|
||||||
|
|||||||
+7
-6
@@ -14,6 +14,7 @@
|
|||||||
#include <Atom/Feature/ReflectionProbe/ReflectionProbeFeatureProcessorInterface.h>
|
#include <Atom/Feature/ReflectionProbe/ReflectionProbeFeatureProcessorInterface.h>
|
||||||
#include <Atom/RPI.Public/Model/Model.h>
|
#include <Atom/RPI.Public/Model/Model.h>
|
||||||
#include <LmbrCentral/Shape/BoxShapeComponentBus.h>
|
#include <LmbrCentral/Shape/BoxShapeComponentBus.h>
|
||||||
|
#include <ReflectionProbe/ReflectionProbeComponentConstants.h>
|
||||||
|
|
||||||
namespace AZ
|
namespace AZ
|
||||||
{
|
{
|
||||||
@@ -50,12 +51,12 @@ namespace AZ
|
|||||||
AZ_CLASS_ALLOCATOR(ReflectionProbeComponentConfig, SystemAllocator, 0);
|
AZ_CLASS_ALLOCATOR(ReflectionProbeComponentConfig, SystemAllocator, 0);
|
||||||
static void Reflect(AZ::ReflectContext* context);
|
static void Reflect(AZ::ReflectContext* context);
|
||||||
|
|
||||||
float m_outerHeight = 20.0f;
|
float m_outerHeight = DefaultReflectionProbeExtents;
|
||||||
float m_outerLength = 20.0f;
|
float m_outerLength = DefaultReflectionProbeExtents;
|
||||||
float m_outerWidth = 20.0f;
|
float m_outerWidth = DefaultReflectionProbeExtents;
|
||||||
float m_innerHeight = 20.0f;
|
float m_innerHeight = DefaultReflectionProbeExtents;
|
||||||
float m_innerLength = 20.0f;
|
float m_innerLength = DefaultReflectionProbeExtents;
|
||||||
float m_innerWidth = 20.0f;
|
float m_innerWidth = DefaultReflectionProbeExtents;
|
||||||
|
|
||||||
bool m_useParallaxCorrection = true;
|
bool m_useParallaxCorrection = true;
|
||||||
bool m_showVisualization = true;
|
bool m_showVisualization = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user