コード例 #1
0
    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();
        }
    }
コード例 #2
0
    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();
    }
コード例 #3
0
ファイル: USShowBook.cs プロジェクト: sjb8100/src
        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();
            }
        }