improve wording for all PhysX gem tooltips apart from pipeline, fixes 3898
Signed-off-by: greerdv <greerdv@amazon.com>
This commit is contained in:
@@ -148,16 +148,16 @@ namespace PhysX
|
||||
using VisibilityFunc = bool(*)();
|
||||
|
||||
editContext->Class<Collider>(
|
||||
"PhysX Collider Debug Draw", "Manages global and per-collider debug draw settings and logic")
|
||||
"PhysX Collider Debug Draw", "Global and per-collider debug draw preferences.")
|
||||
->DataElement(AZ::Edit::UIHandlers::CheckBox, &Collider::m_locallyEnabled, "Draw collider",
|
||||
"Shows the geometry for the collider in the viewport")
|
||||
"Display collider geometry in the viewport.")
|
||||
->Attribute(AZ::Edit::Attributes::CheckboxTooltip,
|
||||
"If set, the geometry of this collider is visible in the viewport. 'Draw Helpers' needs to be enabled to use.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility,
|
||||
VisibilityFunc{ []() { return IsGlobalColliderDebugCheck(GlobalCollisionDebugState::Manual); } })
|
||||
->Attribute(AZ::Edit::Attributes::ReadOnly, &IsDrawColliderReadOnly)
|
||||
->DataElement(AZ::Edit::UIHandlers::Button, &Collider::m_globalButtonState, "Draw collider",
|
||||
"Shows the geometry for the collider in the viewport")
|
||||
"Display collider geometry in the viewport.")
|
||||
->Attribute(AZ::Edit::Attributes::ButtonText, "Global override")
|
||||
->Attribute(AZ::Edit::Attributes::ButtonTooltip,
|
||||
"A global setting is overriding this property (to disable the override, "
|
||||
|
||||
@@ -51,23 +51,27 @@ namespace PhysX
|
||||
if (auto* editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<PhysX::EditorJointLimitConfig>(
|
||||
"Editor Joint Limit Config Base", "Base joint limit parameters")
|
||||
"Editor Joint Limit Config Base", "Base joint limit parameters.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
->DataElement(0, &PhysX::EditorJointLimitConfig::m_isLimited, "Limit", "True if the motion about the unconstrained axes of this joint are limited")
|
||||
->DataElement(0, &PhysX::EditorJointLimitConfig::m_isLimited, "Limit",
|
||||
"When active, the joint's degrees of freedom are limited.")
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree)
|
||||
->Attribute(AZ::Edit::Attributes::ReadOnly, &EditorJointLimitConfig::IsInComponentMode)
|
||||
->DataElement(0, &PhysX::EditorJointLimitConfig::m_isSoftLimit, "Soft limit", "True if the joint is allowed to rotate beyond limits and spring back")
|
||||
->DataElement(0, &PhysX::EditorJointLimitConfig::m_isSoftLimit, "Soft limit",
|
||||
"When active, motion beyond the joint limit with a spring-like return is allowed.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorJointLimitConfig::m_isLimited)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree)
|
||||
->Attribute(AZ::Edit::Attributes::ReadOnly, &EditorJointLimitConfig::IsInComponentMode)
|
||||
->DataElement(0, &PhysX::EditorJointLimitConfig::m_damping, "Damping", "The damping strength of the drive, the force proportional to the velocity error")
|
||||
->DataElement(0, &PhysX::EditorJointLimitConfig::m_damping, "Damping",
|
||||
"Dissipation of energy and reduction in spring oscillations when outside the joint limit.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorJointLimitConfig::IsSoftLimited)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_springMax)
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_springMin)
|
||||
->DataElement(0, &PhysX::EditorJointLimitConfig::m_stiffness, "Stiffness", "The spring strength of the drive, the force proportional to the position error")
|
||||
->DataElement(0, &PhysX::EditorJointLimitConfig::m_stiffness, "Stiffness",
|
||||
"The spring's drive relative to the position of the follower when outside the rotation limit.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorJointLimitConfig::IsSoftLimited)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_springMax)
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_springMin)
|
||||
@@ -115,18 +119,20 @@ namespace PhysX
|
||||
if (auto* editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<PhysX::EditorJointLimitPairConfig>(
|
||||
"Angular Limit", "Rotation limitation")
|
||||
"Angular Limit", "Rotation limitation.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(0, &PhysX::EditorJointLimitPairConfig::m_standardLimitConfig
|
||||
, "Standard limit configuration"
|
||||
, "Common limit parameters to all joint types")
|
||||
->DataElement(0, &PhysX::EditorJointLimitPairConfig::m_limitPositive, "Positive angular limit", "Positive rotation angle")
|
||||
, "Common limit parameters to all joint types.")
|
||||
->DataElement(0, &PhysX::EditorJointLimitPairConfig::m_limitPositive, "Positive angular limit",
|
||||
"Positive rotation angle.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorJointLimitPairConfig::IsLimited)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_angleMax)
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_angleMin)
|
||||
->DataElement(0, &PhysX::EditorJointLimitPairConfig::m_limitNegative, "Negative angular limit", "Negative rotation angle")
|
||||
->DataElement(0, &PhysX::EditorJointLimitPairConfig::m_limitNegative, "Negative angular limit",
|
||||
"Negative rotation angle.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorJointLimitPairConfig::IsLimited)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_angleMin)
|
||||
->Attribute(AZ::Edit::Attributes::Min, -s_angleMax)
|
||||
@@ -164,18 +170,20 @@ namespace PhysX
|
||||
if (auto* editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<PhysX::EditorJointLimitConeConfig>(
|
||||
"Angular Limit", "Rotation limitation")
|
||||
"Angular Limit", "Rotation limitation.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(0, &PhysX::EditorJointLimitConeConfig::m_standardLimitConfig
|
||||
, "Standard limit configuration"
|
||||
, "Common limit parameters to all joint types")
|
||||
->DataElement(0, &PhysX::EditorJointLimitConeConfig::m_limitY, "Y axis angular limit", "Limit for swing angle about Y axis")
|
||||
, "Common limit parameters to all joint types.")
|
||||
->DataElement(0, &PhysX::EditorJointLimitConeConfig::m_limitY, "Y axis angular limit",
|
||||
"Limit for swing angle about Y axis.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorJointLimitConeConfig::IsLimited)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_angleMax)
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_angleMin)
|
||||
->DataElement(0, &PhysX::EditorJointLimitConeConfig::m_limitZ, "Z axis angular limit", "Limit for swing angle about Z axis")
|
||||
->DataElement(0, &PhysX::EditorJointLimitConeConfig::m_limitZ, "Z axis angular limit",
|
||||
"Limit for swing angle about Z axis.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorJointLimitConeConfig::IsLimited)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_angleMax)
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_angleMin)
|
||||
@@ -226,33 +234,33 @@ namespace PhysX
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(0, &PhysX::EditorJointConfig::m_localPosition, "Local Position"
|
||||
, "Local Position of joint, relative to its entity")
|
||||
, "Local Position of joint, relative to its entity.")
|
||||
->DataElement(0, &PhysX::EditorJointConfig::m_localRotation, "Local Rotation"
|
||||
, "Local Rotation of joint, relative to its entity")
|
||||
, "Local Rotation of joint, relative to its entity.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, LocalRotationMin)
|
||||
->Attribute(AZ::Edit::Attributes::Max, LocalRotationMax)
|
||||
->DataElement(0, &PhysX::EditorJointConfig::m_leadEntity, "Lead Entity"
|
||||
, "Parent entity associated with joint")
|
||||
, "Parent entity associated with joint.")
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorJointConfig::ValidateLeadEntityId)
|
||||
->DataElement(0, &PhysX::EditorJointConfig::m_selfCollide, "Lead-Follower Collide"
|
||||
, "Lead and follower pair will collide with each other")
|
||||
, "When active, the lead and follower pair will collide with each other.")
|
||||
->DataElement(0, &PhysX::EditorJointConfig::m_displayJointSetup, "Display Setup in Viewport"
|
||||
, "Display joint setup in the viewport")
|
||||
, "Display joint setup in the viewport.")
|
||||
->Attribute(AZ::Edit::Attributes::ReadOnly, &EditorJointConfig::IsInComponentMode)
|
||||
->DataElement(0, &PhysX::EditorJointConfig::m_selectLeadOnSnap, "Select Lead on Snap"
|
||||
, "Select lead entity on snap to position in component mode")
|
||||
, "Select lead entity on snap to position in component mode.")
|
||||
->DataElement(0, &PhysX::EditorJointConfig::m_breakable
|
||||
, "Breakable"
|
||||
, "Joint is breakable when force or torque exceeds limit")
|
||||
, "Joint is breakable when force or torque exceeds limit.")
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree)
|
||||
->Attribute(AZ::Edit::Attributes::ReadOnly, &EditorJointConfig::IsInComponentMode)
|
||||
->DataElement(0, &PhysX::EditorJointConfig::m_forceMax,
|
||||
"Maximum Force", "Amount of force joint can withstand before breakage")
|
||||
"Maximum Force", "Amount of force joint can withstand before breakage.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorJointConfig::m_breakable)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_breakageMax)
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_breakageMin)
|
||||
->DataElement(0, &PhysX::EditorJointConfig::m_torqueMax,
|
||||
"Maximum Torque", "Amount of torque joint can withstand before breakage")
|
||||
"Maximum Torque", "Amount of torque joint can withstand before breakage.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorJointConfig::m_breakable)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_breakageMax)
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_breakageMin)
|
||||
|
||||
@@ -54,17 +54,17 @@ namespace PhysX
|
||||
|
||||
if (AZ::EditContext* editContext = serialize->GetEditContext())
|
||||
{
|
||||
editContext->Class<PhysX::WindConfiguration>("Wind Configuration", "Wind settings for PhysX")
|
||||
editContext->Class<PhysX::WindConfiguration>("Wind Configuration", "Wind force entity tags.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &WindConfiguration::m_globalWindTag,
|
||||
"Global wind tag",
|
||||
"Tag value that will be used to mark entities that provide global wind value.\n"
|
||||
"Global wind has no bounds and affects objects across entire level.")
|
||||
"Global wind provider tags.\n"
|
||||
"Global winds apply to entire world.")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &WindConfiguration::m_localWindTag,
|
||||
"Local wind tag",
|
||||
"Tag value that will be used to mark entities that provide local wind value.\n"
|
||||
"Local wind is only applied within bounds defined by PhysX collider.")
|
||||
"Local wind provider tags.\n"
|
||||
"Local winds are constrained to a PhysX collider's boundaries.")
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,38 +31,39 @@ namespace PhysX
|
||||
|
||||
if (AZ::EditContext* editContext = serialize->GetEditContext())
|
||||
{
|
||||
editContext->Class<PvdConfiguration>("PhysX PVD Settings", "PhysX PVD Settings")
|
||||
editContext->Class<PvdConfiguration>("PhysX PVD Settings",
|
||||
"Connection configuration settings for the PhysX Visual Debugger (PVD). Requires PhysX Debug Gem.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::ComboBox, &PvdConfiguration::m_transportType,
|
||||
"PVD Transport Type", "PVD supports writing to a TCP/IP network socket or to a file.")
|
||||
"PVD Transport Type", "Output PhysX Visual Debugger data to a TCP/IP network socket or to a file.")
|
||||
->EnumAttribute(Debug::PvdTransportType::Network, "Network")
|
||||
->EnumAttribute(Debug::PvdTransportType::File, "File")
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree)
|
||||
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &PvdConfiguration::m_host,
|
||||
"PVD Host", "Host IP address of the PhysX Visual Debugger application")
|
||||
"PVD Host", "Host IP address of the PhysX Visual Debugger server.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &PvdConfiguration::IsNetworkDebug)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &PvdConfiguration::m_port,
|
||||
"PVD Port", "Port of the PhysX Visual Debugger application")
|
||||
"PVD Port", "Port of the PhysX Visual Debugger server.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &PvdConfiguration::IsNetworkDebug)
|
||||
->Attribute(AZ::Edit::Attributes::Min, AZStd::numeric_limits<uint16_t>::min())
|
||||
->Attribute(AZ::Edit::Attributes::Max, AZStd::numeric_limits<uint16_t>::max())
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &PvdConfiguration::m_timeoutInMilliseconds,
|
||||
"PVD Timeout", "Timeout (in milliseconds) used when connecting to the PhysX Visual Debugger application")
|
||||
"PVD Timeout", "Timeout (in milliseconds) when connecting to the PhysX Visual Debugger server.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &PvdConfiguration::IsNetworkDebug)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &PvdConfiguration::m_fileName,
|
||||
"PVD FileName", "Filename to output PhysX Visual Debugger data.")
|
||||
"PVD FileName", "Output filename for PhysX Visual Debugger data.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &PvdConfiguration::IsFileDebug)
|
||||
|
||||
->DataElement(AZ::Edit::UIHandlers::ComboBox, &PvdConfiguration::m_autoConnectMode,
|
||||
"PVD Auto Connect", "Automatically connect to the PhysX Visual Debugger "
|
||||
"(Requires PhysX Debug gem for Editor and Game modes).")
|
||||
"PVD Auto Connect", "Automatically connect to the PhysX Visual Debugger.")
|
||||
->EnumAttribute(Debug::PvdAutoConnectMode::Disabled, "Disabled")
|
||||
->EnumAttribute(Debug::PvdAutoConnectMode::Editor, "Editor")
|
||||
->EnumAttribute(Debug::PvdAutoConnectMode::Game, "Game")
|
||||
|
||||
->DataElement(AZ::Edit::UIHandlers::CheckBox, &PvdConfiguration::m_reconnect,
|
||||
"PVD Reconnect", "Reconnect (Disconnect and Connect) when switching between game and edit mode "
|
||||
"(Requires PhysX Debug gem).")
|
||||
->DataElement(AZ::Edit::UIHandlers::CheckBox, &PvdConfiguration::m_reconnect, "PVD Reconnect",
|
||||
"Reconnect (disconnect and connect) to the PhysX Visual Debugger server when switching between game and edit mode.")
|
||||
;
|
||||
}
|
||||
}
|
||||
@@ -131,7 +132,7 @@ namespace PhysX
|
||||
|
||||
if (AZ::EditContext* editContext = serialize->GetEditContext())
|
||||
{
|
||||
editContext->Class<DebugDisplayData>("Editor Configuration", "Editor settings for PhysX")
|
||||
editContext->Class<DebugDisplayData>("Editor Configuration", "Editor settings for PhysX.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Slider, &DebugDisplayData::m_centerOfMassDebugSize,
|
||||
|
||||
@@ -33,14 +33,14 @@ namespace PhysX
|
||||
if (auto* editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<EditorBallJointComponent>(
|
||||
"PhysX Ball Joint", "The ball joint supports a cone limiting the maximum rotation around the y and z axes.")
|
||||
"PhysX Ball Joint", "A dynamic joint constraint with swing rotation limits around the Y and Z axes of the joint.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c))
|
||||
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://o3de.org/docs/user-guide/components/reference/physx/ball-joint/")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(0, &EditorBallJointComponent::m_swingLimit, "Swing Limit", "Limitations for the swing (Y and Z axis) about joint")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorBallJointComponent::m_componentModeDelegate, "Component Mode", "Ball Joint Component Mode")
|
||||
->DataElement(0, &EditorBallJointComponent::m_swingLimit, "Swing Limit", "The rotation angle limit around the joint's Y and Z axes.")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorBallJointComponent::m_componentModeDelegate, "Component Mode", "Ball Joint Component Mode.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
;
|
||||
}
|
||||
|
||||
@@ -53,13 +53,15 @@ namespace PhysX
|
||||
|
||||
if (auto editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<EditorProxyAssetShapeConfig>("EditorProxyShapeConfig", "PhysX Base shape collider")
|
||||
editContext->Class<EditorProxyAssetShapeConfig>("EditorProxyShapeConfig", "PhysX Base collider.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyAssetShapeConfig::m_pxAsset, "PhysX Mesh", "PhysX mesh collider asset")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyAssetShapeConfig::m_pxAsset, "PhysX Mesh",
|
||||
"Specifies the PhysX mesh collider asset for this PhysX collider component.")
|
||||
->Attribute(AZ_CRC_CE("EditButton"), "")
|
||||
->Attribute(AZ_CRC_CE("EditDescription"), "Open in Scene Settings")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyAssetShapeConfig::m_configuration, "Configuration", "Configuration of asset shape")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyAssetShapeConfig::m_configuration, "Configuration",
|
||||
"PhysX mesh asset collider configuration.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly);
|
||||
}
|
||||
}
|
||||
@@ -86,7 +88,7 @@ namespace PhysX
|
||||
{
|
||||
editContext->Class<EditorProxyShapeConfig>(
|
||||
"EditorProxyShapeConfig", "PhysX Base shape collider")
|
||||
->DataElement(AZ::Edit::UIHandlers::ComboBox, &EditorProxyShapeConfig::m_shapeType, "Shape", "The shape of the collider")
|
||||
->DataElement(AZ::Edit::UIHandlers::ComboBox, &EditorProxyShapeConfig::m_shapeType, "Shape", "The shape of the collider.")
|
||||
->EnumAttribute(Physics::ShapeType::Sphere, "Sphere")
|
||||
->EnumAttribute(Physics::ShapeType::Box, "Box")
|
||||
->EnumAttribute(Physics::ShapeType::Capsule, "Capsule")
|
||||
@@ -96,20 +98,20 @@ namespace PhysX
|
||||
// potentially be different ComponentModes for different shape types)
|
||||
->Attribute(AZ::Edit::Attributes::ReadOnly, &AzToolsFramework::ComponentModeFramework::InComponentMode)
|
||||
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_sphere, "Sphere", "Configuration of sphere shape")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_sphere, "Sphere", "Configuration of sphere shape.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::IsSphereConfig)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_box, "Box", "Configuration of box shape")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_box, "Box", "Configuration of box shape.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::IsBoxConfig)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_capsule, "Capsule", "Configuration of capsule shape")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_capsule, "Capsule", "Configuration of capsule shape.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::IsCapsuleConfig)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_physicsAsset, "Asset", "Configuration of asset shape")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_physicsAsset, "Asset", "Configuration of asset shape.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::IsAssetConfig)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorProxyShapeConfig::OnConfigurationChanged)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyShapeConfig::m_subdivisionLevel, "Subdivision level",
|
||||
"The level of subdivision if a primitive shape is replaced with a convex mesh due to scaling")
|
||||
"The level of subdivision if a primitive shape is replaced with a convex mesh due to scaling.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, Utils::MinCapsuleSubdivisionLevel)
|
||||
->Attribute(AZ::Edit::Attributes::Max, Utils::MaxCapsuleSubdivisionLevel)
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorProxyShapeConfig::ShowingSubdivisionLevel)
|
||||
@@ -200,7 +202,7 @@ namespace PhysX
|
||||
if (auto editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<EditorColliderComponent>(
|
||||
"PhysX Collider", "PhysX shape collider")
|
||||
"PhysX Collider", "Creates geometry in the PhysX simulation, using either a primitive shape or geometry from an asset.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/PhysXCollider.svg")
|
||||
@@ -208,17 +210,17 @@ namespace PhysX
|
||||
->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c))
|
||||
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://o3de.org/docs/user-guide/components/reference/physx/collider/")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorColliderComponent::m_configuration, "Collider Configuration", "Configuration of the collider")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorColliderComponent::m_configuration, "Collider Configuration", "Configuration of the collider.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorColliderComponent::OnConfigurationChanged)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorColliderComponent::m_shapeConfiguration, "Shape Configuration", "Configuration of the shape")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorColliderComponent::m_shapeConfiguration, "Shape Configuration", "Configuration of the shape.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorColliderComponent::OnConfigurationChanged)
|
||||
->Attribute(AZ::Edit::Attributes::RemoveNotify, &EditorColliderComponent::ValidateRigidBodyMeshGeometryType)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorColliderComponent::m_componentModeDelegate, "Component Mode", "Collider Component Mode")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorColliderComponent::m_componentModeDelegate, "Component Mode", "Collider Component Mode.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorColliderComponent::m_colliderDebugDraw,
|
||||
"Debug draw settings", "Debug draw settings")
|
||||
"Debug draw settings", "Debug draw settings.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
;
|
||||
}
|
||||
|
||||
@@ -30,13 +30,14 @@ namespace PhysX
|
||||
if (auto* editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<EditorFixedJointComponent>(
|
||||
"PhysX Fixed Joint", "The fixed joint constraints the position and orientation of a body to another.")
|
||||
"PhysX Fixed Joint",
|
||||
"A dynamic joint constraint that constrains a rigid body to the joint with no free translation or rotation on any axis.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c))
|
||||
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://o3de.org/docs/user-guide/components/reference/physx/fixed-joint/")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorFixedJointComponent::m_componentModeDelegate, "Component Mode", "Fixed Joint Component Mode")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorFixedJointComponent::m_componentModeDelegate, "Component Mode", "Fixed Joint Component Mode.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
;
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ namespace PhysX
|
||||
{
|
||||
// EditorForceRegionComponent
|
||||
editContext->Class<EditorForceRegionComponent>(
|
||||
"PhysX Force Region", "The force region component is used to apply a physical force on objects within the region")
|
||||
"PhysX Force Region", "The force region component is used to apply a physical force on objects within the region.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/ForceVolume.svg")
|
||||
@@ -173,9 +173,10 @@ namespace PhysX
|
||||
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://o3de.org/docs/user-guide/components/reference/physx/force-region/")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->Attribute(AZ::Edit::Attributes::RequiredService, AZ_CRC("PhysXTriggerService", 0x3a117d7b))
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorForceRegionComponent::m_visibleInEditor, "Visible", "Always show the component in viewport")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorForceRegionComponent::m_debugForces, "Debug Forces", "Draws debug arrows when an entity enters a force region. This occurs in gameplay mode to show the force direction on an entity.")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorForceRegionComponent::m_forces, "Forces", "Forces in force region")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorForceRegionComponent::m_visibleInEditor, "Visible", "Always show the component in viewport.")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorForceRegionComponent::m_debugForces, "Debug Forces",
|
||||
"Draws debug arrows when an entity enters a force region. This occurs in gameplay mode to show the force direction on an entity.")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorForceRegionComponent::m_forces, "Forces", "Forces in force region.")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorForceRegionComponent::OnForcesChanged)
|
||||
;
|
||||
|
||||
@@ -33,14 +33,14 @@ namespace PhysX
|
||||
if (auto* editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<EditorHingeJointComponent>(
|
||||
"PhysX Hinge Joint", "The entity constrains two actors in PhysX, keeping the origins and x-axes together, and allows free rotation around this common axis")
|
||||
"PhysX Hinge Joint", "A dynamic joint that constrains a rigid body with rotation limits around a single axis.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c))
|
||||
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://o3de.org/docs/user-guide/components/reference/physx/hinge-joint/")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(0, &EditorHingeJointComponent::m_angularLimit, "Angular Limit", "Limitations for the rotation about hinge axis")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorHingeJointComponent::m_componentModeDelegate, "Component Mode", "Hinge Joint Component Mode")
|
||||
->DataElement(0, &EditorHingeJointComponent::m_angularLimit, "Angular Limit", "The rotation angle limit around the joint's axis.")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorHingeJointComponent::m_componentModeDelegate, "Component Mode", "Hinge Joint Component Mode.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
;
|
||||
}
|
||||
|
||||
@@ -37,11 +37,11 @@ namespace PhysX
|
||||
if (auto* editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<EditorJointComponent>(
|
||||
"PhysX Joint", "The joint constrains the position and orientation of a body to another.")
|
||||
"PhysX Joint", "A dynamic joint that constrains the position and orientation of one rigid body to another.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(0, &EditorJointComponent::m_config, "Standard Joint Parameters", "Joint parameters shared by all joint types")
|
||||
->DataElement(0, &EditorJointComponent::m_config, "Standard Joint Parameters", "Joint parameters shared by all joint types.")
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,38 +122,38 @@ namespace PhysX
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_initialLinearVelocity,
|
||||
"Initial linear velocity", "Initial linear velocity")
|
||||
"Initial linear velocity", "Linear velocity applied when the rigid body is activated.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetInitialVelocitiesVisibility)
|
||||
->Attribute(AZ::Edit::Attributes::Suffix, " " + Physics::NameConstants::GetSpeedUnit())
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_initialAngularVelocity,
|
||||
"Initial angular velocity", "Initial angular velocity (limited by maximum angular velocity)")
|
||||
"Initial angular velocity", "Angular velocity applied when the rigid body is activated (limited by maximum angular velocity).")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetInitialVelocitiesVisibility)
|
||||
->Attribute(AZ::Edit::Attributes::Suffix, " " + Physics::NameConstants::GetAngularVelocityUnit())
|
||||
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_linearDamping,
|
||||
"Linear damping", "Linear damping (must be non-negative)")
|
||||
"Linear damping", "The rate of decay over time for linear velocity even if no forces are acting on the rigid body.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetDampingVisibility)
|
||||
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_angularDamping,
|
||||
"Angular damping", "Angular damping (must be non-negative)")
|
||||
"Angular damping", "The rate of decay over time for angular velocity even if no forces are acting on the rigid body.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetDampingVisibility)
|
||||
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_sleepMinEnergy,
|
||||
"Sleep threshold", "Kinetic energy per unit mass below which body can go to sleep (must be non-negative)")
|
||||
"Sleep threshold", "The rigid body can go to sleep (settle) when kinetic energy per unit mass is persistently below this value.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetSleepOptionsVisibility)
|
||||
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
|
||||
->Attribute(AZ::Edit::Attributes::Suffix, " " + Physics::NameConstants::GetSleepThresholdUnit())
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_startAsleep,
|
||||
"Start asleep", "The rigid body will be asleep when spawned")
|
||||
"Start asleep", "When active, the rigid body will be asleep when spawned, and wake when the body is disturbed.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetSleepOptionsVisibility)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_interpolateMotion,
|
||||
"Interpolate motion", "Makes object motion look smoother")
|
||||
"Interpolate motion", "When active, simulation results are interpolated resulting in smoother motion.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetInterpolationVisibility)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_gravityEnabled,
|
||||
"Gravity enabled", "Rigid body will be affected by gravity")
|
||||
"Gravity enabled", "When active, global gravity affects this rigid body.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetGravityVisibility)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_kinematic,
|
||||
"Kinematic", "Rigid body is kinematic")
|
||||
"Kinematic", "When active, the rigid body is not affected by gravity or other forces and is moved by script.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetKinematicVisibility)
|
||||
|
||||
// Linear axis locking properties
|
||||
@@ -161,85 +161,90 @@ namespace PhysX
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, false)
|
||||
->DataElement(
|
||||
AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_lockLinearX, "Lock X",
|
||||
"Lock motion along X direction")
|
||||
"When active, forces won't create translation on the X axis of the rigid body.")
|
||||
->DataElement(
|
||||
AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_lockLinearY, "Lock Y",
|
||||
"Lock motion along Y direction")
|
||||
"When active, forces won't create translation on the Y axis of the rigid body.")
|
||||
->DataElement(
|
||||
AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_lockLinearZ, "Lock Z",
|
||||
"Lock motion along Z direction")
|
||||
"When active, forces won't create translation on the Z axis of the rigid body.")
|
||||
|
||||
// Angular axis locking properties
|
||||
->ClassElement(AZ::Edit::ClassElements::Group, "Angular Axis Locking")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, false)
|
||||
->DataElement(
|
||||
AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_lockAngularX, "Lock X",
|
||||
"Lock rotation around X direction")
|
||||
"When active, forces won't create rotation on the X axis of the rigid body.")
|
||||
->DataElement(
|
||||
AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_lockAngularY, "Lock Y",
|
||||
"Lock rotation around Y direction")
|
||||
"When active, forces won't create rotation on the Y axis of the rigid body.")
|
||||
->DataElement(
|
||||
AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_lockAngularZ, "Lock Z",
|
||||
"Lock rotation around Z direction")
|
||||
"When active, forces won't create rotation on the Z axis of the rigid body.")
|
||||
|
||||
->ClassElement(AZ::Edit::ClassElements::Group, "Continuous Collision Detection")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetCCDVisibility)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_ccdEnabled,
|
||||
"CCD enabled", "Whether continuous collision detection is enabled for this body")
|
||||
"CCD enabled", "When active, the rigid body has continuous collision detection (CCD). Use this to ensure accurate "
|
||||
"collision detection, particularly for fast moving rigid bodies. CCD must be activated in the global PhysX preferences.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetCCDVisibility)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_ccdMinAdvanceCoefficient,
|
||||
"Min advance coefficient", "Lower values reduce clipping but can affect simulation smoothness")
|
||||
"Min advance coefficient", "Lower values reduce clipping but can affect simulation smoothness.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, 0.01f)
|
||||
->Attribute(AZ::Edit::Attributes::Step, 0.01f)
|
||||
->Attribute(AZ::Edit::Attributes::Max, 0.99f)
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::IsCCDEnabled)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_ccdFrictionEnabled,
|
||||
"CCD friction", "Whether friction is applied when CCD collisions are resolved")
|
||||
"CCD friction", "When active, friction is applied when continuous collision detection (CCD) collisions are resolved.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::IsCCDEnabled)
|
||||
->ClassElement(AZ::Edit::ClassElements::Group, "") // end previous group by starting new unnamed expanded group
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_maxAngularVelocity,
|
||||
"Maximum angular velocity", "The PhysX solver will clamp angular velocities with magnitude exceeding this value")
|
||||
"Maximum angular velocity", "Clamp angular velocities to this maximum value. "
|
||||
"This prevents rigid bodies from rotating at unrealistic velocities after collisions.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetMaxVelocitiesVisibility)
|
||||
->Attribute(AZ::Edit::Attributes::Suffix, " " + Physics::NameConstants::GetAngularVelocityUnit())
|
||||
|
||||
// Mass properties
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &RigidBodyConfiguration::m_computeCenterOfMass,
|
||||
"Compute COM", "Whether to automatically compute the center of mass")
|
||||
"Compute COM", "Compute the center of mass (COM) for this rigid body.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetInertiaSettingsVisibility)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree)
|
||||
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &RigidBodyConfiguration::m_centerOfMassOffset,
|
||||
"COM offset", "Center of mass offset in local frame")
|
||||
"COM offset", "Local space offset for the center of mass (COM).")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetCoMVisibility)
|
||||
->Attribute(AZ::Edit::Attributes::Suffix, " " + Physics::NameConstants::GetLengthUnit())
|
||||
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &RigidBodyConfiguration::m_computeMass,
|
||||
"Compute Mass", "Whether to automatically compute the mass")
|
||||
"Compute Mass", "When active, the mass of the rigid body is computed based on the volume and density values of its colliders.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetInertiaSettingsVisibility)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree)
|
||||
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &AzPhysics::RigidBodyConfiguration::m_mass,
|
||||
"Mass", "The mass of the object (must be non-negative, with a value of zero treated as infinite)")
|
||||
"Mass", "The mass of the rigid body in kilograms. A value of 0 is treated as infinite. "
|
||||
"The trajectory of infinite mass bodies cannot be affected by any collisions or forces other than gravity.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
|
||||
->Attribute(AZ::Edit::Attributes::Suffix, " " + Physics::NameConstants::GetMassUnit())
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetMassVisibility)
|
||||
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &RigidBodyConfiguration::m_computeInertiaTensor,
|
||||
"Compute inertia", "Whether to automatically compute the inertia values based on the mass and shape of the rigid body")
|
||||
"Compute inertia", "When active, inertia is computed based on the mass and shape of the rigid body.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetInertiaSettingsVisibility)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree)
|
||||
|
||||
->DataElement(Editor::InertiaHandler, &AzPhysics::RigidBodyConfiguration::m_inertiaTensor,
|
||||
"Inertia diagonal", "Diagonal elements of the inertia tensor")
|
||||
"Inertia diagonal", "Inertia diagonal elements that specify an inertia tensor; determines the "
|
||||
"torque required to rotate the rigid body on each axis.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetInertiaVisibility)
|
||||
->Attribute(AZ::Edit::Attributes::Suffix, " " + Physics::NameConstants::GetInertiaUnit())
|
||||
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &RigidBodyConfiguration::m_includeAllShapesInMassCalculation,
|
||||
"Include non-simulated shapes in Mass", "If set, non-simulated shapes will also be included in the center of mass, inertia and mass calculations.")
|
||||
"Include non-simulated shapes in Mass",
|
||||
"When active, non-simulated shapes are included in the center of mass, inertia, and mass calculations.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &AzPhysics::RigidBodyConfiguration::GetInertiaSettingsVisibility)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree)
|
||||
;
|
||||
@@ -250,7 +255,7 @@ namespace PhysX
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorRigidBodyConfiguration::m_centerOfMassDebugDraw,
|
||||
"Debug draw COM", "Whether to debug draw the center of mass for this body")
|
||||
"Debug draw COM", "Display the rigid body's center of mass (COM) in the viewport.")
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ namespace PhysX
|
||||
if (auto editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<EditorShapeColliderComponent>(
|
||||
"PhysX Shape Collider", "Creates geometry in the PhysX simulation based on an attached shape component")
|
||||
"PhysX Shape Collider", "Create a PhysX collider using a shape provided by a Shape component.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/PhysXCollider.svg")
|
||||
@@ -88,13 +88,14 @@ namespace PhysX
|
||||
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://o3de.org/docs/user-guide/components/reference/physx/shape-collider/")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorShapeColliderComponent::m_colliderConfig,
|
||||
"Collider configuration", "Configuration of the collider")
|
||||
"Collider configuration", "Configuration of the collider.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorShapeColliderComponent::OnConfigurationChanged)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorShapeColliderComponent::m_colliderDebugDraw,
|
||||
"Debug draw settings", "Debug draw settings")
|
||||
"Debug draw settings", "Debug draw settings.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorShapeColliderComponent::m_subdivisionCount, "Subdivision count", "Number of angular subdivisions in the PhysX cylinder")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorShapeColliderComponent::m_subdivisionCount, "Subdivision count",
|
||||
"Number of angular subdivisions in the PhysX cylinder.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, Utils::MinFrustumSubdivisions)
|
||||
->Attribute(AZ::Edit::Attributes::Max, Utils::MaxFrustumSubdivisions)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorShapeColliderComponent::OnSubdivisionCountChange)
|
||||
|
||||
@@ -62,10 +62,10 @@ namespace PhysX
|
||||
if (auto editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<ForceRegion>(
|
||||
"Force Region", "Applies forces on entities within a region")
|
||||
"Force Region", "Applies forces on entities within a region.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceRegion::m_forces, "Forces", "Forces acting in the region")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceRegion::m_forces, "Forces", "Forces acting in the region.")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
;
|
||||
}
|
||||
|
||||
@@ -37,13 +37,13 @@ namespace PhysX
|
||||
if (auto editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<ForceWorldSpace>(
|
||||
"World Space Force", "Applies a force in world space")
|
||||
"World Space Force", "Applies a force in world space.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Vector3, &ForceWorldSpace::m_direction, "Direction", "Direction of the force in world space")
|
||||
->DataElement(AZ::Edit::UIHandlers::Vector3, &ForceWorldSpace::m_direction, "Direction", "Direction of the force in world space.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_forceRegionMinValue)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_forceRegionMaxValue)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceWorldSpace::m_magnitude, "Magnitude", "Magnitude of the force in world space")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceWorldSpace::m_magnitude, "Magnitude", "Magnitude of the force in world space.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_forceRegionMinValue)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_forceRegionMaxValue)
|
||||
;
|
||||
@@ -109,13 +109,13 @@ namespace PhysX
|
||||
if (auto editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<ForceLocalSpace>(
|
||||
"Local Space Force", "Applies a force in the volume's local space")
|
||||
"Local Space Force", "Applies a force in the volume's local space.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Vector3, &ForceLocalSpace::m_direction, "Direction", "Direction of the force in local space")
|
||||
->DataElement(AZ::Edit::UIHandlers::Vector3, &ForceLocalSpace::m_direction, "Direction", "Direction of the force in local space.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_forceRegionMinValue)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_forceRegionMaxValue)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceLocalSpace::m_magnitude, "Magnitude", "Magnitude of the force in local space")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceLocalSpace::m_magnitude, "Magnitude", "Magnitude of the force in local space.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_forceRegionMinValue)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_forceRegionMaxValue)
|
||||
;
|
||||
@@ -179,10 +179,10 @@ namespace PhysX
|
||||
if (auto editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<ForcePoint>(
|
||||
"Point Force", "Applies a force relative to the center of the volume")
|
||||
"Point Force", "Applies a force directed towards or away from the center of the volume.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForcePoint::m_magnitude, "Magnitude", "Magnitude of the point force")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForcePoint::m_magnitude, "Magnitude", "Magnitude of the point force.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_forceRegionMinValue)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_forceRegionMaxValue)
|
||||
;
|
||||
@@ -242,19 +242,24 @@ namespace PhysX
|
||||
if (auto editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<ForceSplineFollow>(
|
||||
"Spline Follow Force", "Applies a force to make objects follow a spline at a given speed")
|
||||
"Spline Follow Force", "Applies a force to make objects follow a spline at a given speed.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceSplineFollow::m_dampingRatio, "Damping Ratio", "Amount of damping applied to an entity that is moving towards a spline")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceSplineFollow::m_dampingRatio, "Damping Ratio",
|
||||
"Values below 1 cause the entity to approach the spline faster but lead to overshooting and oscillation, "
|
||||
"while higher values will cause it to approach more slowly but more smoothly.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_forceRegionZeroValue)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_forceRegionMaxDampingRatio)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceSplineFollow::m_frequency, "Frequency", "Frequency at which an entity moves towards a spline")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceSplineFollow::m_frequency, "Frequency",
|
||||
"Affects how quickly the entity approaches the spline.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_forceRegionMinFrequency)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_forceRegionMaxFrequency)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceSplineFollow::m_targetSpeed, "Target Speed", "Speed at which entities in the force region move along a spline")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceSplineFollow::m_targetSpeed, "Target Speed",
|
||||
"Speed at which entities in the force region move along a spline.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_forceRegionMinValue)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_forceRegionMaxValue)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceSplineFollow::m_lookAhead, "Lookahead", "Distance at which entities look ahead in their path to reach a point on a spline")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceSplineFollow::m_lookAhead, "Lookahead",
|
||||
"Distance at which entities look ahead in their path to reach a point on a spline.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_forceRegionZeroValue)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_forceRegionMaxValue)
|
||||
;
|
||||
@@ -393,10 +398,10 @@ namespace PhysX
|
||||
if (auto editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<ForceSimpleDrag>(
|
||||
"Simple Drag Force", "Simulates a drag force on entities")
|
||||
"Simple Drag Force", "Simulates a drag force on entities.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceSimpleDrag::m_volumeDensity, "Region Density", "Density of the region")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceSimpleDrag::m_volumeDensity, "Region Density", "Density of the region.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_forceRegionZeroValue)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_forceRegionMaxDensity)
|
||||
;
|
||||
@@ -463,10 +468,10 @@ namespace PhysX
|
||||
if (auto editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<ForceLinearDamping>(
|
||||
"Linear Damping Force", "Applies an opposite force to the entity's velocity")
|
||||
"Linear Damping Force", "Applies an opposite force to the entity's velocity.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceLinearDamping::m_damping, "Damping", "Amount of damping applied to an opposite force")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &ForceLinearDamping::m_damping, "Damping", "Amount of damping applied to an opposite force.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, s_forceRegionZeroValue)
|
||||
->Attribute(AZ::Edit::Attributes::Max, s_forceRegionMaxDamping)
|
||||
;
|
||||
|
||||
@@ -59,22 +59,22 @@ namespace PhysX
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &D6JointLimitConfiguration::m_swingLimitY, "Swing limit Y",
|
||||
"Maximum angle from the Y axis of the joint frame")
|
||||
"The rotation angle limit around the joint's Y axis.")
|
||||
->Attribute(AZ::Edit::Attributes::Suffix, " degrees")
|
||||
->Attribute(AZ::Edit::Attributes::Min, JointConstants::MinSwingLimitDegrees)
|
||||
->Attribute(AZ::Edit::Attributes::Max, 180.0f)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &D6JointLimitConfiguration::m_swingLimitZ, "Swing limit Z",
|
||||
"Maximum angle from the Z axis of the joint frame")
|
||||
"The rotation angle limit around the joint's Z axis.")
|
||||
->Attribute(AZ::Edit::Attributes::Suffix, " degrees")
|
||||
->Attribute(AZ::Edit::Attributes::Min, JointConstants::MinSwingLimitDegrees)
|
||||
->Attribute(AZ::Edit::Attributes::Max, 180.0f)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &D6JointLimitConfiguration::m_twistLimitLower, "Twist lower limit",
|
||||
"Lower limit for rotation about the X axis of the joint frame")
|
||||
"The lower rotation angle limit around the joint's X axis.")
|
||||
->Attribute(AZ::Edit::Attributes::Suffix, " degrees")
|
||||
->Attribute(AZ::Edit::Attributes::Min, -180.0f)
|
||||
->Attribute(AZ::Edit::Attributes::Max, 180.0f)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &D6JointLimitConfiguration::m_twistLimitUpper, "Twist upper limit",
|
||||
"Upper limit for rotation about the X axis of the joint frame")
|
||||
"The upper rotation angle limit around the joint's X axis.")
|
||||
->Attribute(AZ::Edit::Attributes::Suffix, " degrees")
|
||||
->Attribute(AZ::Edit::Attributes::Min, -180.0f)
|
||||
->Attribute(AZ::Edit::Attributes::Max, 180.0f)
|
||||
|
||||
@@ -42,16 +42,16 @@ namespace PhysX
|
||||
"PhysX Character Controller Configuration", "PhysX Character Controller Configuration")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->DataElement(AZ::Edit::UIHandlers::ComboBox, &CharacterControllerConfiguration::m_slopeBehaviour,
|
||||
"Slope Behaviour", "Behaviour of the controller on surfaces above the maximum slope")
|
||||
"Slope Behavior", "Behavior of the controller on surfaces that exceed the Maximum Slope Angle.")
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree)
|
||||
->EnumAttribute(SlopeBehaviour::PreventClimbing, "Prevent Climbing")
|
||||
->EnumAttribute(SlopeBehaviour::ForceSliding, "Force Sliding")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &CharacterControllerConfiguration::m_contactOffset,
|
||||
"Contact Offset", "Extra distance outside the controller used for smoother contact resolution")
|
||||
"Contact Offset", "Distance from the controller boundary where contact with surfaces can be resolved.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, 0.01f)
|
||||
->Attribute(AZ::Edit::Attributes::Step, 0.01f)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &CharacterControllerConfiguration::m_scaleCoefficient,
|
||||
"Scale", "Scalar coefficient used to scale the controller, usually slightly smaller than 1")
|
||||
"Scale", "Scales the controller. Usually less than 1.0 to ensure visual contact between the character and surface.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, 0.01f)
|
||||
->Attribute(AZ::Edit::Attributes::Step, 0.01f)
|
||||
;
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace PhysX
|
||||
"PhysX Character Gameplay Configuration", "PhysX Character Gameplay Configuration")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &CharacterGameplayConfiguration::m_gravityMultiplier,
|
||||
"Gravity Multiplier", "Multiplier to be combined with the world gravity value for applying character gravity")
|
||||
"Gravity Multiplier", "Multiplier for global gravity value that applies only to this character entity.")
|
||||
->Attribute(AZ::Edit::Attributes::Step, 0.1f)
|
||||
;
|
||||
}
|
||||
|
||||
+8
-7
@@ -36,18 +36,18 @@ namespace PhysX
|
||||
if (auto editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<EditorCharacterControllerProxyShapeConfig>(
|
||||
"EditorCharacterControllerProxyShapeConfig", "PhysX character controller shape")
|
||||
"EditorCharacterControllerProxyShapeConfig", "PhysX character controller shape.")
|
||||
->DataElement(AZ::Edit::UIHandlers::ComboBox, &EditorCharacterControllerProxyShapeConfig::m_shapeType, "Shape",
|
||||
"The shape associated with the character controller")
|
||||
"The shape of the character controller.")
|
||||
->EnumAttribute(Physics::ShapeType::Capsule, "Capsule")
|
||||
->EnumAttribute(Physics::ShapeType::Box, "Box")
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree)
|
||||
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorCharacterControllerProxyShapeConfig::m_box, "Box",
|
||||
"Configuration of box shape")
|
||||
"Configuration of box shape.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorCharacterControllerProxyShapeConfig::IsBoxConfig)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorCharacterControllerProxyShapeConfig::m_capsule, "Capsule",
|
||||
"Configuration of capsule shape")
|
||||
"Configuration of capsule shape.")
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &EditorCharacterControllerProxyShapeConfig::IsCapsuleConfig)
|
||||
;
|
||||
}
|
||||
@@ -93,7 +93,8 @@ namespace PhysX
|
||||
if (auto editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<EditorCharacterControllerComponent>(
|
||||
"PhysX Character Controller", "PhysX Character Controller")
|
||||
"PhysX Character Controller",
|
||||
"Provides basic character interactions with the physical world, such as preventing movement through other PhysX bodies.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/PhysXCharacter.svg")
|
||||
@@ -101,12 +102,12 @@ namespace PhysX
|
||||
->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c))
|
||||
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://o3de.org/docs/user-guide/components/reference/physx/character-controller/")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorCharacterControllerComponent::m_configuration,
|
||||
"Configuration", "Configuration for the character controller")
|
||||
"Configuration", "Configuration for the character controller.")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorCharacterControllerComponent::OnControllerConfigChanged)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorCharacterControllerComponent::m_proxyShapeConfiguration,
|
||||
"Shape Configuration", "The configuration for the shape associated with the character controller")
|
||||
"Shape Configuration", "The configuration for the shape associated with the character controller.")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorCharacterControllerComponent::OnShapeConfigChanged)
|
||||
|
||||
+2
-2
@@ -43,7 +43,7 @@ namespace PhysX
|
||||
if (auto editContext = serializeContext->GetEditContext())
|
||||
{
|
||||
editContext->Class<EditorCharacterGameplayComponent>(
|
||||
"PhysX Character Gameplay", "PhysX Character Gameplay")
|
||||
"PhysX Character Gameplay", "An example implementation of character physics behavior such as gravity.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/PhysXCharacter.svg")
|
||||
@@ -51,7 +51,7 @@ namespace PhysX
|
||||
->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c))
|
||||
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://o3de.org/docs/user-guide/components/reference/physx/character-gameplay/")
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &EditorCharacterGameplayComponent::m_gameplayConfig,
|
||||
"Gameplay Configuration", "Gameplay Configuration")
|
||||
"Gameplay Configuration", "Gameplay Configuration.")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
;
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ namespace PhysX
|
||||
if (editContext)
|
||||
{
|
||||
editContext->Class<RagdollComponent>(
|
||||
"PhysX Ragdoll", "Provides simulation of characters in PhysX.")
|
||||
"PhysX Ragdoll", "Creates a PhysX ragdoll simulation for an animation actor.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/PhysXRagdoll.svg")
|
||||
@@ -91,26 +91,28 @@ namespace PhysX
|
||||
->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://o3de.org/docs/user-guide/components/reference/physx/ragdoll/")
|
||||
->Attribute(AZ::Edit::Attributes::AutoExpand, true)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &RagdollComponent::m_positionIterations, "Position Iteration Count",
|
||||
"A higher iteration count generally improves fidelity at the cost of performance, but note that very high "
|
||||
"values may lead to severe instability if ragdoll colliders interfere with satisfying joint constraints")
|
||||
"The frequency at which ragdoll collider positions are resolved. Higher values can increase fidelity but decrease "
|
||||
"performance. Very high values might introduce instability.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, 1)
|
||||
->Attribute(AZ::Edit::Attributes::Max, 255)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &RagdollComponent::m_velocityIterations, "Velocity Iteration Count",
|
||||
"A higher iteration count generally improves fidelity at the cost of performance, but note that very high "
|
||||
"values may lead to severe instability if ragdoll colliders interfere with satisfying joint constraints")
|
||||
"The frequency at which ragdoll collider velocities are resolved. Higher values can increase fidelity but decrease "
|
||||
"performance. Very high values might introduce instability.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, 1)
|
||||
->Attribute(AZ::Edit::Attributes::Max, 255)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &RagdollComponent::m_enableJointProjection,
|
||||
"Enable Joint Projection", "Whether to use joint projection to preserve joint constraints "
|
||||
"in demanding situations at the expense of potentially reducing physical correctness")
|
||||
"Enable Joint Projection", "When active, preserves joint constraints in volatile simulations. "
|
||||
"Might not be physically correct in all simulations.")
|
||||
->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &RagdollComponent::m_jointProjectionLinearTolerance,
|
||||
"Joint Projection Linear Tolerance", "Linear joint error above which projection will be applied")
|
||||
"Joint Projection Linear Tolerance",
|
||||
"Maximum linear joint error. Projection is applied to linear joint errors above this value.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
|
||||
->Attribute(AZ::Edit::Attributes::Step, 1e-3f)
|
||||
->Attribute(AZ::Edit::Attributes::Visibility, &RagdollComponent::IsJointProjectionVisible)
|
||||
->DataElement(AZ::Edit::UIHandlers::Default, &RagdollComponent::m_jointProjectionAngularToleranceDegrees,
|
||||
"Joint Projection Angular Tolerance", "Angular joint error (in degrees) above which projection will be applied")
|
||||
"Joint Projection Angular Tolerance",
|
||||
"Maximum angular joint error. Projection is applied to angular joint errors above this value.")
|
||||
->Attribute(AZ::Edit::Attributes::Min, 0.0f)
|
||||
->Attribute(AZ::Edit::Attributes::Step, 0.1f)
|
||||
->Attribute(AZ::Edit::Attributes::Suffix, " degrees")
|
||||
|
||||
@@ -101,7 +101,7 @@ namespace PhysX
|
||||
|
||||
if (AZ::EditContext* editContext = serialize->GetEditContext())
|
||||
{
|
||||
editContext->Class<SystemComponent>("PhysX", "Global PhysX physics configuration")
|
||||
editContext->Class<SystemComponent>("PhysX", "Global PhysX physics configuration.")
|
||||
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
|
||||
->Attribute(AZ::Edit::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("System", 0xc94d118b))
|
||||
|
||||
Reference in New Issue
Block a user