Download

Any way add custom collision for a pawn?

I’d love to allow the player to be able to dynamically tunnel through the landscape. I can easily create the hole visually using a masks in the landscape material.

However I have never been able to dynamically disable collision for a specific actor for a specific pawn.

In Actor.uc we have:



/** enum for LDs to select collision options - sets Actor flags and that of our CollisionComponent via PostEditChange() */
var(Collision) const transient enum ECollisionType
{
    COLLIDE_CustomDefault, // custom programmer set collison (PostEditChange() will restore collision to defaults when this is selected)
    COLLIDE_NoCollision, // doesn't collide
    COLLIDE_BlockAll, // blocks everything
    COLLIDE_BlockWeapons, // only blocks zero extent things (usually weapons)
    COLLIDE_TouchAll, // touches (doesn't block) everything
    COLLIDE_TouchWeapons, // touches (doesn't block) only zero extent things
    COLLIDE_BlockAllButWeapons, // only blocks non-zero extent things (Pawns, etc)
    COLLIDE_TouchAllButWeapons, // touches (doesn't block) only non-zero extent things
    COLLIDE_BlockWeaponsKickable // Same as BlockWeapons, but enables flags to be kicked by player physics
} CollisionType;


Are these the only control we have via script? It’s frustratingly limiting.

Are you using the box around the player or phat for collision?

I’m using the pawn CollisionCylinder for world geometry collision.

I think you can do it by making a custom physics asset for your pawn using the PHAT Editor.