效果
代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Plane : MonoBehaviour
{
int num = 10;
// Start is called before the first frame update
void Start()
{
gameObject.AddComponent<MeshFilter>();
gameObject.AddComponent<MeshCollider>();
gameObject.AddComponent<MeshRenderer>();
VertexHelper vh = new VertexHelper();
for (int x = 0; x < num; x++)
{
for (int z = 0; z < num; z++)
{
vh.AddVert(new Vector3(x, 0, z), Color.white, new Vector2(x * 1f / num, z * 1f / num));
if (x < num - 1 && z < num - 1)
{
vh.AddTriangle(x * num + z, x * num + z + 1, (x + 1) * num + z);
vh.AddTriangle((x + 1) * num + z, x * num + z + 1, (x + 1) * num + (z + 1));
}
}
}
Mesh mesh = new Mesh();
vh.FillMesh(mesh);
GetComponent<MeshFilter>().mesh = mesh;
GetComponent<MeshCollider>().sharedMesh = mesh;
GetComponent<MeshRenderer>().material = Resources.Load<Material>("2");
}
}