Unity3d 霰弹枪锥形射击

Unity3d shotgun cone shoot

我将光线投射用作霰弹枪。我随机化每条光线的方向:

Vector3 direction = new Vector3 (UnityEngine.Random.Range (-splash, splash), UnityEngine.Random.Range (-splash, splash), 100);

一切正常,但是这个方向的最大值 "range" 是矩形,我想要一个椭圆。很难解释: 似乎我应该在某处使用归一化,但我不知道在哪里。

圆上的点坐标可以这样计算x = r*cos(a), y = r*sin(a)。如果 r 是随机点,则点将位于半径为 "splash";

的圆内
Vector3 direction = new Vector3( Random.Range(-splash,splash)*Mathf.Cos(Random.Range(0,2*Mathf.PI)),Random.Range(-splash,splash)*Mathf.Sin(Random.Range(0,2*Mathf.PI)),0 );