Collisions, Overlaps, and Traces

In this article, we explain everything to do with collisions, overlaps, and traces.

Related Material

Special Behavior

There is some unexpected (at least for me) behavior that might be confusing at first:

  • Collision detection (blocking) while sweeping an Actor seems to work only for translation and not for rotation. (UE 2.26) That is, bSweep=true in AActor::AddActorLocalRotation does not trigger collision detection, while for AActor::AddActorLocalOffset it works fine. In the documentation of AActor::AddActorWorldRotation it even says that it is “not currently supported for rotation.”
  • When sweeping an AActor with AActor::AddActorLocalOffset or AActor::AddActorWorldOffset, collision will only be calculated for its root component. All other components will not trigger collision events. For example, if we have a UCapsuleComponent as the RootComponent and a UStaticMeshComponent attached to it, the UCapsuleComponent will block movement on collision with other actors, while the MeshComponent will clip through other actors.
  • When scaling a Component in one or two dimensions, the collision volume seems to stay on the unscaled version.

General Overview

Leave a comment

Your email address will not be published.