【问题标题】:How can I obtain the circumference coordinates of a tilted circle in Unity C#?如何在 Unity C# 中获取倾斜圆的圆周坐标?
【发布时间】:2017-11-18 13:51:11
【问题描述】:

非倾斜圆的周长坐标,如上图,通过以下代码获得。

//c=Center
//r=radius
//i=angle
Vector3 FindPoint(Vector3 c, float r, int i)
{
    return c + Quaternion.AngleAxis(1.0f * i, Vector3.forward) * (Vector3.right * r);
}

//Example of securing coordinates
for(int i=0;i<360;i++)
{
    point[i] = FindPoint(center, radius, i);
}

但是,如上图所示,我需要获取沿 x 轴倾斜的圆的圆周坐标。

知道原点和半径以及沿x轴的倾斜值,怎么知道倾斜圆圆周的三维坐标?

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    来自统一文档: 与 Vector3.forward 不同,Transform.forward 移动游戏对象的同时还考虑了它的旋转。 因此,您可以替换这一行:

    return c + Quaternion.AngleAxis(1.0f * i, Vector3.forward) * (Vector3.right * r);
    

    以下一个:

    return c + Quaternion.AngleAxis(1.0f * i, transform.forward) * (transform.right * r);
    

    **我猜您的脚本已附加到倾斜的对象上,因此使用了变换。否则,你需要像tiltedObj.transform一样使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-10
      • 1970-01-01
      • 2017-08-22
      相关资源
      最近更新 更多