栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Unity3D

Unity给Cube绑定自己的Texture(贴图)

Unity3D 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity给Cube绑定自己的Texture(贴图)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class UVCube : MonoBehaviour
{
    private MeshFilter mf;
    public float tileSize = 0.25f;

    private void Start()
    {
        ApplyTexture();
    }

    public void ApplyTexture()
    {
        mf = gameObject.GetComponent();
        if (mf)
        {
            Mesh mesh = mf.sharedMesh;
            if (mesh)
            {
                Vector2[] uvs = mesh.uv;
                // 前
                uvs[0] = new Vector2(0f, 0f);            //左下
                uvs[1] = new Vector2(tileSize, 0f);      //右下 
                uvs[2] = new Vector2(0f, 1f);            //左上 
                uvs[3] = new Vector2(tileSize, 1f);          //右上
                // 右
                uvs[16] = new Vector2(tileSize * 1.0001f, 0f);
                uvs[19] = new Vector2(tileSize * 2.0001f, 0f);
                uvs[17] = new Vector2(tileSize * 1.0001f, 1f);
                uvs[18] = new Vector2(tileSize * 2.0001f, 1f);
                // 后
                uvs[10] = new Vector2((tileSize * 2.0001f),1f);
                uvs[11] = new Vector2((tileSize * 3.0001f), 1f);
                uvs[6] = new Vector2((tileSize * 2.0001f), 0f);
                uvs[7] = new Vector2((tileSize * 3.0001f), 0f);

                // 左
                uvs[20] = new Vector2(tileSize * 3.0001f, 0f);
                uvs[23] = new Vector2(tileSize * 4.0001f, 0f);
                uvs[21] = new Vector2(tileSize * 3.0001f, 1f);
                uvs[22] = new Vector2(tileSize * 4.0001f, 1f);
                // 上
                uvs[8] = new Vector2(tileSize * 4.0001f, 0f);
                uvs[9] = new Vector2(tileSize * 5.0001f, 0f);
                uvs[4] = new Vector2(tileSize * 4.0001f, 1f);
                uvs[5] = new Vector2(tileSize * 5.0001f, 1f);
                // 下
                uvs[14] = new Vector2(tileSize * 5.0001f, 0f);
                uvs[13] = new Vector2(tileSize * 6.0001f, 0f);
                uvs[15] = new Vector2(tileSize * 5.0001f, 1f);
                uvs[12] = new Vector2(tileSize * 6.0001f, 1f);
                mesh.uv = uvs;
            }
        }
        else
        {
            Debug.Log("No mesh filter attached");
        }
    }
}

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/900259.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号