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
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; |
|
} |
|
} |