aboutsummaryrefslogtreecommitdiff
path: root/sdk/extensions/physx/include
diff options
context:
space:
mode:
authorBryan Galdrikian <[email protected]>2017-08-28 13:55:34 -0700
committerBryan Galdrikian <[email protected]>2017-08-28 13:55:34 -0700
commit1e887d827e65a084a0ad0ba933c61a8330aeee07 (patch)
tree1e2aab418dadd37f5dc0aae4d8b00e81d909fd24 /sdk/extensions/physx/include
parentRemoving ArtistTools and CurveEditor projects (diff)
downloadblast-1e887d827e65a084a0ad0ba933c61a8330aeee07.tar.xz
blast-1e887d827e65a084a0ad0ba933c61a8330aeee07.zip
Candidate 1.1 release.
* SampleAssetViewer now unconditionally loads the commandline-defined asset. * Better error handling in AuthoringTool (stderr and user error handler). * More consistent commandline switches in AuthoringTool and ApexImporter (--ll, --tx, --px flags). * NvBlastExtAuthoring ** Mesh cleaner, tries to remove self intersections and open edges in the interior of a mesh. ** Ability to set interior material to existing (external) material, or a new material id. ** Material ID remapping API. ** Rotation of voronoi cells used for fracturing. * Fixed smoothing groups in FBX exporter code. * Impulse passing from parent to child chunks fixed. * Reading unskinned fbx meshes correctly. * Collision hull generation from fbx meshes fixed. * Win32/64 PerfTest crash fix.
Diffstat (limited to 'sdk/extensions/physx/include')
-rw-r--r--sdk/extensions/physx/include/NvBlastExtImpactDamageManager.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/sdk/extensions/physx/include/NvBlastExtImpactDamageManager.h b/sdk/extensions/physx/include/NvBlastExtImpactDamageManager.h
index 28d0947..292ba5c 100644
--- a/sdk/extensions/physx/include/NvBlastExtImpactDamageManager.h
+++ b/sdk/extensions/physx/include/NvBlastExtImpactDamageManager.h
@@ -63,11 +63,11 @@ struct ExtImpactSettings
{
bool isSelfCollissionEnabled; //!< family's self collision enabled.
bool shearDamage; //!< use shear damage program (otherwise simple radial damage is used)
- float impulseMinThreshold; //!< min impulse value to apply impact damage.
- float impulseMaxThreshold; //!< max impulse value, damage is interpolated value between min and max impulses.
- float damageMax; //!< max damage to be applied (if impulse is >= impulseMaxThreshold).
- float damageRadiusMax; //!< max penetration depth (if impulse is >= impulseMaxThreshold).
- float damageAttenuation; //!< penetration attenuation ([0..1], where 1 means damage attenuates linearly from 0 to max penetration depth).
+ float hardness; //!< hardness of material for impact damage. Damage = impulse / hardness . This damage is capped by the material's health.
+ float damageRadiusMax; //!< the maximum radius in which full damage is applied.
+ float damageThresholdMin; //!< minimum damage fraction threshold to be applied. Range [0, 1]. For example 0.1 filters all damage below 10% of health.
+ float damageThresholdMax; //!< maximum damage fraction threshold to be applied. Range [0, 1]. For example 0.8 won't allow more then 80% of health damage to be applied.
+ float damageFalloffRadiusFactor; //!< damage attenuation radius factor. Given a radius R for full damage, for [R, R * damageFalloffRadiusFactor] radius interval damage attenuates down to zero at the outer radius.
ExtImpactDamageFunction damageFunction; //!< custom damage function, can be nullptr, default internal one will be used in that case.
void* damageFunctionData; //!< data to be passed in custom damage function.
@@ -75,11 +75,11 @@ struct ExtImpactSettings
ExtImpactSettings() :
isSelfCollissionEnabled(false),
shearDamage(true),
- impulseMinThreshold(0.0f),
- impulseMaxThreshold(1000000.0f),
- damageMax(100.f),
- damageRadiusMax(5.0f),
- damageAttenuation(1.f),
+ hardness(10.0f),
+ damageRadiusMax(2.0f),
+ damageThresholdMin(0.1f), // to filter small damage events
+ damageThresholdMax(1.0f),
+ damageFalloffRadiusFactor(2.0f),
damageFunction(nullptr),
damageFunctionData(nullptr)
{}