Unity - 翻译GameObject 3d立方体边缘

时间:2017-06-11 19:34:11

标签: c# unity3d 3d cube

我使用C#脚本用几个立方体填充我的场景,然后选择一定数量的立方体并对其进行转换。 我想要做的转换是根据this image

如何移动基本Unity 3d Object Cube的边缘(在C#脚本中)?

1 个答案:

答案 0 :(得分:1)

您可以通过编辑网格的顶点来完成此操作。例如,将此脚本附加到多维数据集并调整相机,以便在您按空格键时可以看到事物向左移动。你应该看到盒子移动并想知道如何得到你想要的东西。

public class CubeScript : MonoBehaviour {

int vert_num = 0;
Mesh mesh;
Vector3[] verts;

// Use this for initialization
void Start () {
    mesh = GetComponent<MeshFilter>().mesh;
    verts = mesh.vertices;
}

// Update is called once per frame
void Update ()
{
    if (Input.GetKeyDown (KeyCode.Space)) {

        // Loop back around after the last vert
        if (vert_num >= verts.Length) {
            vert_num = 0;
        }

        // Move the next vert and echo its number
        Debug.Log("Moving vert#: " + vert_num);
        verts[vert_num] += Vector3.up * 0.1f;
        mesh.vertices = verts;

        vert_num += 1;
    }
}

}

有关详细信息,请参阅:https://docs.unity3d.com/ScriptReference/Mesh.html