UnityScripterAI
Discord ↗
Link Copied to Clipboard
×
"create a baseplate"
using UnityEngine; public class Baseplate : MonoBehaviour { public float width = 10f; public float length = 10f; public float height = 0.1f; public Material baseplateMaterial; // Start is called before the first frame update void Start() { CreateBaseplate(); } void CreateBaseplate() { GameObject baseplate = new GameObject("Baseplate"); baseplate.transform.position = new Vector3(0, 0, 0); MeshFilter meshFilter = baseplate.AddComponent<MeshFilter>(); MeshRenderer meshRenderer = baseplate.AddComponent<MeshRenderer>(); Mesh mesh = new Mesh(); meshFilter.mesh = mesh; Vector3[] vertices = new Vector3[4] { new Vector3(-width / 2, 0, -length / 2), new Vector3(width / 2, 0, -length / 2), new Vector3(-width / 2, 0, length / 2), new Vector3(width / 2, 0, length / 2) }; mesh.vertices = vertices; int[] triangles = new int[6] { 0, 2, 1, 2, 3, 1 }; mesh.triangles = triangles; Vector2[] uv = new Vector2[4] { new Vector2(0, 0), new Vector2(1, 0), new Vector2(0, 1), new Vector2(1, 1) }; mesh.uv = uv; mesh.RecalculateNormals(); if (baseplateMaterial != null) { meshRenderer.material = baseplateMaterial; } else { meshRenderer.material = new Material(Shader.Find("Standard")); } BoxCollider boxCollider = baseplate.AddComponent<BoxCollider>(); boxCollider.size = new Vector3(width, height, length); } }