【问题标题】:Unity3d shotgun cone shootunity3d霰弹枪锥形射击
【发布时间】:2019-04-12 04:36:44
【问题描述】:

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

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

一切正常,但是这个方向的最大“范围”是矩形,我想要一个椭圆。很难解释: 看来我应该在某处使用标准化,但我不知道在哪里。

【问题讨论】:

标签: c# unity3d raytracing


【解决方案1】:

圆上点的坐标可以这样计算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 );

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-21
  • 1970-01-01
相关资源
最近更新 更多