Hello,
I’ve been working through a few different directions when it comes to make a “goomba” style character in a sidescrolling 3D game. My goal is simple, make an enemy move back and forth between two trigger volumes. More robust solutions will be investigated after that, but for now I’m just trying to make this work. I’m starting with the Unreal sample game with the 3D side scroller from their example content.
I’ve tried to set it up without a physically simulated mesh, but with a physically simulated sphere collider. I’ve played with all kinds of options regarding the “Collision” properties, such as Simulate Generates Hit Events and the Collision Presets. I’ve read a dozen related questions. I’m trying to use the collision events and have tried Event ActorBeginOverlap, OnComponentHit and OnComponentBeginOverlap. In this example, I’m updating the location of the object with SetActorLocation, with the “Sweep” flag checked. Unfortunately it’s not doing what I’d expect. I do get OnComponentHit events, but ONLY for the ground (at least my Cast to Goomba isn’t succeeding), not my hand made trigger volume (just a blueprint with a box shape), which it just goes right through, or my player character, who gets pushed up on top of it.
I’ve also tried to set it up with a physically simulated mesh, using the same properties as the above example, but a new blueprint that just applies a force on Event Begin Play. This seems to apply a force, but the object just bounces off if it’s initially placed too high from the ground and tends to roll strangely, even though I think my center of mass is in the middle of the object.
The physics solution doesn’t appear to provide me the results I’m looking for as I don’t want these Goomba’s acting randomly. I’d like a more specific behavior and I feel like I can get it from my first example at the top.
So, how do I make them move, and generate hit events with everything they hit properly? Is there a good tutorial that explains how to update their position by hand and get proper hit events?
Any help is greatly appreciated. Thanks!