99国产欧美另娄久久久精品_国内自拍农村少妇在线观看_久久亚洲道色宗和久久_日本aⅴ大伊香蕉精品视频_亚洲国产欧美日韩欧美特级_日本视频免费在线观看

  • unity3d中利用網(wǎng)格+貼圖繪制血條/進(jìn)度條

    2019/11/1??????點(diǎn)擊:

    利用網(wǎng)格去繪制血條, 血條肯定是一個(gè)矩形,網(wǎng)格是由一個(gè)一個(gè)三角形組成的,矩形可以分成兩個(gè)三角形。
    創(chuàng)建一個(gè)空物體,添加以下腳本組件:

    [RequireComponent(typeof(MeshFilter),typeof(MeshRenderer))]
    public class MeshAndUV : MonoBehaviour
    {
     
        private Mesh mh;
        private Renderer rd;
        private float size = 1;
        private Material mat;
        void Awake()
        {
            mh = GetComponent().mesh;
            rd = GetComponent();
        }
     
        void Start()
        {
     
           //頂點(diǎn)數(shù)組
            Vector3[] vertes  = new Vector3[]
            {
                new Vector3(-size, -size, 0),//第一個(gè)點(diǎn)
                new Vector3(-size, size, 0), //第二個(gè)
                new Vector3(size, size, 0), //第三個(gè)
                new Vector3(size, -size, 0), //第四個(gè)
            };
     
            mh.vertices = vertes;
     
            //頂點(diǎn)組成的三角形
            mh.triangles = new[]
            {
                0, 1, 2,
                0, 2, 3
            };
            mh.RecalculateNormals();
        }
    }
    運(yùn)行下,就發(fā)現(xiàn)繪制出一個(gè)粉紅色的矩形,為啥是粉紅色,因?yàn)闆]材質(zhì)啊!!!@#¥%@#¥……

    在scene視圖下把ShadingMode改為Wireframe模式就可以看到兩個(gè)三角形

    軸點(diǎn)在中心,邊長(zhǎng)為2的矩形,然后在腳本上設(shè)置UV映射,加上貼圖材質(zhì)。

    在設(shè)置三角形下面添加一下代碼就可以顯示紋理了呀:

    //UV貼圖的四個(gè)點(diǎn),和頂點(diǎn)一一對(duì)應(yīng),左下角為(0,0),右上角為(1,1)
    //如果頂點(diǎn)順序沒有跟UV對(duì)應(yīng),貼圖就會(huì)出現(xiàn)問題
    Vector2[] uvs = new Vector2[]
    {
        new Vector2(0,0),//第一個(gè)點(diǎn)
        new Vector2(0,1),//2
         new Vector2(1,1),//3
         new Vector2(1,0), //4
    };
    
     mh.uv = uvs;
     rd.material = mat;


    封裝成一個(gè)函數(shù) void CreateBar(int barIndex),修改UV映射,血條索引從下往上數(shù),每個(gè)間隔0.25f

    Vector2[] uvs = new Vector2[]
    {
         new Vector2(0, 0.25f * barIndex),//第一個(gè)點(diǎn)
         new Vector2(0, 0.25f * (barIndex+1)),//2
         new Vector2(1, 0.25f * (barIndex+1)),//3
         new Vector2(1, 0.25f * barIndex), //4
    };
    在Start方法調(diào)用 CreateBar(0),呀, 怎么紅色是滿的呢?

    由于滿血狀態(tài)是全紅的,所以在UV的x映射也要做下改變

    Vector2[] uvs = new Vector2[]
    {
         new Vector2(0, 0.25f * barIndex),//第一個(gè)點(diǎn)
         new Vector2(0, 0.25f * (barIndex+1)),//2
         new Vector2(0.5f, 0.25f * (barIndex+1)),//3
         new Vector2(0.5f, 0.25f * barIndex), //4
    };

    是不是有點(diǎn)像啦。只要改變下長(zhǎng)寬比就好看啦。 改成下面這樣多一個(gè)參數(shù)試試看。


    void CreateBar(Vector2 size, int barIndex)
    {
        Vector3[] vertes = new Vector3[]
            {
                new Vector3(-size.x, -size.y, 0),//第一個(gè)點(diǎn)
                new Vector3(-size.x, size.y, 0), //第二個(gè)
                new Vector3(size.x, size.y, 0), //第三個(gè)
                new Vector3(size.x, -size.y, 0), //第四個(gè)
            };
    }
    看看血條效果吧:



    改變血條的值有2個(gè)辦法,
    1.改變Material的mainTextureOffset值
    mat.mainTextureOffset = new Vector2(0.2f,0);

    但是這樣會(huì)令到所以使用者材質(zhì)的物體貼圖都會(huì)改變
    2.修改UV映射


    void SetBarRate(float value)
        {
            value *= 0.5f;
            Vector2[] uvs = new Vector2[]
            {
                new Vector2(value, 0.25f * barIndex),//第一個(gè)點(diǎn)
                new Vector2(value, 0.25f * (barIndex+1)),//2
                new Vector2(0.5f + value , 0.25f * (barIndex+1)),//3
                new Vector2(0.5f + value, 0.25f * barIndex), //4
            };
            mh.uv = uvs;
        }
    //因?yàn)檫@張圖一半是亮的,一半是暗的,暗的那部分代表失去的血量,所以value要乘以0.5;
    void Start()
        {
            CreateBar(new Vector2(1,0.25f),0 );
            SetBarRate(0.9f);
        }
    到此基本完成了任務(wù), 下面來個(gè)完整的代碼給各位親參考一下, 歡迎來我們網(wǎng)站wiseglove.com投稿哦~



    using UnityEngine;
    using System.Collections;
     
    [RequireComponent(typeof(MeshFilter),typeof(MeshRenderer))]
    public class MeshAndUV : MonoBehaviour
    {
        private Mesh mh;
        private Renderer rd;
        
        private float rate = 0.5f;
        public Material mat;
     
        private int barIndex = 0;
        void Awake()
        {
            mh = GetComponent().mesh;
            rd = GetComponent();
           
        }
        void Start()
        {
            CreateBar(new Vector2(1,0.25f),0 );
            SetBarRate(0.9f);
        }
        ////// 利用網(wǎng)格創(chuàng)建血條
        //////三角形大小///血條索引void CreateBar(Vector2 size, int barIndex)
        {
            this.barIndex = barIndex;
            //頂點(diǎn)數(shù)組
            Vector3[] vertes = new Vector3[]
            {
                new Vector3(-size.x, -size.y, 0),//第一個(gè)點(diǎn)
                new Vector3(-size.x, size.y, 0), //第二個(gè)
                new Vector3(size.x, size.y, 0), //第三個(gè)
                new Vector3(size.x, -size.y, 0), //第四個(gè)
            };
            //給網(wǎng)格的頂點(diǎn)賦值
            mh.vertices = vertes;
     
            //頂點(diǎn)組成的三角形
            mh.triangles = new[]
            {
                0, 1, 2,
                0, 2, 3
            };
     
            //UV貼圖的四個(gè)點(diǎn),和頂點(diǎn)一一對(duì)應(yīng),左下角為(0,0),右上角為(1,1)
            //如果頂點(diǎn)順序沒有跟UV對(duì)應(yīng),貼圖就會(huì)出現(xiàn)問題
            Vector2[] uvs = new Vector2[]
            {
                new Vector2(0, 0.25f * barIndex),//第一個(gè)點(diǎn)
                new Vector2(0, 0.25f * (barIndex+1)),//2
                new Vector2(0.5f , 0.25f * (barIndex+1)),//3
                new Vector2(0.5f , 0.25f * barIndex), //4
            };
            mh.uv = uvs;
            //材質(zhì)
            rd.material = mat;
            //法線重新計(jì)算
            mh.RecalculateNormals();
        }
        ////// 設(shè)置血條比例
        //////血量失去的百分比void SetBarRate(float value)
        {
            value *= 0.5f;
            Vector2[] uvs = new Vector2[]
            {
                new Vector2(value, 0.25f * barIndex),//第一個(gè)點(diǎn)
                new Vector2(value, 0.25f * (barIndex+1)),//2
                new Vector2(0.5f + value , 0.25f * (barIndex+1)),//3
                new Vector2(0.5f + value, 0.25f * barIndex), //4
            };
            mh.uv = uvs;
        }
    }
    按照上面的方法, 畫進(jìn)度條也是這個(gè)方法。 



    主站蜘蛛池模板: 东凛mdyd950在线播放_亚洲中文无码卡通动漫3D_97国产精品人妻无码免费_欧美精品激情在线_国产精品久久久久77777丨_亚洲成在人线AV无码_日本免费看黄色_国产亚洲精品麻豆一区二区 | 东凛mdyd950在线播放_亚洲中文无码卡通动漫3D_97国产精品人妻无码免费_欧美精品激情在线_国产精品久久久久77777丨_亚洲成在人线AV无码_日本免费看黄色_国产亚洲精品麻豆一区二区 | 美女午夜视频_91com视频_我要看黄色a级片_日本中文字幕日韩精品免费_国产aⅴ无码专区亚洲av麻豆_日日夜夜爽爽_国产精品与欧美交牲久久久久_亚洲hd | 久久久网_国产熟妇视频在线观看_色呦呦视频在线_18禁黄网站免费_韩国美女一级毛片_成人在线视频国产_www一级毛片_久久夜色精品国产欧美乱 | 91超碰免费在线_日韩1级_18av在线免费观看_午夜在线免费观看视频_日本丰满大乳人妻无码_久久久黑人_久久人人爽爽爽人久久久_国产精品乱子伦xxxx裸 | 小sao货大ji巴cao死你h_黄色动态图视频_成人精品av一区二区三区网站_亚洲欧美18岁网站_欧美激情视频二区_操处女逼小说_男人操女人视频免费看_毛片无遮挡高清免费 | 99在线视频免费_97干干_麻豆传媒观看_成在人线AV无码免费高潮喷水_xxxx性欧美_亚洲一级影片在线观看_又大又粗欧美黑人AAAAA片_国产女同一区二区在线 | 国产在线色_91麻精品国产91久久久久_麻豆特级毛片_无码骚夜夜精品_少妇精品久久_a级毛片免费_九九黄色_91精品视频网 | 中国产一级a毛片四川女_欧美一级淫片a免费播放口_无码精品国产DVD在线观看9久_天堂一区二区三区_www.黄色国产_大伊香蕉精品一区视频在线_欧美精品亚洲人成在线观看_欧洲一级 | 国产精品粉嫩av_婷婷国产一区综合久久精品_女同免费观看码_99精品免费久久久久久久久日本_欧美精品一区二区三区久久久竹菊_国产午夜精品一区理论片_在线视频麻豆_亲亲草在线视频 | 亚洲精品ww久久久久久p站_扒开粉嫩小泬舌头伸进去视频_男人疯狂进入女人下部动态图_男女精品国产乱淫高潮_偷拍视频网址_一级片日韩_国产综合久久99久久_国产精品一级二级在线观看 | 日本亚洲a_丰满人妻久久中文字幕免费_国产午夜大片_一级黄色日本_国产精品美女久久久m_亚洲视频网站在线观看_男女多P混交群体交乱A片_四虎最新影院 | 一本久久伊人热热精品中文_日韩不卡三区_男人久久_久久嫩草精品久久久久_久久亚洲网站_亚洲一区久久久_国产精品免费视频一区二区_久久精品道一区二区三区 | 国产偷国产偷亚洲高清日韩_久产久精九国品在线_亚洲精品一区二区三区三区_毛片一区二区三区_91兔费视频_国产福利一区二区在线观看_噜噜噜91成人网_毛片基地美国 | 老熟妇乱子交视频一区_影视免费观看_国产精品538一区二区在线_久久久噜噜噜久久熟女AA片_91热视频在线观看_国产一级二级视频_久草在线免费福利资源站_av色久 | 麻豆精品国产入口_日本一二三区不卡_在线免费黄_美女不带套日出白浆免费视频_国产精品盗摄久久久_日本中文字幕在线免费观看_国产一级一级_成人区一区 | 国产精品原创巨作av_馬与人黃色毛片一部_91成人品_国产一极内射視颍一_一级国产_日日日日干干干干_啪视频网站_裸体久久女人亚洲精品 | 毛片无码免费无码播放_欧美福利片在线观看_沦为公交两奶头春药高潮迭起_亚洲精品无码一区二区三区污_九色porny91_办公室高h荡肉呻吟在线观看_亚洲精品一卡二卡三卡四卡2021_中文字幕第31页 | 日韩欧美国产1_护士巨好爽好大乳_伊人第四色_国产精品1页_国色天香综合网_黄色在线免费播放_7777精品伊人久久久大香线蕉_1—42集免费观看 | 精品国产亚洲一区二区三区_给我看免费播放片的视频_国产成人久久AV一区二区_av在线free_国产尤物在线视频_国产精品麻豆传媒_性夜影院爽黄E爽_99久久免费国产精精品 | 久久精品免费一区二区_97精品人人妻人人_av网址在线观看免费_成年免费视频播放网站推荐_国产猫咪精品久久天干天干_9999国产_中文字幕28页_日本免费高清一区二区 | h无码精品动漫尤物_亚洲亚洲人成网站网址_又黄又爽又无遮挡免费的网站_另类免费视频_国产强奷女交警在线播放_国产清纯91天堂在线观看_日本福利视频一区二区三区_健身教练啪啪偷拍一区二区 | 亚洲精品国产精品乱码不99热_FREE性丰满HD毛多多_永久免费av无码不卡在线观看_国产精品亚洲一区二区三区妖精_日日天干夜夜人人添_国产欧美成人不卡视频_中文字幕88页_人与动人物XXXX毛片 | 久久精品一区二区三区四区_夜夜操夜夜操夜夜操_国产草比视频_日本国产黄色_偷拍一区二区三区视频_久久成人人人人精品欧_中出乱码av亚洲精品久久天堂_欧美日韩一区二区三区在线看黄 | 亚洲国产一区二区在线观看_欧美日韩在线第一页_美国一级毛片aa_精品一区二区三区的国产在线观看_无遮挡边摸边吃奶边做的视频刺激_亚洲国产成人精品福利在线观看_99精品99久久久久久宅男_黄色在线观看视频网站 | 歪歪羞羞嘿咻汗汗av禁漫天堂_欧美精品一区二区视频_久久久97一区蜜臀国产日产精品_给丰满少妇按摩到高潮_孕交VIDEOSGRATIS孕妇性欧美_熟睡中被义子侵犯在线播放_无码裸模视频在线观看_精品无码人妻夜人多侵犯18 | 欧美爆操_91精品天堂_一女三男做2爱A片免费_国产精品久久久久免费a∨_久久97超碰色中文字幕蜜芽_aaa一级毛片_www.嫩草_国产av一级毛片 | 日本久色_国产最顶级的黄色片在线免费观看_亚洲视频国产一区_日韩一区二区精品在线观看_91精品美利坚合众国_特黄三级又爽又粗又大_欧美性爱一区三区_亚洲色成人中文字幕网站 | 91麻豆久久_美女视频黄又黄又免费高清_国产91精品高清一区二区三区_小娇孩性freesexhd_国产一区影院_欧美日在线播放_久久成人免费精品网站_国产自偷亚洲精品页65页 | 熟睡人妻被讨厌的公侵犯_精品成人网_亚洲一区二区久久久久久_猫咪在线永久网站_老司机精品视频一区二区_日本免费AⅤ欧美在线观看_啦啦啦在线观看视频免费观看_国产精品美女久久久婷婷网站 | 男人的天堂Aⅴ在线_国产成人无码av一区二区在线观看_欧美韩国日本一区二区三区_7194中文乱码一二三四芒果_一级片xxxx_99re在线免费视频_av在线干_国产精品美女久久久久久久久久久 | 欧美国产日本_99老色批_国产群交影片在线播放_亚洲综合图片网_爽好久久久欧美精品_无码制服丝袜人妻一在线视频_区一区二免费视频_成人乱淫av日日摸夜夜爽 久色视频_a视频免费看_强插女教师AV在线_亚洲午夜免费福利视频_日韩第一精品_蜜桃久久精品一区二区_经典久久久_特黄A片女人亚洲一区小说 | 最近免费看av_成人午夜视频福利_JAPAN黑人极大黑炮_美女裸体黄网站18禁免费看影站_色欲AV永久无码精品无码蜜桃_国产精品99在线观看_中文字幕人妻熟女人妻A片_日韩女优精品 | 蜜臀AV无码一区二区三区_性色AV一区二区三区V视界影院_久久久久久一区_国产99视频精品免费播放照片_午夜精品一区二区三区福利视频_97精品人人A片免费看_无码专区AAAAAA免费视频_娇喘抽搐高潮喷水A片免费观看 | 亚色网址_亚洲第一综合区_久久99精品久久久_污污内射在线观看一区二区少妇_夜草av_免费无码一区二区三区蜜桃大_激情av无码后入_77色77国产欧美在线 | 亚洲精品成a人在线_成人在线免费观看视频网站_久久不见久久见www免费视频_99在线观看_在线高清理伦片a_久久精品看_成人精品区_天堂av性爱在线 | 精品久久久久久久久久久久包黑料_午夜精品久久久久久久男人的天堂_命带桃花1987在线_久久精品国产av一区二区蜜臀_爱逼爱操综合网_性刺激的大陆三级视频_一级黄色特级片_国产成人AV无码专区亚洲AV | 欧美熟妇bb_国产乱子伦视频一区二区三区_色婷婷五月综合久久_午夜无码免费福利视频网址_亚洲成色av网站午夜影视_东京无码熟妇人妻AV在线网址_极品一区_91久久精品久久国产性色也91 | 超碰网在线观看_日本xxxx裸体bbbb_国产中文在线播放_国产男女做爰高清全过小说_色视频在线观看免费_久草片免费福利_成人在线免费视频_www.免费av | 久久精品视频免费看_国产成人精品免费视频大全五_三级在线国产_伊人久久久精品区aaa片_gogogo高清在线观看免费中国_少妇激烈床戏视频_国产精品999在线观看_超碰97在线免费 | 免费在线黄_91国自产精品中文字幕亚洲_一呦二呦三呦精品网站_亚洲爆乳少妇无码激情_青青国产在线视频_超碰1998_日本高清www_看a级片 |