Hello, i have a simple question, im going to post a picture to better explain what i want to do as well
I want my character to have the movement ( the strafe ) always rotate towards a center point that i can always change
I understand the basics of things in ue4 and i have searched for this but i think im using the wrong keywords.this has probably been answered, if you know of any link in the wiki i can look att or any tutorial that explains it , it would be warmly apprechiated.
I was thinking of doing this by creating a custom actor that acts as the pivot point, and make my character use Look att rotation constantly att the target with a event tick.
is there a better way to do this ?
Use vector math for it. You need to calculate vector for pawn to move:
- calculate vector from center point to player position.
- now the tricky part. >ROTATE< that calculated vector depending on input from controller. Best here would be “rotate vector around axis” node for vector to rotate get “UP vector” of pawn, or simply [0,0,1] if you have it on flat surface.
- calculate new “desired” position for pawn (that rotated vector value)
- now calculate vector from current position of pawn to “desired” position.
- normalize it, multiply by axis input and then some scale
- you have your strafing vector.
“by rotate that vector depending on input” i mean rotate for eg by 15 degrees, left or right, direction should be depending or strafe axis value. Always rotate by same number of degrees, this will make your circle a circle, if you rotate too far your pawn may start doing spirals etc.