Does anyone know why this is happening? I have a full IK skeletal mesh tracking the hmd and controllers. Static meshes simulating physics get blocked by the skeletal mesh hands and fire hit events but the hit events don’t fire if simulate physics is turned off. I expected the hit event to fire and the hand to pass through the object due to the IK animation setting the bone transform to the controller transform.
The skeletal mesh has a Pawn object type, query/physics collision enabled, is set to generate hit events, and block the PhysicsBody object type.
The static mesh BP has a PhysicsBody object type, query/physics collision enabled, is set to generate hit events, and block the Pawn object type.
Same problem…
I’m new here and I have the same problem with a Skeletical Mesh door. Cant set collide to the door… and cant start an onclicked event to it.
When moving without simulating, are you using Sweep or CharacterMovement?
“Hit Event called when a component hits (or is hit by) something solid. This could happen due to things like Character movement, using Set Location with ‘sweep’ enabled, or physics simulation.”
Rigid Bodies
There are 3 kinds of bodies in the simulation:
Dynamic(PxRigidDynamic) - These are the standard rigid bodies, affected by forces and collision.
Kinematic(PxRigidDynamic) - These are Dynamic bodies that have infinite mass and inertia. If moved with setKinematicTarget they will affect dynamic bodies. These are good for dynamic objects that are moved by your code instead of by the physics simulation. e.g. moving platform. If a body is not simulating physics and is not set to static mobility, it will be kinematic.
Static(PxRigidStatic)- This is for stuff that doesnt move. e.g. level geometry. If they are moved, the spatial partitioning structure must be rebuilt (unlike Kinematic bodies) which has a cost. In addition, when they are moved they do NOT affect dynamic bodies. This type of body is created in UE when the Mobility type is set to static. Most of the WorldStatic geometry in the scene is typically Static.
If one or both bodies is Dynamic, then collisions occurs.
If both are static then no collision occurs.
If one is kinematic and the other is Kinematic or Static, then you must move the kinematic with Sweep checked in order for collision to occur.
Thanks for the help OptimisticMonkey. Great link! I now know why the Skeletal mesh doesn’t trigger hits with other kinematic actors - It’s not the root component. I’ll have to settle for overlaps instead.
Its not because it isn’t the root component, its because you aren’t sweeping the collision body by setting its bone transforms. You can simulate the bone but set its physics blend weight to 0.0 (locking it to the animation) and it will actually throw simulated hit events though if you really need it mesh side.