diff --git a/Source/Engine/Utilities/Extensions.cs b/Source/Engine/Utilities/Extensions.cs index 0da0c00c7..4b85541c8 100644 --- a/Source/Engine/Utilities/Extensions.cs +++ b/Source/Engine/Utilities/Extensions.cs @@ -301,6 +301,18 @@ namespace FlaxEngine.Utilities double randomRadian = random.NextDouble() * Mathf.RevolutionsToRadians; return new Vector2((float)Math.Cos(randomRadian) * magnitude, (float)Math.Sin(randomRadian) * magnitude); } + + /// + /// Generates a random point on a circle of a given radius. + /// + /// An instance of . + /// Radius of circle. Default 1.0f./>. + /// A random . + public static Vector2 NextUnitCircleVector2(this Random random, float radius = 1.0f) + { + double randomRadian = random.NextDouble() * Mathf.RevolutionsToRadians; + return new Vector2((float)Math.Cos(randomRadian) * radius, (float)Math.Sin(randomRadian) * radius); + } /// /// Generates a uniformly distributed random unit length vector point on a unit sphere.