Download

Add Actor World Transform + Jump = clipping

Hi Everyone, I have a setup for a “slide” for my character, kinda like a quick way to dodge through spacing (sort of a fighting game). It uses the add actor world transform. (though I’m pretty sure this isn’t the best node). Anyways, the slide is oriented at the control rotation, and if I do it with the camera facing a little bit downwards, and I jump during it, as long as he’s still traveling upwards if I do the slide downwards plus a direction, the character while slip right through the floor of the level. He also will go right through walls I’ve tried setting the collisions for the character and capsule component to blockall as a test, but it did not work. I’m guessing the transform takes priority over objects being in the way. I’ve tried other movement nodes but they don’t offer as much control IMO. Anyone have any idea as to what I could do? Thanks!

As a side question (I planned to make a separate post but I’ll try this instead) When I turn off use pawn control rotation to fly in my game, but I turn it back on to walk, if I turned the camera’s yaw at any point(during flight), it’ll reorient it back to what the yaw equaled when I started to fly(when pawn control rotation was on). Any ideas for this one? Thanks again!

Maybe you could use a line trace between the current location and the potential destination. If it hits, you can’t move. If it doesn’t hit then you should be ok.

also you might want to get the angle and make sure its aimed straight instead of twords the ground.

Thanks, I’ll try this. Only thing is I would like for it to move regardless of if the camera looks down. I’d actually like if the slide was relative to the upward direction of the camera when it’s pointed at the ground. For example if it was straight down and the upside of the camera was in the front, he goes forward. Any way to integrate that as well or instead?

Get the forward vector subtract the actor origin. Get the rotation angle. zero out one of the angle axes (I don’t know which one off the top of my head). This is your requested angle.

Make a new vector consisting of (distance, 0, 0) and rotate it by your requested angle. Increase the actor position by this resulting vector.

Thank you!