寫(xiě)一寫(xiě)今天的學(xué)習(xí)心得,保持每天不斷的學(xué)習(xí),今天寫(xiě)的是人物的換裝的技術(shù)實(shí)現(xiàn)。
創(chuàng)新互聯(lián)公司歡迎聯(lián)系:13518219792,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)頁(yè)制作領(lǐng)域十余年,包括成都除甲醛等多個(gè)方面擁有多年的網(wǎng)站運(yùn)維經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián)公司,為網(wǎng)站錦上添花。人物的換裝是游戲開(kāi)發(fā)的一個(gè)基本的技術(shù),初來(lái)公司,老板就要我學(xué)習(xí)一下人物換裝,也當(dāng)是給我練練手吧,然后我接到一個(gè)需求之后,就要開(kāi)始學(xué)習(xí)和搜集資料來(lái)實(shí)現(xiàn)這一功能,一下是學(xué)習(xí)心得,接下來(lái)我們就一起來(lái)學(xué)習(xí)一下,僅僅供新手參考。
首先 我們將從美工那兒獲取到的人物模型資源加載到本地,然后通過(guò)寫(xiě)代碼掛載到人物模型上面。以下是掛在在模型上面的js代碼,也就是換裝的腳本:
var ME1 : Mesh; //網(wǎng)格 var MA1 : Material; //材質(zhì) private var TK = 0; var ME2 : Mesh; var MA2 : Material; private var WQ = 0; var ME3 : Mesh; var MA3 : Material; private var ZJ = 0; var ME4 : Mesh; var MA4 : Material; private var YJ = 0; function OnGUI() { GUILayout.Label(""); if(GUILayout.Button ("Helm頭盔")) { if(TK == 1) { transform.Find("group2").Find("Object02").GetComponent(MeshFilter).mesh = null; transform.Find("group2").Find("Object02").renderer.material = null; TK = 0; } else { transform.Find("group2").Find("Object02").GetComponent(MeshFilter).mesh = ME1; transform.Find("group2").Find("Object02").renderer.material = MA1; TK = 1; } } if(GUILayout.Button ("Weapon武器")) { if(WQ == 1) { transform.Find("group2").Find("polySurface1").GetComponent(MeshFilter).mesh = null; transform.Find("group2").Find("polySurface1").renderer.material = null; WQ = 0; } else { transform.Find("group2").Find("polySurface1").GetComponent(MeshFilter).mesh = ME2; transform.Find("group2").Find("polySurface1").renderer.material = MA2; WQ = 1; } } if(GUILayout.Button ("LCollar左肩")) { if(ZJ == 1) { transform.Find("group2").Find("polySurface3").GetComponent(MeshFilter).mesh = null; transform.Find("group2").Find("polySurface3").renderer.material = null; ZJ = 0; } else { transform.Find("group2").Find("polySurface3").GetComponent(MeshFilter).mesh = ME3; transform.Find("group2").Find("polySurface3").renderer.material = MA3; ZJ = 1; } } if(GUILayout.Button ("RCollar右肩")) { if(YJ == 1) { transform.Find("group2").Find("polySurface4").GetComponent(MeshFilter).mesh = null; transform.Find("group2").Find("polySurface4").renderer.material = null; YJ = 0; } else { transform.Find("group2").Find("polySurface4").GetComponent(MeshFilter).mesh = ME4; transform.Find("group2").Find("polySurface4").renderer.material = MA4; YJ = 1; } } }這里要換裝主要是游戲里面的Mesh和Materials,可以我們從屬性菜單中直接給這個(gè)賦值,可行方便的一個(gè)策略是將所有的模型資源寫(xiě)在一個(gè)數(shù)組中,然后通過(guò)數(shù)組的索引獲取到對(duì)應(yīng)的貼圖就OK了。
幀數(shù)值的js代碼,這段是掛在在攝像機(jī)上的:
var updateInterval = 0.5; private var lastInterval : double; // Last interval end time private var frames = 0; // Frames over current interval private var fps : float; // Current FPS private var sum = 0.0; private var num = 0.0; function Start() { lastInterval = Time.realtimeSinceStartup; frames = 0; } function OnGUI () { GUILayout.Label("fps:" + fps.ToString("f0") + " " + (sum/num).ToString("f0")); } function Update() { transform.RotateAround (Vector3.zero, Vector3.up, 100 * Time.deltaTime); ++frames; var timeNow = Time.realtimeSinceStartup; if( timeNow > lastInterval + updateInterval ) { fps = frames / (timeNow - lastInterval); frames = 0; lastInterval = timeNow; sum += fps; num++; } }
程序截圖:
轉(zhuǎn)眼之間都快到凌晨一點(diǎn)半了,還是可以洗洗睡了!
轉(zhuǎn)載請(qǐng)保留原鏈接:http://write.blog.csdn.net/postedit/14093409 謝謝!
附加:群號(hào)858550,里面有近2000號(hào)Unity的同胞們也有一些大牛們,歡迎進(jìn)入進(jìn)行技術(shù)交流或者學(xué)習(xí)!
×××:http://download.csdn.net/detail/s10141303/6494229
安卓下載:http://download.csdn.net/detail/s10141303/6507163
==================== 迂者 丁小未 CSDN博客專欄=================
MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243
MyTel:13262983383
====================== 相互學(xué)習(xí),共同進(jìn)步 ===================
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。