我想在unity3d上的圆心处画一个3d圆和一个3d立方体。我在代码下面创建了一个立方体的6个面:
mesh.vertices = new Vector3[]{
// face 1 (xy plane, z=0)
new Vector3(0,0,0),
new Vector3(1,0,0),
new Vector3(1,1,0),
new Vector3(0,1,0),
// face 2 (zy plane, x=1)
new Vector3(1,0,0),
new Vector3(1,0,1),
new Vector3(1,1,1),
new Vector3(1,1,0),
// face 3 (xy plane, z=1)
new Vector3(1,0,1),
new Vector3(0,0,1),
new Vector3(0,1,1),
new Vector3(1,1,1),
// face 4 (zy plane, x=0)
new Vector3(0,0,1),
new Vector3(0,0,0),
new Vector3(0,1,0),
new Vector3(0,1,1),
// face 5 (zx plane, y=1)
new Vector3(0,1,0),
new Vector3(1,1,0),
new Vector3(1,1,1),
new Vector3(0,1,1),
// face 6 (zx plane, y=0)
new Vector3(0,0,0),
new Vector3(0,0,1),
new Vector3(1,0,1),
new Vector3(1,0,0),
};
我在代码下方的多维数据集周围创建一个圆圈:
float x;
float y;
float z = 0.5f;
float angle = 1f;
for (int i = 0; i < (segments + 1); i++)
{
x = 0.5f + Mathf.Sin (Mathf.Deg2Rad * angle) * xradius;
y = 0.5f + Mathf.Cos (Mathf.Deg2Rad * angle) * yradius;
line.SetPosition (i,new Vector3(x,y,z));
angle += (360f / segments);
}
我希望上面的代码执行上层任务。但他们没有。我看到一个立方体和圆圈。但是立方体不是圆圈3d的中心。 z位置不适合我。
我的截图如下:
我应该使用多台相机进行这项工作吗?
答案 0 :(得分:0)
好的,回答这里是因为我还没有发表评论。正如路德所说,这看起来像是一个太空问题。但是,您可以使LineRenderer
的点在本地空间中运行,只需取消选中检查器中的Use World Space
bool即可。这也可以让你自由地在场景中移动GameObject
。