您的位置:首页 > 移动开发 > Unity3D

unity材质的切换

2015-12-11 10:09 579 查看

unity材质切换,主要运用射线选择物体,通过获取组建来替换材质,还有UI的调用函数。

操作:进入工程,点击物体,然后点击点击UI“yellow”“blue”“red”,点击的物体就可以切换材质

using UnityEngine;
using System.Collections;

public class ControlMaterial : MonoBehaviour {
private  GameObject objRayHit;
private Material matRayHit;
private Camera myCamera;
public Material matRed;
public Material matBlue;
public Material matYellow;

// Use this for initialization
void Start () {
myCamera = Camera.main;
}

// Update is called once per frame
void Update () {
//定义射线
Ray rays = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hits;
if (Input.GetMouseButton(0)) {
if (Physics.Raycast(rays, out hits)) {
objRayHit = hits.collider.gameObject;
//获取组件
matRayHit = hits.collider.gameObject.GetComponent<MeshRenderer>().material;
}
}
}
//定义函数,通过UI按钮调用
public void RedMaterial() {
objRayHit.GetComponent<MeshRenderer>().material = matRed;
}
public void BlueMaterial() {
objRayHit.GetComponent<MeshRenderer>().material = matBlue;
}
public void YellowMaterial()
{
objRayHit.GetComponent<MeshRenderer>().material = matYellow;
}
public void OwnMaterial()
{
objRayHit.GetComponent<MeshRenderer>().material = matRayHit;
}

}

工程的下载地址链接:http://pan.baidu.com/s/1i4vbksH 密码:8wos。

unity版本:Unity 5.1.2f1 (64-bit)

大家有好的想法,可以写一下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: