I have created a floor and a sphere and am trying to get the ball to hover (about 1.6meters) above the ground. The ball will need to have a rigidbody though and be subjected to gravity (in certain cases). I cant seem to replicate the slight “hover” effect for the ball where it goes up and down slightly.
C# examples only please. Many thanks.
It sounds like you want the ball to Oscillate
You can achieve this motion in Unity by doing something like this:
public class Example : MonoBehaviour
this.transform.position = Vector3.up * Mathf.Cos(Time.time);
I believe capitalizing the “c” in Mathf.cos would solve the recognition issue.
However, then you’ll probably run into the issue I did: operator “+” cannot be appluied to operands of type Vector3 and float. Alas, no solution to this at the moment, but someone on here must know a way around this!
Take a look at this video tutorial. It is for floating on water, but remember that the water does not really exist and therefore it is exactly the same as floating on air(with the water plane render disabled) :
His code is short and works perfectly. You can adjust the water height value to make your sphere float at various heights. You can add a coroutine to add a regular slight adjustment to this for an extra bobbing effect.