예제 #1
0
    void Start()
    {
        int n = 0;

        if (materials == null || materials.Length == 0)
        {
            materials = new Material[1];                // make a blank one
        }

        // let's make a very low poly one
        GameObject go = MakeUVSphere.Create(Vector3.one, 10, 10);

        go.GetComponent <MeshRenderer> ().material = materials [n % materials.Length];
        go.transform.position = Vector3.left * 1.4f;
        go.AddComponent <SpinMeY> ();
        n++;

        // and now one that looks good
        go = MakeUVSphere.Create(Vector3.one, 24, 24);
        go.GetComponent <MeshRenderer> ().material = materials [n % materials.Length];
        go.transform.position = Vector3.right * 1.4f;
        go.AddComponent <SpinMeY> ();
        n++;

        // finally a weird squished one - Aussie rules football anyone?
        go = MakeUVSphere.Create(new Vector3(0.6f, 1.2f, 1.0f), 32, 32);
        go.GetComponent <MeshRenderer> ().material = materials [n % materials.Length];
        go.transform.position = Vector3.up * 2.2f;
        go.AddComponent <SpinMeY> ();
    }
예제 #2
0
    static void Create()
    {
        string filePath =
            EditorUtility.SaveFilePanelInProject("Save Procedural Mesh", "Procedural Mesh", "asset", "");

        if (filePath == "")
        {
            return;
        }

        GameObject go = null;
        Mesh       m  = null;

        m = CreateSimpleSquare();

        go = MakeUVSphere.Create(Vector3.one / 2, 16, 16);
        m  = go.GetComponent <MeshFilter>().sharedMesh;

        AssetDatabase.CreateAsset(m, filePath);

        GameObject.DestroyImmediate(go);
    }