亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Unity3d網格合并

2019-11-17 02:58:00
字體:
來源:轉載
供稿:網友

Unity3d網格合并

幾個不同的物體,在Unity3d中可以將網格合并在一起,用于優化。

在Unity3d中構建臨時場景如下:建一C#腳本名為"CombineMeshes",掛在Cube上。

CombineMeshes.cs內容如下:

using UnityEngine;using System.Collections;public class CombineMeshes : MonoBehaviour{    void Start()    {        MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>();       //獲取自身和所有子物體中所有MeshFilter組件        CombineInstance[] combine = new CombineInstance[meshFilters.Length];    //新建CombineInstance數組        for (int i = 0; i < meshFilters.Length; i++)                                    {            combine[i].mesh = meshFilters[i].sharedMesh;            combine[i].transform = meshFilters[i].transform.localToWorldMatrix;            meshFilters[i].gameObject.SetActive(false);        }        transform.GetComponent<MeshFilter>().mesh = new Mesh();        transform.GetComponent<MeshFilter>().mesh.CombineMeshes(combine);       //合并        transform.gameObject.SetActive(true);    }}

保存后執行,結果如圖:

觀察原本的兩個子物體已經變為隱藏狀態,觀察Cube的網格,已經變為如圖中3個物體合并后的網格:

接著想一想,如果3個物體分別賦了不同的材質球,合并后會是什么樣呢?

那么,接下來,試試我們的想法。修改場景,為3個物體賦上不同的材質球,如下圖:

如果還是用這段代碼,將會是如下結果:

很明顯,網格雖然是合并了,但是我們在合并的過程中,并沒有代碼是處理材質球的,因此,合并后的網格統一賦上了Cube的材質球。

那么,如果我們既要合并網格,又要保持3個部分保持原來各自的材質球,能否實現呢?答案是肯定的。

將"CombineMeshes.cs"中的代碼進行如下修改:

using UnityEngine;using System.Collections;public class CombineMeshes : MonoBehaviour{    void Start()    {        MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>();               CombineInstance[] combine = new CombineInstance[meshFilters.Length];            MeshRenderer[] meshRenderer = GetComponentsInChildren<MeshRenderer>();  //獲取自身和所有子物體中所有MeshRenderer組件        Material[] mats = new Material[meshRenderer.Length];                    //新建材質球數組        for (int i = 0; i < meshFilters.Length; i++)                                    {            mats[i] = meshRenderer[i].sharedMaterial;                           //獲取材質球列表            combine[i].mesh = meshFilters[i].sharedMesh;            combine[i].transform = meshFilters[i].transform.localToWorldMatrix;            meshFilters[i].gameObject.SetActive(false);        }        transform.GetComponent<MeshFilter>().mesh = new Mesh();        transform.GetComponent<MeshFilter>().mesh.CombineMeshes(combine, false);//為mesh.CombineMeshes添加一個 false 參數,表示并不是合并為一個網格,而是一個子網格列表        transform.GetComponent<MeshRenderer>().sharedMaterials = mats;          //為合并后的GameObject指定材質        transform.gameObject.SetActive(true);    }}

再一次運行后,如圖:

達到目的。

還可以進而在腳本中做相應修改,以滿足更復雜一些的需求。主要在于,理解了網格合并的原理,即可靈活運用。比如,在循環中,將

meshFilters[i].gameObject.SetActive(false);

替換為

if (meshFilters[i].gameObject.name != gameObject.name){    Destroy(meshFilters[i].gameObject);}

即可合并后更潔癖一些。有興趣的話,可以試試將這三個模型,放在一個空物體下,看看怎樣修改代碼才能合并明白:)

晚些時候,我會添加上合并角色骨骼模型的使用方法,即合并含有<SkinnedMeshRenderer>這個組件的,記得初次接觸官網那個換裝的例子研究了好久。

附上主要語句的中文手冊地址:http://game.ceeger.com/Script/Mesh/Mesh.CombineMeshes.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产+成+人+亚洲欧洲| 亚洲精品99999| 在线亚洲男人天堂| 麻豆成人在线看| 91精品综合久久久久久五月天| 亚洲成人激情视频| 亚洲精品久久久久国产| 国产精品91久久久| 2025国产精品视频| 亚洲黄色av女优在线观看| 成人中文字幕+乱码+中文字幕| 久久综合伊人77777| 亚洲国产成人精品久久久国产成人一区| 欧美香蕉大胸在线视频观看| 日韩中文字幕网址| 97在线免费观看视频| 97国产一区二区精品久久呦| 欧美一区二粉嫩精品国产一线天| 亚洲xxxx视频| 在线视频欧美性高潮| 欧美激情免费视频| 一本一本久久a久久精品牛牛影视| 国内成人精品视频| 欧美日韩国产色| 久久噜噜噜精品国产亚洲综合| 亚洲欧美国内爽妇网| 国内外成人免费激情在线视频| 黑人与娇小精品av专区| 欧美—级高清免费播放| 亚洲国产精品嫩草影院久久| 丝袜美腿精品国产二区| 久久成人精品一区二区三区| 国产一区二区丝袜| 国产精品视频免费观看www| 91久久精品国产91性色| 欧美激情精品久久久久久黑人| 色妞久久福利网| 久久久久久久成人| 国产网站欧美日韩免费精品在线观看| 欧洲亚洲免费视频| 91精品国产自产91精品| 亚洲品质视频自拍网| 日韩av在线播放资源| 日韩在线观看免费全集电视剧网站| 疯狂欧美牲乱大交777| 国产精自产拍久久久久久蜜| 亚洲高清在线观看| 成人黄色免费网站在线观看| 欧美精品亚州精品| 亚洲精品国精品久久99热| 18一19gay欧美视频网站| 久久久成人的性感天堂| 国产精品美女主播在线观看纯欲| 日韩精品中文字幕久久臀| 欧美日韩亚洲91| 亚洲男人天堂手机在线| 国产91色在线免费| 欧美综合一区第一页| 久久精品色欧美aⅴ一区二区| 亚洲日本aⅴ片在线观看香蕉| 久久天天躁狠狠躁夜夜爽蜜月| 91美女福利视频高清| 国产精品高清网站| 欧美成aaa人片在线观看蜜臀| 国产精品久久久久久久久久东京| 久久久国产精品亚洲一区| 国产综合色香蕉精品| 日韩精品免费在线播放| 91久久夜色精品国产网站| 国产成人精品a视频一区www| 91综合免费在线| 国产精品久久久久aaaa九色| 在线视频欧美性高潮| 4444欧美成人kkkk| 色偷偷综合社区| 91欧美精品午夜性色福利在线| 国产亚洲xxx| 亚洲成人动漫在线播放| 国产精品一区二区三区免费视频| 国产精品久久9| 日本久久久久亚洲中字幕| 日韩精品极品毛片系列视频| 中文字幕亚洲综合久久| 在线亚洲国产精品网| 亚洲天堂视频在线观看| 日韩av影视综合网| 亚洲国产一区二区三区在线观看| 欧美怡红院视频一区二区三区| 国产成人极品视频| 国产成人福利夜色影视| 日韩精品在线观看一区二区| 亚洲男人天堂网| 韩国三级日本三级少妇99| 永久免费看mv网站入口亚洲| 91精品久久久久久久久不口人| 欧美夜福利tv在线| 亚洲欧洲日产国码av系列天堂| 久久成年人视频| 日韩av第一页| 神马久久桃色视频| 日韩精品久久久久| 91产国在线观看动作片喷水| 亚洲黄页网在线观看| 人体精品一二三区| 91精品国产乱码久久久久久久久| 亚洲网址你懂得| 亚洲va欧美va国产综合剧情| 中文字幕免费精品一区| 欧美精品久久久久久久久| 欧美激情一区二区三级高清视频| 亚洲自拍偷拍一区| 91午夜在线播放| 韩国视频理论视频久久| 亚洲自拍高清视频网站| 成年人精品视频| 国产精品香蕉国产| 韩国美女主播一区| 51ⅴ精品国产91久久久久久| 亚洲欧洲偷拍精品| 在线视频精品一| 亚洲免费成人av电影| 亚洲第一色中文字幕| 欧美性xxxx极品hd满灌| 日韩av在线一区| 日韩电影免费观看在线| 欧美激情一级欧美精品| 国产精品video| 九色精品免费永久在线| 欧美激情久久久久久| 亚洲精品动漫久久久久| 国产精品尤物福利片在线观看| 庆余年2免费日韩剧观看大牛| 欧美精品www在线观看| 国内免费久久久久久久久久久| 97香蕉超级碰碰久久免费软件| 久久99久国产精品黄毛片入口| 91网站在线看| 亚洲精品之草原avav久久| 91免费欧美精品| 日韩精品在线影院| 亚洲毛片在线免费观看| 国产精品爽爽ⅴa在线观看| 91精品视频大全| 在线视频一区二区| 亚洲精品欧美极品| 日韩欧美精品网站| 91九色综合久久| 在线观看免费高清视频97| 日韩欧美在线一区| 一色桃子一区二区| 精品福利樱桃av导航| 45www国产精品网站| 伊人精品在线观看| 亚洲视频在线观看网站| 日韩国产欧美精品一区二区三区| 成人xxxxx| 激情懂色av一区av二区av| 日韩成人在线观看| 亚洲精品美女在线| 国产精品爽黄69天堂a| 亚洲高清久久网| 亚洲日本aⅴ片在线观看香蕉| 国产成人亚洲综合91| 久久精品国产清自在天天线|