Unity3D教程:汽车模型外壳颜色更换
生活随笔
收集整理的這篇文章主要介紹了
Unity3D教程:汽车模型外壳颜色更换
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
模型外殼顏色更換的實(shí)現(xiàn)思路(實(shí)例運(yùn)行效果如下圖所示),在場(chǎng)景中我們先需要在場(chǎng)景中放置一個(gè)平面,然后在平面上放置一個(gè)奧迪的汽車模型,最后調(diào)整攝像機(jī)的位置。
腳本中在Start()函數(shù)中我們首先在場(chǎng)景中找到汽車模型對(duì)象,接著找到需要進(jìn)行顏色更換的材質(zhì)對(duì)象。在Update()函數(shù)中需要實(shí)現(xiàn)汽車模型的自旋從而展示汽車模型個(gè)方位的細(xì)節(jié)。在ChangeColor()方法中主要實(shí)現(xiàn)對(duì)汽車外殼顏色的變換,遍歷汽車模型對(duì)象,找到命名符合約定的材質(zhì)并修改材質(zhì)的顏色。最后,在OnGUI()函數(shù)中需要繪制三個(gè)按鈕以實(shí)現(xiàn)汽車模型三種顏色的變換。
#pragma strict var car: GameObject; var carMaterial: Material;function Start() { // 在場(chǎng)景中找到汽車模型car = GameObject.Find("Audi01"); // 在場(chǎng)景中找到汽車模型需要變顏色的材質(zhì)carMaterial = GameObject.Find("Audi01").Find("HDM_02_05_hood").renderer.material; }function Update() { // 讓汽車模型自旋car.transform.Rotate(Vector3(0.0, 0.5, 0.0)); }function ChangeColor(color:String) {var materialName:String = carMaterial.name; // 得到所有可渲染的子物體var rds = car.transform.GetComponentsInChildren.<Renderer > (); // 逐一遍歷他的子物體for (var r:Renderer in rds){ // 逐一遍歷子物體的子材質(zhì)for (var m:Material in r.materials){if (m.name.Equals(materialName)){print(m.name);switch (color){case "red":m.color = Color.red;break;case "blue":m.color = Color.blue;break;case "black":m.color = Color.black;break;}}}} }function OnGUI() {if (GUI.Button(Rect(10, 10, 100, 40), "藍(lán)色")){ChangeColor("blue");}if (GUI.Button(Rect(115, 10, 100, 40), "紅色")){ChangeColor("red");}if (GUI.Button(Rect(220, 10, 100, 40), "黑色")){ChangeColor("black");} }總結(jié)
以上是生活随笔為你收集整理的Unity3D教程:汽车模型外壳颜色更换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017云栖大会 域名专场 诚信经营 从
- 下一篇: 2017云栖大会参会体验