29 #ifndef NVBLASTEXTIMPACTDAMAGEMANAGER_H 30 #define NVBLASTEXTIMPACTDAMAGEMANAGER_H 32 #include "PxFiltering.h" 33 #include "NvPreprocessor.h" 39 struct PxContactPairHeader;
76 isSelfCollissionEnabled(false),
79 damageRadiusMax(2.0f),
80 damageThresholdMin(0.1f),
81 damageThresholdMax(1.0f),
82 damageFalloffRadiusFactor(2.0f),
83 damageFunction(nullptr),
84 damageFunctionData(nullptr)
114 virtual void release() = 0;
139 virtual void onContact(
const physx::PxContactPairHeader& pairHeader,
const physx::PxContactPair* pairs, uint32_t nbPairs) = 0;
145 virtual void applyDamage() = 0;
156 static physx::PxFilterFlags FilterShader(
157 physx::PxFilterObjectAttributes attributes0,
158 physx::PxFilterData filterData0,
159 physx::PxFilterObjectAttributes attributes1,
160 physx::PxFilterData filterData1,
161 physx::PxPairFlags& pairFlags,
162 const void* constantBlock,
163 uint32_t constantBlockSize);
171 #endif // ifndef NVBLASTEXTIMPACTDAMAGEMANAGER_H Definition: NvBlastExtApexImportTool.h:40
bool(* ExtImpactDamageFunction)(void *data, ExtPxActor *actor, physx::PxShape *shape, physx::PxVec3 worldPos, physx::PxVec3 worldForce)
Definition: NvBlastExtImpactDamageManager.h:56
float damageFalloffRadiusFactor
damage attenuation radius factor. Given a radius R for full damage, for [R, R * damageFalloffRadiusFa...
Definition: NvBlastExtImpactDamageManager.h:70
float damageRadiusMax
the maximum radius in which full damage is applied.
Definition: NvBlastExtImpactDamageManager.h:67
float hardness
hardness of material for impact damage. Damage = impulse / hardness . This damage is capped by the ma...
Definition: NvBlastExtImpactDamageManager.h:66
Definition: NvBlastExtImpactDamageManager.h:96
Definition: NvBlastExtImpactDamageManager.h:62
ExtImpactDamageFunction damageFunction
custom damage function, can be nullptr, default internal one will be used in that case...
Definition: NvBlastExtImpactDamageManager.h:71
float damageThresholdMax
maximum damage fraction threshold to be applied. Range [0, 1]. For example 0.8 won't allow more then ...
Definition: NvBlastExtImpactDamageManager.h:69
Definition: NvBlastExtPxActor.h:57
void * damageFunctionData
data to be passed in custom damage function.
Definition: NvBlastExtImpactDamageManager.h:72
float damageThresholdMin
minimum damage fraction threshold to be applied. Range [0, 1]. For example 0.1 filters all damage bel...
Definition: NvBlastExtImpactDamageManager.h:68
Definition: NvBlastExtPxManager.h:99
bool isSelfCollissionEnabled
family's self collision enabled.
Definition: NvBlastExtImpactDamageManager.h:64
ExtImpactSettings()
Definition: NvBlastExtImpactDamageManager.h:75
Definition: NvBlastExtAuthoring.h:34
bool shearDamage
use shear damage program (otherwise simple radial damage is used)
Definition: NvBlastExtImpactDamageManager.h:65