update with feedback from PR
Signed-off-by: greerdv <greerdv@amazon.com>
This commit is contained in:
@@ -55,7 +55,7 @@ namespace PhysX
|
||||
m_colliderConfig.SetPropertyVisibility(Physics::ColliderConfiguration::Offset, false);
|
||||
}
|
||||
|
||||
AZ::Crc32 EditorShapeColliderComponent::SubdivisionCountVisibility()
|
||||
AZ::Crc32 EditorShapeColliderComponent::SubdivisionCountVisibility() const
|
||||
{
|
||||
if (m_shapeType == ShapeType::Cylinder)
|
||||
{
|
||||
@@ -65,7 +65,7 @@ namespace PhysX
|
||||
return AZ::Edit::PropertyVisibility::Hide;
|
||||
}
|
||||
|
||||
AZ::Crc32 EditorShapeColliderComponent::SingleSidedVisibility()
|
||||
AZ::Crc32 EditorShapeColliderComponent::SingleSidedVisibility() const
|
||||
{
|
||||
if ((m_shapeType == ShapeType::QuadSingleSided || m_shapeType == ShapeType::QuadDoubleSided)
|
||||
&& GetEntity()->FindComponent<EditorRigidBodyComponent>() == nullptr)
|
||||
@@ -124,16 +124,16 @@ namespace PhysX
|
||||
|
||||
void EditorShapeColliderComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided)
|
||||
{
|
||||
provided.push_back(AZ_CRC("PhysicsWorldBodyService", 0x944da0cc));
|
||||
provided.push_back(AZ_CRC("PhysXColliderService", 0x4ff43f7c));
|
||||
provided.push_back(AZ_CRC("PhysXTriggerService", 0x3a117d7b));
|
||||
provided.push_back(AZ_CRC("PhysXShapeColliderService", 0x98a7e779));
|
||||
provided.push_back(AZ_CRC_CE("PhysicsWorldBodyService"));
|
||||
provided.push_back(AZ_CRC_CE("PhysXColliderService"));
|
||||
provided.push_back(AZ_CRC_CE("PhysXTriggerService"));
|
||||
provided.push_back(AZ_CRC_CE("PhysXShapeColliderService"));
|
||||
}
|
||||
|
||||
void EditorShapeColliderComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required)
|
||||
{
|
||||
required.push_back(AZ_CRC("TransformService", 0x8ee22c50));
|
||||
required.push_back(AZ_CRC("ShapeService", 0xe86aa5fe));
|
||||
required.push_back(AZ_CRC_CE("TransformService"));
|
||||
required.push_back(AZ_CRC_CE("ShapeService"));
|
||||
}
|
||||
|
||||
void EditorShapeColliderComponent::GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible)
|
||||
@@ -422,7 +422,6 @@ namespace PhysX
|
||||
|
||||
SetShapeConfig(ShapeType::QuadSingleSided, shapeConfig);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
// it's not possible to create a perfectly 2d convex in PhysX, so the best we can do is a very thin box
|
||||
|
||||
@@ -105,9 +105,9 @@ namespace PhysX
|
||||
void RefreshUiProperties();
|
||||
|
||||
AZ::u32 OnSubdivisionCountChange();
|
||||
AZ::Crc32 SubdivisionCountVisibility();
|
||||
AZ::Crc32 SubdivisionCountVisibility() const;
|
||||
void OnSingleSidedChange();
|
||||
AZ::Crc32 SingleSidedVisibility();
|
||||
AZ::Crc32 SingleSidedVisibility() const;
|
||||
|
||||
// AZ::Component
|
||||
void Activate() override;
|
||||
|
||||
@@ -470,7 +470,7 @@ namespace PhysXEditorTests
|
||||
|
||||
void SetTrigger(PhysX::EditorShapeColliderComponent* editorShapeColliderComponent, bool isTrigger)
|
||||
{
|
||||
SetBoolValueOnComponent(editorShapeColliderComponent, AZ_CRC("Trigger", 0x1a6b0f5d), isTrigger);
|
||||
SetBoolValueOnComponent(editorShapeColliderComponent, AZ_CRC_CE("Trigger"), isTrigger);
|
||||
}
|
||||
|
||||
bool GetBoolValueFromComponent(AZ::Component* component, AZ::Crc32 name)
|
||||
@@ -489,17 +489,17 @@ namespace PhysXEditorTests
|
||||
|
||||
bool IsTrigger(PhysX::EditorShapeColliderComponent* editorShapeColliderComponent)
|
||||
{
|
||||
return GetBoolValueFromComponent(editorShapeColliderComponent, AZ_CRC("Trigger"));
|
||||
return GetBoolValueFromComponent(editorShapeColliderComponent, AZ_CRC_CE("Trigger"));
|
||||
}
|
||||
|
||||
void SetSingleSided(PhysX::EditorShapeColliderComponent* editorShapeColliderComponent, bool singleSided)
|
||||
{
|
||||
SetBoolValueOnComponent(editorShapeColliderComponent, AZ_CRC("SingleSided"), singleSided);
|
||||
SetBoolValueOnComponent(editorShapeColliderComponent, AZ_CRC_CE("SingleSided"), singleSided);
|
||||
}
|
||||
|
||||
bool IsSingleSided(PhysX::EditorShapeColliderComponent* editorShapeColliderComponent)
|
||||
{
|
||||
return GetBoolValueFromComponent(editorShapeColliderComponent, AZ_CRC("SingleSided"));
|
||||
return GetBoolValueFromComponent(editorShapeColliderComponent, AZ_CRC_CE("SingleSided"));
|
||||
}
|
||||
|
||||
EntityPtr CreateRigidBox(const AZ::Vector3& boxDimensions, const AZ::Vector3& position)
|
||||
@@ -636,7 +636,6 @@ namespace PhysXEditorTests
|
||||
EXPECT_NEAR(aabb.GetMin().GetY(), -0.6f, 1e-3f);
|
||||
EXPECT_NEAR(aabb.GetMax().GetX(), 2.7f, 1e-3f);
|
||||
EXPECT_NEAR(aabb.GetMax().GetY(), 0.6f, 1e-3f);
|
||||
EXPECT_TRUE(true);
|
||||
}
|
||||
|
||||
TEST_P(PhysXEditorParamBoolFixture, EditorShapeColliderComponent_TriggerSettingIsRememberedWhenSwitchingToQuadAndBack)
|
||||
@@ -731,9 +730,12 @@ namespace PhysXEditorTests
|
||||
EntityPtr gameQuadEntity = CreateActiveGameEntityFromEditorEntity(editorQuadEntity.get());
|
||||
EntityPtr gameBoxEntity = CreateActiveGameEntityFromEditorEntity(editorBoxEntity.get());
|
||||
|
||||
// give the box enough upward velocity to rise above the level of the quad and simulate
|
||||
// give the box enough upward velocity to rise above the level of the quad
|
||||
// simulate for enough time that the box would have reached the top of its trajectory and fallen back past the starting point if
|
||||
// it hadn't collided with the top of the quad
|
||||
const int numTimesteps = 100;
|
||||
Physics::RigidBodyRequestBus::Event(gameBoxEntity->GetId(), &Physics::RigidBodyRequests::SetLinearVelocity, AZ::Vector3::CreateAxisZ(6.0f));
|
||||
PhysX::TestUtils::UpdateScene(m_defaultScene, AzPhysics::SystemConfiguration::DefaultFixedTimestep, 200);
|
||||
PhysX::TestUtils::UpdateScene(m_defaultScene, AzPhysics::SystemConfiguration::DefaultFixedTimestep, numTimesteps);
|
||||
|
||||
// the box should travel through the base of the quad because it has no collision from that direction
|
||||
// and land on the top surface of the quad, which does have collision
|
||||
|
||||
Reference in New Issue
Block a user