编辑器下动态更换对象材质

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 using UnityEditor;
 5 
 6 [ExecuteInEditMode]
 7 public class SetMaterial : MonoBehaviour {
 8 
 9 #if UNITY_EDITOR
10     [ContextMenu("SetMaterial")]
11     void SetObjsMaterial()
12     {
13         MeshRenderer[] renders = gameObject.GetComponentsInChildren<MeshRenderer>();
14 
15         Material resMat = Resources.Load<Material>("Default_Materiall");
16 
17         foreach (MeshRenderer render in renders)
18         {
19             render.material = resMat;
20         }
21     }
22 
23     private void OnGUI()
24     {
25         MeshRenderer[] renders = gameObject.GetComponentsInChildren<MeshRenderer>();
26 
27         Material resMat = Resources.Load<Material>("Default_Materiall");
28 
29         foreach (MeshRenderer render in renders)
30         {
31             render.material = resMat;
32         }
33     }
34 #endif
35 }

 说明:

[ExecuteInEditMode] : 表示在编辑器模式下执行OnGUI和Update
[ContextMenu("SetMaterial")] : 在编辑器下手动执行自定义方法


转载于:https://www.cnblogs.com/AaronBlogs/p/7340579.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值