Merge pull request #7248 from aws-lumberyard-dev/TerrainMaterialsFix
Fixed crash and asserts when heightfield is used without Terrain World
This commit is contained in:
@@ -687,14 +687,19 @@ namespace PhysX
|
||||
[[maybe_unused]] const AZ::Vector3& colliderScale,
|
||||
[[maybe_unused]] const bool forceUniformScaling) const
|
||||
{
|
||||
auto heights = heightfieldShapeConfig.GetSamples();
|
||||
|
||||
if (heights.empty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
const int numColumns = heightfieldShapeConfig.GetNumColumns();
|
||||
const int numRows = heightfieldShapeConfig.GetNumRows();
|
||||
|
||||
const float minXBounds = -(numColumns * heightfieldShapeConfig.GetGridResolution().GetX()) / 2.0f;
|
||||
const float minYBounds = -(numRows * heightfieldShapeConfig.GetGridResolution().GetY()) / 2.0f;
|
||||
|
||||
auto heights = heightfieldShapeConfig.GetSamples();
|
||||
|
||||
for (int xIndex = 0; xIndex < numColumns - 1; xIndex++)
|
||||
{
|
||||
for (int yIndex = 0; yIndex < numRows - 1; yIndex++)
|
||||
|
||||
@@ -211,7 +211,12 @@ namespace PhysX
|
||||
{
|
||||
ClearHeightfield();
|
||||
InitHeightfieldShapeConfiguration();
|
||||
InitStaticRigidBody();
|
||||
|
||||
if (!m_shapeConfig->GetSamples().empty())
|
||||
{
|
||||
InitStaticRigidBody();
|
||||
}
|
||||
|
||||
Physics::ColliderComponentEventBus::Event(GetEntityId(), &Physics::ColliderComponentEvents::OnColliderChanged);
|
||||
}
|
||||
|
||||
|
||||
@@ -150,7 +150,13 @@ namespace PhysX
|
||||
{
|
||||
ClearHeightfield();
|
||||
InitHeightfieldShapeConfiguration();
|
||||
InitStaticRigidBody();
|
||||
|
||||
Physics::HeightfieldShapeConfiguration& configuration = static_cast<Physics::HeightfieldShapeConfiguration&>(*m_shapeConfig.second);
|
||||
if (!configuration.GetSamples().empty())
|
||||
{
|
||||
InitStaticRigidBody();
|
||||
}
|
||||
|
||||
Physics::ColliderComponentEventBus::Event(GetEntityId(), &Physics::ColliderComponentEvents::OnColliderChanged);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user