我使用C#脚本用几个立方体填充我的场景,然后选择一定数量的立方体并对其进行转换。 我想要做的转换是根据this image
如何移动基本Unity 3d Object Cube的边缘(在C#脚本中)?
答案 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