using UnityEngine; public class Shape5 : MonoBehaviour { // public static GameObject Top(float w,float d,float dd,float t, float px1, float py1, float px2, float py2, float px3, float py3, float px4, float py4, float px5, float py5) { // GameObject S = new GameObject(); // S.AddComponent(typeof(MeshFilter)); // S.AddComponent(typeof(MeshRenderer)); // S.tag = "unhit"; // GameObject T = new GameObject(); // T.AddComponent(typeof(MeshFilter)); // T.AddComponent(typeof(MeshRenderer)); // T.GetComponent().mesh = CreateMeshShape(w,d,dd,t, px1, py1, px2, py2, px3, py3, px4, py4, px5, py5); // T.GetComponent().material = new Material(Shader.Find("Universal Render Pipeline/Lit")); // T.GetComponent().material.mainTexture = Resources.Load("cabinetWood/wood" + _G.Woods) as Texture2D; // T.GetComponent().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.TwoSided; // T.GetComponent().probeAnchor = GameObject.Find("Reflection Probe").transform; // T.tag = "unhit"; // GameObject U = new GameObject(); // U.AddComponent(typeof(MeshFilter)); // U.AddComponent(typeof(MeshRenderer)); // U.GetComponent().mesh = CreateMeshShape(w, d, dd,t, px1, py1, px2, py2, px3, py3, px4, py4, px5, py5); // U.GetComponent().material = new Material(Shader.Find("Universal Render Pipeline/Lit")); // //U.GetComponent().material.mainTexture = _G.TEXCABBOX; // U.GetComponent().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.TwoSided; // //U.GetComponent().probeAnchor = GameObject.Find("Reflection Probe").transform; // U.transform.position = new Vector3(0, 0, t); // U.transform.localRotation = Quaternion.Euler(180, 0, 90); // U.tag = "cabbox"; // T.transform.parent = S.transform; // U.transform.parent = S.transform; // T.name="T"; // U.name = "U"; // Side(S, dd, t, -w / 2 + dd / 2 , -d / 2+t, -90, 0, 0); // Side(S, d, t, -w / 2 +t, 0, 0, 90, 90); // Side(S, w, t, 0 , d / 2, 90, 0, 0); // Side(S, dd, t, w/2-t, d / 2-dd/2, 0, -90, 90); // Side(S, (w-dd)/0.707f, t, w / 2-(w-dd)/2, -d / 2 + (d-dd) /2, -45, -90, -90); // return S; // } // public static Mesh CreateMeshShape(float w, float d, float dd,float t, float px1, float py1, float px2, float py2, float px3, float py3, float px4, float py4, float px5, float py5) // { // Mesh m = new Mesh(); // float a = dd / w; // m.vertices = new Vector3[] { // new Vector3(px1, py1), // new Vector3(px2, py2), // new Vector3(px3, py3), // new Vector3(px4, py4), // new Vector3(px5, py5) // }; // m.uv = new Vector2[] { // new Vector2(0, 0), // new Vector2(1, 0), // new Vector2(1, a), // new Vector2(a, 1), // new Vector2(0, 1) // }; // m.triangles = new int[] { 0, 1, 2, 0, 2, 3, 0, 3, 4, }; // m.RecalculateNormals(); // return m; // } // public static GameObject Side(GameObject S,float ws, float t, float px, float pz, float rx,float ry, float rz) // { // GameObject s = GameObject.CreatePrimitive(PrimitiveType.Quad); // s.GetComponent().enabled = false; // s.transform.localScale = new Vector3(ws, t, 1); // s.transform.localRotation = Quaternion.Euler(rx, ry, rz); // s.transform.position = new Vector3(px, pz, t / 2); // //s.GetComponent().material.mainTexture = _G.TEXCABBOX; // s.GetComponent().material.mainTextureScale = new Vector2(ws / 12f, t / 12f); // s.GetComponent().probeAnchor = GameObject.Find("Reflection Probe").transform; // s.transform.parent = S.transform; // s.tag = "cabbox"; // return s; // } }