-
Notifications
You must be signed in to change notification settings - Fork 0
1. Starting with the Gore System
Locate the Blueprint class you want to use with this plugin, any Actor is supported (not just Character class) as long as it owns a skeletal mesh component which will be the target mesh for the system.
In my case, I'm gonna use a fresh new Character class:
Add the "GoreSystemComponent" like any other ActorComponent!
The component will automatically look for a "SkeletalMeshComponent" inside his owning actor but you can manually set which Skeletal Mesh should be affected by the system using the function "Init"
This struct contains 3 fundamental parameters needed for the system to work properly. The data you decide to feed into the system is up to you. Most of the time a Trace or Physical Hit Event is the most preferible way to gather those data.
- BoneName = Name of the bone you're damaging
- Location = The exact spot your damage landed
- Normal = Normal of the surface you hit
This is the main fuction you should use to handle damage to your character.
Each bone has its set of variables you can customize, like HealthMap, DamageMultiplierMap and IgnoreIsDead. Those informations will be taken in account by the system when you use this function.
- In_Damage = Base damage you want to apply
- In_IsDead = Notify the system if this character is dead (easy to integrate with your game's damage system)
- In_DetachmentForce = Impulse force the system will apply to the limb when detached. The direction of this impulse depends on the normal given
- In_BoneHit = Data structure containing base informations about the damage location
- NewBoneHealth = Health after the specified bone received damage. It's [CurrentBoneHealth - (DamageIn * DamageMultip)]
- DamageApplied = The total damage applied to your bone. It's [DamageIn * DamageMultip]
- ReturnValue = It will return false if the bone you're trying to destroy is not on contained in BodyMap
This function will batch-destroy a list of bones, ignoring any variable related to health status of those bones. The function will return false if no bone can be destroyed.
It's pretty much a simplified version of Apply Gore Damage for multiple bones. You can also use its variant for a single bone
This is a simple event dispatcher that will fire every time a new bone is broken, returning its name
UEGoreSystem v3.1.0