You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.2 KiB
41 lines
1.2 KiB
3 years ago
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
|
||
|
[RequireComponent(typeof(MeshRenderer))]
|
||
|
[RequireComponent(typeof(MeshFilter))]
|
||
|
public class GridMesh : MonoBehaviour
|
||
|
{
|
||
|
public int GridSize = 5;
|
||
|
|
||
|
void Awake()
|
||
|
{
|
||
|
MeshFilter filter = gameObject.GetComponent<MeshFilter>();
|
||
|
var mesh = new Mesh();
|
||
|
var verticies = new List<Vector3>();
|
||
|
|
||
|
var indicies = new List<int>();
|
||
|
for (int i = 0; i < GridSize; i++)
|
||
|
{
|
||
|
verticies.Add(new Vector3(i, 0, 0));
|
||
|
verticies.Add(new Vector3(i, 0, GridSize));
|
||
|
|
||
|
indicies.Add(4 * i + 0);
|
||
|
indicies.Add(4 * i + 1);
|
||
|
|
||
|
verticies.Add(new Vector3(0, 0, i));
|
||
|
verticies.Add(new Vector3(GridSize, 0, i));
|
||
|
|
||
|
indicies.Add(4 * i + 2);
|
||
|
indicies.Add(4 * i + 3);
|
||
|
}
|
||
|
|
||
|
mesh.vertices = verticies.ToArray();
|
||
|
mesh.SetIndices(indicies.ToArray(), MeshTopology.Lines, 0);
|
||
|
filter.mesh = mesh;
|
||
|
|
||
|
MeshRenderer meshRenderer = gameObject.GetComponent<MeshRenderer>();
|
||
|
meshRenderer.material = new Material(Shader.Find("Sprites/Default"));
|
||
|
meshRenderer.material.color = Color.white;
|
||
|
}
|
||
|
}
|