Make a "Balloon" that floats upwards but slows as it gets higher
Hi! I have figured out most of this problem already but here is what I am trying to do: I am trying to make a balloon which goes upwards (Using rigidbodies) and when it reaches a certain altitude it hovers there because the "Atmosphere" is really thin so it cannot go any higher. Is there a way I can do this? I have already figured out the going upwards part. I just need like a formula for that. I have tried this: upwards force = upward / transform.position.y where upward is a variable for how fast it goes. Unfortunately I am not able to get it to hover nicely at one altitude depending on how high you go. Thanks for any help in advance!
Answer by binaryspace1010 · Sep 01, 2015 at 08:22 PM
@VortexGamer Hey! If you want to use rigidbodies to make a balloon that floats, you can make the drag very high, so if you stop putting force on the balloon, (when it won't go any higher), it will stop almost instantly.
As for the formula, I would pick a max height, and in this example I'm gonna say it's 100.
int maxHeight = 100;
GameObject balloon; //the balloon
if(balloon.position.y <= 25)
{
speed = 5;
}
if(balloon.position.y > 25 && balloon.position.y <= 50 )
{
speed = 3;
}
if(balloon.position.y > 51 && balloon.position.y <= 75)
{
speed = 2;
}
if(balloon.position.y > 95 && balloon.position.y <= 100)
{
speed = 0;
}
if(balloon.position.y < 101)
{
speed = -0.5;
}
Your answer
Follow this Question
Related Questions
How to set velocity from connected Rigidbody? 0 Answers
,Two Similar Rigidbodies with velocity behaving differently 1 Answer
Falling Platform 1 Answer
Using rb.velocity causes low gravity. 2 Answers