I am specifically interested in getting OnComponentHit or EventHit responses when a CHUNK of a destructible actor is involved in a blocking hit.
My cursory search on UDN found a few unanswered questions with similar titles and a slew of bug tracker issues that seem related:
- Unreal Engine Issues and Bug Tracker (UE-27061)
- Unreal Engine Issues and Bug Tracker (UE-34420)
- Unreal Engine Issues and Bug Tracker (UE-34953)
- Unreal Engine Issues and Bug Tracker (UE-35356)
A few of these are related to impact damage being disabled. I am fine with enabling impact damage in this particular instance; though that is a nuisance if you want hit events regardless of impact damage being on.
Research
The arresting factor I’ve found is inside the function FPhysScene::DispatchPhysNotifications_AssumesLocked
where NotifyInfo.bCallEvent0
is false when NotifyInfo.Info0.Actor
is a destructible actor.
The source of that value is In FBodyInstance::AddCollisionNotifyInfo
. Where the bBody0Notify
boolean is set to (FilterFlags0&EPDF_ContactNotify) != 0
where obviously the constant EPDF_ContactNotify
is unmatched in the bitfield.
Perhaps there is some way for me to force the FilterFlags
value to enable that bit in the bitfield? My attempt at calling SetMaskFilter(EPDF_ContactNotify)
on the destructible component’s body instance didn’t change the bits set on the body instance returned by Body0->GetOriginalBodyInstance(Shape0)
which are assigned to FilterFlags0
so perhaps attempting that on a destructible component directly isn’t doing what I expect.
Questions
- Is there an out of the box solution that will get me hit events on individual apex chunk blocking hits?
- If there isn’t something out of the box could you point me towards the engine source where I could make a change?
- It was mentioned in a previous question of mine that there is a new destructible interface forthcoming (Blast) is that being released soon?
With regard to the last question it’s been challenging to search an issue and find an entry in the bug tracker marked backlogged or won’t-fix because new features are coming soon but with no release date announced.