Unity3D教程:汽车模型外壳颜色更换
生活随笔
收集整理的這篇文章主要介紹了
Unity3D教程:汽车模型外壳颜色更换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
模型外殼顏色更換的實現思路(實例運行效果如下圖所示),在場景中我們先需要在場景中放置一個平面,然后在平面上放置一個奧迪的汽車模型,最后調整攝像機的位置。
腳本中在Start()函數中我們首先在場景中找到汽車模型對象,接著找到需要進行顏色更換的材質對象。在Update()函數中需要實現汽車模型的自旋從而展示汽車模型個方位的細節(jié)。在ChangeColor()方法中主要實現對汽車外殼顏色的變換,遍歷汽車模型對象,找到命名符合約定的材質并修改材質的顏色。最后,在OnGUI()函數中需要繪制三個按鈕以實現汽車模型三種顏色的變換。
#pragma strict var car: GameObject; var carMaterial: Material;function Start() { // 在場景中找到汽車模型car = GameObject.Find("Audi01"); // 在場景中找到汽車模型需要變顏色的材質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){ // 逐一遍歷子物體的子材質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), "藍色")){ChangeColor("blue");}if (GUI.Button(Rect(115, 10, 100, 40), "紅色")){ChangeColor("red");}if (GUI.Button(Rect(220, 10, 100, 40), "黑色")){ChangeColor("black");} }總結
以上是生活随笔為你收集整理的Unity3D教程:汽车模型外壳颜色更换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017云栖大会 域名专场 诚信经营 从
- 下一篇: 2017云栖大会参会体验