Download

Grappling Hook - Rotating a Character Along a Vector

I’m creating a game where players can grapple onto objects and swing. Although the grappling system is working, the character doesn’t have any rotations to make them look like they are hanging from a rope.

Essentially, I want my ThirdPersonCharacter’s upward orientation to always point toward a location (the location they are grappling to).

This is what I mean by upward orientation facing the grapple location: https://gfycat.com/VibrantSparklingGordonsetter

I am no expert but there is a node called “Find Look At Rotation”. Maybe this will help.

I’m still lost :frowning:

Is it using a physics constraint component?

I’m not using any physics constraint components.

With Tick: SetWorldRotation(Character, MakeRotFromZ(Normalize(GetWorldLocation(Grapplepoint)-GetWorldLocation(Character))))

Here’s a physicy grappling rig, if you want to take a look.

Yes! Thank you! Do you know how I can make my character face the direction she is moving in while she’s swinging?

Try either, GetVelocity(CharacterActor), GetComponentVelocity(CharacterComponent) or GetPhysicsLinearVelocity(CharacterComponent). Normalize it. Replace MakeRotFromZ with MakeRotFromXZ, Feed the normalized CharacterVelocity into X and the normalized GrapplePoint-CharacterLocation into Z.

Thank you so much.

Here’s a gif of the new mechanic in action (needs a lot of work): https://gfycat.com/VigilantSparseItaliangreyhound

Im here in 2019, could I get some help on how you made the grappling hook system?

wah… really