Unity Mesh(六) Mesh 正八面体Octaheron贴图

正八面体贴图其实要看你具体贴需要什么效果,这里也没什么好延伸的,延伸的也没啥意义了,根据正方体的原理,我这里随便贴了一个




贴图的思路图是这样的:



第一个正方形,中心点对应down,四个角对应正八面体的四个角,up点对应第二个正方形的中心的,理论上缺少了第二个正方形的四个角的描述,但是居然贴上去了,具体原理还不是很清楚。


整个代码如下:


using UnityEngine;
using System.Collections;


[RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))]
public class OCtahefronTex : MonoBehaviour
{

    public Material mat;

    // Use this for initialization
    void Start()
    {
        DrawOctahedron();
    }

    void DrawOctahedron()
    {
        gameObject.GetComponent<MeshRenderer>().material = mat;
        Mesh mesh = GetComponent<MeshFilter>().mesh;
        mesh.Clear();

        mesh.vertices = new Vector3[]
        {
            Vector3.down,
            Vector3.forward,
            Vector3.left,
            Vector3.back,
            Vector3.right,
            Vector3.up
        };

        mesh.triangles = new int[]
        {
            //0,2,1,
            //0,3,2,
            //0,4,3,
            //0,1,4,

            //5,1,2,
            //5,2,3,
            //5,3,4,
            //5,4,1

            0,1,2,
            0,2,3,
            0,3,4,
            0,4,1,

            5,2,1,
            5,3,2,
            5,4,3,
            5,1,4
        };

        mesh.uv = new Vector2[]
        {
            new Vector2(0.25f,0.5f),
            new Vector2(0f,0f),
            new Vector2(0f,1f),
            new Vector2(0.5f,1f),
            new Vector2(0.5f,0f),
            new Vector2(0.75f,0.5f)
        };
    }
}




版权声明:本文为HeBiReChenAi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。