当前位置:网站首页>Unity扩展编辑器EditorWindow 小玩意(二)
Unity扩展编辑器EditorWindow 小玩意(二)
2022-08-10 05:37:00 【作孽就得先起床】
正如我在第一篇写的一样,那么如何应用是第二篇主要书写的就是应用
简单给物体对象变个颜色?
平常我们如果给一个cube对象变颜色有两种普通方法
1、代码写挂载脚本变颜色
2.创建材质改变颜色,挂载到物体上
原版本unity中此操作会在一定程度上节省内存,且会简化操作,但现在这个区别不大,用此案例仅做科普,现在适用一些复杂的操作简化操作,缩短游戏开发过程的时间,毕竟这属于自定义工具。
优点:
1.不需要运行即可达到效果,与材质性质一致,比较直观
这个东西是直接在代码中进行操作的,如果你看到这里不理解,可以先看看第一篇的内容
代码如下:
using UnityEngine;
using UnityEditor;//调用组件
public class Window : EditorWindow//修改继承
{
Color color;//作为过渡使用
[MenuItem("Window/Example")]//在菜单中创建选项
public static void Showwindow()
{
EditorWindow.GetWindow<Window>("Example");//在unity菜单栏中找到名称为Example的项目关联代码,指定窗口
}
void OnGUI()
{
GUILayout.Label("进行变色",EditorStyles.boldLabel);//,之后这里是黑体加粗,这里显示了一段文字
color = EditorGUILayout.ColorField("Color", color);
//上面这里会将你输入的内容保存到color里
if (GUILayout.Button("点我变色"))//它会生成一个名叫“点我变色”的按钮,当你点击时它会返回一个true
{
foreach (GameObject item in Selection.gameObjects)//遍历你选中的对象
{
Renderer ren=item.GetComponent<Renderer>();//查找该对象是否具有变色功能
if (ren!=null)//如果具备
{
ren.sharedMaterial.color= color;//进行变色
}
}
}
}
}接着打开

打开变成这样

接着操作

效果如下:

边栏推荐
- Myunity框架笔记3
- How to implement a grid construction system
- 探究乱码问题的本源:GBK,UTF8,UTF16,UTF8BOM,ASN1之间的关联
- 在Unity中利用代码动态更改场景中的天空盒
- 以STM32F103C6T6为例通过配置CubeMX实现EXIT外部中断
- Unity导航与寻路系统的基本使用
- 碳酸锂、碳酸氢锂溶液除钙镁离子工艺原理
- Easy to master Unity of eight prior to rendering
- (Flutter报错)Cannot run with sound null safety, because the following dependencies
- Unity2d自动寻路(AI插件)
猜你喜欢
随机推荐
每日刷题(day03)——leetcode 899. 有序队列
hanLP探索-语义距离计算的实现
解决错误 Could not find method leftShift() for arguments
二次元卡通渲染之描边
酸回收树脂工艺技术详解
氨氮吸附工艺
废水中氟离子去除方法
Unity中Xml简介以及通过脚本读取Xml文本中的内容
Unity screen coordinates to world coordinates, mouse click to get 3D position
工业废酸回收工艺
动态规划、背包问题 6/28 121-124
为什么游戏需要热更新?
动态规划、背包问题 6/23 101-105
21天学习挑战赛--补种胡杨求最大连续胡杨数量
开源游戏服务器框架NoahGameFrame(NF)客户端环境搭建(三)
How is C# hot update better than Lua?
Teach you to change the kernel source code--sysfs virtual file system 1
动态规划、背包问题 6/22 96-100
21天学习挑战赛--字符串切割
手把手教你改内核源码--sysfs虚拟文件系统2









