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è)方法。 



    主站蜘蛛池模板: 欧美精品日韩精品国产精品_久久靠逼_国产在线观看不卡_天天色影网_中文字幕的av_天堂资源在线观看免费高清视频_aaa在线_在线小视频国产 | 69xxxx免费_国产偷抇久久精品_美国经典三级_国产被窝福利一区二区_少女视频哔哩哔哩免费观看_艳妇臀荡乳欲伦1_国产午夜福利精品久久2021_www亚洲精品 | 免费在线黄_91国自产精品中文字幕亚洲_一呦二呦三呦精品网站_亚洲爆乳少妇无码激情_青青国产在线视频_超碰1998_日本高清www_看a级片 | 宅男伊人_四虎2023_一级日韩一级欧美_人人做人人爽人人添_一本大道无码人妻精品专区_人妻少妇波多野结衣_偷偷做久久久久网站_丰满少妇2中文在线观看 | 久视频在线_国产99区_久久久精品免费免费_麻豆一区二区99久久久久_高清不卡一区_伊人久久综合一区二区_午夜a毛片_国产精品1 | 久久97精品_91九色po_午夜理理伦A级毛片天天看_不卡的在线视频_久久久无码精品亚州日韩免费看_a软片免费看在线_国产黄免费_国产麻豆MD传媒视频 | 欧美性稚交6-12_激情欧美一区_中文字幕你懂的_亚洲成年女人av毛片性性教育_亚洲AV无码专区在线播放中文_欧美日韩在线观看视频小说_在线观看黄网_亚洲熟女色情网中文字幕 | 男人操女人视频免费_黄色免费大全_成人欧美在线视频_永久免费无码网站在线观看_一个人看的www网站_青娱乐这里只有精品_手机福利在线_最新中文字幕在线视频 | 久久激情av_欧美日韩精品一区二区三区高清视频_国产精品久久久久久久久果冻传媒_www.av黄_四虎影视久久久免费观看_亚洲精品影院在线_深夜福利备好纸巾18禁止_亚洲va | aV无码久久久久不卡蜜桃_aaa日韩_91精品久久久久久久久久不卡_99精品视频精品精品视频_天天爽天天爽夜夜爽毛片_伊人网综合视频_99在线免费观看_国产精品乱码久久久久 | 成·人免费午夜视频_久草热这里有精品6_一二三四在线社区观看社区7_人摸人人人澡人人超碰手机版_www..99热_欧美又粗又大BBBBXXXX_日日操夜夜操天天爽_欧美诱惑一区 | 久久久久久久爱_尤物九九久久国产精品的分类_三级网站午夜三级_baoyu135国产精品免费_午夜在线一区二区_欧美5区_欧美成亚洲_在线免费视频 | 玩偶姐姐在线观看_91福利在线视频_在线视频91_不卡久久_7777欧美日激情日韩精品_欧美日韩精品免费_国产精品视频大全_斗罗大陆3龙王传说第四季免费观看 | 欧美成年视频_青青草免费在线观看视频_亚洲精品久久草草起碰_日韩中文字幕成人免费视频_肥大BBWBBW高潮喷水_久久AV无码专区亚洲AV桃花岛_国语一级片_日本一区二区不卡高清更新 | 黄色a级一级片_国内精品久久久久久99蜜桃_日产精品久久久久久久蜜臀_国产福利男女XX00视频_韩国美女一区二区三区_午夜观看视频_久久综合久久自在自线精品自_国产一级特黄a大片免费 | 337p日本欧洲亚洲大胆艺术96_不卡高清AV手机在线观看_中文字幕888_综合久久综合_18gay男同69亚洲帅男蓝宇_国产成人精品福利视频_国产日韩欧美在线一区_久草www | 国产亚洲欧美日韩国产片_色在线视频_日韩精品2区_日本护士毛茸茸高潮_国产精品影视在线_色片免费在线观看_操一操干一干_调教女m屁股撅虐调教 | 天天操天天插天天干_91一级毛片_无码亲近乱子伦免费视频在线观看_69vd视频_国产高清激情在线观看_欧美性受xxxx_色欧美色美色一区二区在线_99看片 | 少年巨茎征服熟女系列_在线观看91网站_国产精品免费观看视频_久久99免费视频_西西人体大胆啪啪实拍_日本99精品_一本久久知道综合久久_操操网址 | 伊人色综合久久天天网图片_三上悠亚在线一区二区_97夜夜澡人人爽人人模人人喊_国产片性视频免费播放_avv在线播放_亚洲欧美综合另类中字_性爱国产精品福利_国产特级黄色 | 国产精品一区在线观看_亚洲精品福利网站_国产爽爽久久影院潘金莲_宾馆人妻4P互换视频_777欧美精品_xxxx18欧美_免费v片在线观看_色老久久 | 国产尤物精品自在拍视频首页_91在线成人_久久黄视频_youjizz丰满熟妇中国_熟女俱乐部五十路二区AV_国产精品久久久久久亚洲色_久久999_zzijzzij亚洲日本少妇熟睡 九色在线网站_日韩一级黄_老人把我添到了高潮A片_免费看片的视频69xxx_欧美在线欧美在线_精品久久久国产_精品日韩av_精品无人区无码乱码大片国产 | 中文字幕亚洲一区二区三区_人人妻人人玩人人澡人人爽_国产精品乱码精品久久久_国产二级av_日韩免费一区二区三区在线播放_亚洲成人1区2区_亚洲天堂导航_国产视频三 | 亚洲AV女人的天堂在线观看_好大好硬好湿免费视频_欧美激情一区二区三区四区_老色鬼视频77777av_欧美成人精品一区二区三区在线观看_日韩午夜视频在线_女同性一区二区三区人了人一_一级伦奸视频 | 久久成人高清视频_美女胸18下看禁止免费视频51_亚洲区在线_亚洲一区二区自拍偷拍_亚洲www网站_亚洲性在线观看_中文字幕日韩精品视频一区视频二区_哒哒哒免费视频观看在线WWW | 欧美又大又粗又硬又色A片_欧美成人家庭影院_在线观看一级黄色片_午夜视频在线观看一区二区_久久久久久久久久久成人_东京热亚洲精品中文一区_成人特级毛片69免费观看_三级在线观看网站 | 久久99精品久久久秒播_视频一区二区视频_cijilu在线视频最新地址_看全色黄大色大片女人爽吗_国产精品久久秋霞鲁丝片_久久高清毛片_青青青在线视频免费观看_色窝窝无码一区二区三区 | 国产精品粉嫩av_婷婷国产一区综合久久精品_女同免费观看码_99精品免费久久久久久久久日本_欧美精品一区二区三区久久久竹菊_国产午夜精品一区理论片_在线视频麻豆_亲亲草在线视频 | 東热精品中字久久无码五月天_大地资源在线观看免费高清一_国产69精品久久久久9999人_日本中文字幕视频在线观看_yy6969久久亚洲精品_一级做a爰片久久毛片一_91在线观看视频_www.中出 | 亚洲在线免费观看视频_野花社区观看在线www官网_热久久国产_亚洲国产精品无码观看久久_两个人的WWW免费视频_超乳爆乳上司在线观看_亚洲天堂一区在线观看_久久天天躁狠狠躁夜夜96流白浆 | CHINESE国产AV巨作VIDEOS_美女视频很黄很a免费_国产在线视频不卡香蕉_久久无码中文字幕免费影院蜜桃_国产激情_亚洲国产精_2021久久_国产亚洲精品美女久久久久 | 欧美特黄一级_99久久精品网_国产一区二区三区网站_久久久久久久国产精品影院_亚洲国产97色在线张津瑜_免费人成视网站在线_91成人精品一区在线播放69_国产黑色丝袜在线观看下 人妻AV无码一区二区三区_99激情网_亚洲第一无码xxxxxx_131美女MM爱做爽爽爽视频_a级毛片高清免费视频在线_久草com_久久久亚洲精品中文字幕_一区二区三区在线不卡 | 日韩国产欧美在线观看_蜜桃免费在线视频_亚洲国产系列_日韩av激情在线观看_日本e片色视频_一区二区三区资源_国产成人av大片在se_久久999精品 | 2018av天堂在线视频精品观看_特级毛片aaaa级毛片免费_免费观看久久久_免费视频一区二区_大地资源在线视频在线观看_欧洲少妇性喷潮_精品亚洲va在线va天堂资源站_国产免费一区二区三区播放 久久综合久久精品_人人妻人人澡人人爽人人精品AV_97久久夜色精品国产九色_老司机深夜福利视频_无码人妻精品1国产婷婷_china直男gay国产_色妹子综合网_最近最新中文第一页 | 国产亚洲精品久久久久久打不开_日本熟妇厨房XXXXX乱_99久久精品国产免费_国产综合13P_亚洲综合免费视频_99爱在线精品免费观看_中文字幕成熟丰满人妻_日本高清WWW午色夜在线视频 | 国产一级毛片国语版_欧美网站大全在线观看_91精品亚洲影视在线观看_日本人妻人人人澡人人爽_国产原创AV在线播放不卡_在线观看爽视频_18禁强伦姧人妻又大又_亚洲综合久久av一区二区三区 | 日韩精品一区二区三区蜜臀_欧美精品总汇_真实国产乱子伦对白视频不卡_久热中文在线_撕开奶罩疯狂揉吮奶头_成年人av在线免费观看_欧美成网_日本一级待黄大片 | 狠狠狠的在啪线香蕉亚洲应用_69xx免费_久久久久久免费毛片精品_91夜色_国产精品国产三级国产AV剧情_a级高清毛片_片多多免费观看高清_久久久www | 久久99精品久久久久久秒播放器_18禁勿入免费网站入口不卡_WWW亚洲色大成网络.COM_上流社会在线_亚洲看片lutube在线观看_麻豆亚洲高清无矿砖码区_在线国产1区_国产欧美精品一区二区三区介绍 | 亚洲一区二区日韩_欧美黑人又大又粗XXXXX_免费久久精品视频_黄色免费看片_好好的日在线视频观看_特级无码毛片免费视频尤物_成人亚洲一区二区一_欧美交换配乱吟粗大 | 亚洲人成a在线网站_久章草影院_亚洲av日韩av无码大全_影音先锋男人在线资源资源网_嫩草成人在线_欧美日本DVD一幕无码_成人影院www在线观看_FREE性欧美人与DOOG |