public override void OnInspectorGUI() { MegaMeshPage mod = (MegaMeshPage)target; //bool rebuild = DrawDefaultInspector(); #if !UNITY_5 && !UNITY_2017 && !UNITY_2018 && !UNITY_2019 EditorGUIUtility.LookLikeControls(); #endif mod.Width = EditorGUILayout.FloatField("Width", mod.Width); mod.Length = EditorGUILayout.FloatField("Length", mod.Length); mod.Height = EditorGUILayout.FloatField("Height", mod.Height); mod.WidthSegs = EditorGUILayout.IntField("Width Segs", mod.WidthSegs); mod.LengthSegs = EditorGUILayout.IntField("Length Segs", mod.LengthSegs); mod.HeightSegs = EditorGUILayout.IntField("Height Segs", mod.HeightSegs); mod.genUVs = EditorGUILayout.Toggle("Gen UVs", mod.genUVs); mod.rotate = EditorGUILayout.FloatField("Rotate", mod.rotate); mod.PivotBase = EditorGUILayout.Toggle("Pivot Base", mod.PivotBase); mod.PivotEdge = EditorGUILayout.Toggle("Pivot Edge", mod.PivotEdge); mod.tangents = EditorGUILayout.Toggle("Tangents", mod.tangents); #if UNITY_5_5 || UNITY_5_6 || UNITY_2017 || UNITY_2018 || UNITY_2019 #else mod.optimize = EditorGUILayout.Toggle("Optimize", mod.optimize); #endif if (GUI.changed) //rebuild ) { mod.Rebuild(); } }
static void CreatePageMesh() { Vector3 pos = Vector3.zero; if (UnityEditor.SceneView.lastActiveSceneView != null) { pos = UnityEditor.SceneView.lastActiveSceneView.pivot; } GameObject go = new GameObject("Page Mesh"); MeshFilter mf = go.AddComponent <MeshFilter>(); mf.sharedMesh = new Mesh(); MeshRenderer mr = go.AddComponent <MeshRenderer>(); Material[] mats = new Material[3]; mr.sharedMaterials = mats; MegaMeshPage pm = go.AddComponent <MegaMeshPage>(); go.transform.position = pos; Selection.activeObject = go; pm.Rebuild(); }
private void InitBook() { //------------------------------------------------------------------------ //Awake pBookPosition = new GameObject("Book"); pBookPosition.transform.localPosition = new Vector3(0, -1000, 0); //创建plane pPageTemplate = GameObject.CreatePrimitive(PrimitiveType.Plane); pPageTemplate.transform.localPosition = new Vector3(0, -2000, 0); pBookPage = new GameObject[nPageNumber]; pMaterials = new Material[pTexture2D.Length]; pMaterial = new Material[2]; //------------------------------------------------------------------------ //------------------------------------------------------------------------ //------------------------------------------------------------------------ for (int i = 0; i < pTexture2D.Length; i++) { Material mat = new Material(Shader.Find("Diffuse")); mat.mainTexture = (Texture2D)pTexture2D[i]; pMaterials[i] = mat; } for (int i = 0; i < nPageNumber; i++) { pBookPage[i] = (GameObject)Instantiate(pPageTemplate); pBookPage[i].name = (i + 1).ToString(); //改名 pBookPage[i].transform.parent = pBookPosition.transform; pMeshRender = pBookPage[i].GetComponent <MeshRenderer>(); pMaterial[0] = pMaterials[2 * i]; pMaterial[1] = pMaterials[2 * i + 1]; pMeshRender.materials = pMaterial; pBookPage[i].transform.localPosition = new Vector3(0, -i * 0.01f, 0); pMegaModifyObjectScript = pBookPage[i].AddComponent <MegaModifyObject>(); pMegaPageFlipScript = pBookPage[i].AddComponent <MegaPageFlip>(); pMegaMeshPageScript = pBookPage[i].AddComponent <MegaMeshPage>(); pMegaMeshPageScript.Rebuild(); } }