- Home /
Random object appearance in specific length and height
My character in this game will be blast off from a catapult. It will bounce until it stops (speed = 0). Meanwhile there will be objects on the ground and in the sky that if the character hit them they will slow it down or boost it. My question is, how can i make this objects appear randomly in all length of e.g. 50,000 meters (and height e.g. 1,000 meters for the sky objects). And what really troubles me is the fact that in level 1, i want object3 number of appearance to be 30% and in level 2 60%. How do i do that? I'm new in unity and scripts confuse me. Thank you in advance!
Answer by WilliamLeu · Mar 06, 2013 at 01:49 AM
If you're doing this in C#, make a System.Random variable, and call NextDouble() on it to get a number. Make sure you use to same System.Random variable instead of creating new ones each time.
System.Random rand = new System.Random(0 );
float fVal = rand.NextDouble();
float fVal2 = rand.NextDouble();
float fVal3 = rand.NextDouble();
float fVal4 = rand.NextDouble();
The returned fVal value is now a clamped01 value, meaning it's between 0.0 and 1.0. If you need a random number between a certain range you can now use a function like Mathf.Lerp() to pass in your minimum, maximum and clamped01 fVal number.
And if you want to check percentages, use that clamped01 value to see if it's greater than a value:
// For every percent value, you check if it's
// less than your current percentage, added with
// all the other percentages already checked.
if( fVal < 0.3f )
{
// Do 30% stuff here
}
else if( fVal < 0.9f )
{
// Do 60% stuff here
}
else if( fVal < 0.95f )
{
// Do 5% stuff here
}
else
{
// Do the rest of the 5% here
}
Your answer
Follow this Question
Related Questions
How to make objects appear randomly around a spot 2 Answers
Function action applies to every object that have script with that function on it. Help please 1 Answer
How do I Adjust The Colour Of My Object By Percentages? 1 Answer
Generate an object in random positions ? 1 Answer
Objects Instantiate 1 Answer