Moving player in an arc, from startPoint to endPoint


fairly new to unity, with some minor experience in programming.

i've set up a trigger region (the start point), which contains a target (transform) that i'm trying to toss the player character to (like a catapult).

i've tried using this setup but it doesn't work for me:

i've also tried a series of Vector3.Lerps, but don't think that's the smartest way to go about it.

also: i cannot for the life of me get this to play out for longer than a second, no matter what i multiply Time.time or Time.deltaTime with (from .0000001 to 1000000). do i need to move this function outside of function Update?

any help would be greatly appreciated. i've been stuck for about a week! :) thanks.

The third parameter of Slerp is clamped between 0 and 1 (so it will never exceed these values). So in your case you would probably use something like:

transform.position = Vector3.Slerp(riseRelCenter, setRelCenter, (Time.time - startTime) / duration);

Where `startTime` is a variable that contains the time you begin the arcmovement (so set this to `Time.time` when the player starts this move and `duration` must hold the total time it should take to make the 'jump'.

Hope this helps... :-)

See this these questions for multiple solutions:

Throwing Object with acceleration equation/script?

Procedural mesh generation and plotting trajectories