Unity菜单编程-自定义的图片Inspector面板
来源:互联网 发布:阿里云设置二级域名 编辑:程序博客网 时间:2024/06/10 01:47
本类以.png图片的inspector面板为例,实现一个图片自定义的Inspector面板,Inspector面板可以直接针对当前选中对象做一个操作。
下面的mytestInspector类是用于将当前选中的.png图片自动转为Sprite类型,但是我有一点不太清楚TextureImporter类在修改textureType的时候,如果没有跟着指定textureFormat图片格式的,就会出现白图片。重新指定一下图片格式就OK了
用到的方法:
- OnEnable() 激活时调用,
- OnInspectorGUI GUI刷新类似于mono的OnGUI(),所用的面板组件也和OnGUI差不多
不过学习写的过程中发现几个问题:
- 其中,myclass类可以是一个普通类,用来保存或响应Inspector菜单类中的设置或操作
- 继承于Editor的TextureImporter 菜单类不一定非放在Editor目录下
- 同类型的Inspector面板,比如同时有两TextureImporter类,个同时只会有一个生效,并且Editor目录下的那个菜单类优先生效
如图是编译完 图片属性面板的效果:
最后,附上源码:
using System;using UnityEditor;using UnityEngine;/// </remarks>/**这一行比较关键 指明是图片导入菜单**/[CustomEditor(typeof(TextureImporter))]public class mytestInspector : Editor{ //inspector激活时调用,选中图片时也会会调用 public void OnEnable() { Type type = Type.GetType("UnityEditor.TextureImporterInspector, UnityEditor"); //选中图时 修改图片属性啊 TextureImporter import = (TextureImporter)target; if (import.textureType != TextureImporterType.Sprite) { import.textureType = TextureImporterType.Sprite; import.mipmapEnabled = false; import.textureFormat = TextureImporterFormat.RGBA32; import.filterMode = FilterMode.Bilinear; import.SaveAndReimport(); import.textureFormat = TextureImporterFormat.AutomaticCompressed; Debug.Log(Time.time + " focuse on cur image forse set Image as Sprite type!"); } } //inspector GUI public override void OnInspectorGUI() { string assetPath = ((TextureImporter)target).assetPath; //if (assetPath.EndsWith(".png")) { GUIContent testStr1 = new GUIContent("input testStr", "teststr to myclass"); myClass.testStr = EditorGUILayout.TextField(testStr1, myClass.testStr); if (GUILayout.Button("test Button")) { myClass.testClick(assetPath); } } }}public class myClass{ public static string testStr = ""; public static void testClick(string assetPath) { //TODO }}
1 0
- Unity菜单编程-自定义的图片Inspector面板
- Unity 自定义Inspector面板 样式
- Unity CustomEditor 自定义编辑脚本Inspector面板
- Unity CustomEditor 自定义编辑脚本Inspector面板
- unity自定义inspector面板(选择不同枚举类型,inspector面板出现不同信息)
- Unity拓展Inspector面板之添加自定义Button
- Unity Editor 基础篇(二):自定义 Inspector 面板
- 自定义Inspector面板
- Unity 属性面板Inspector定制
- Unity 编辑器 Inspector面板枚举
- 将类对象显示在Unity的Inspector面板上
- 【Editor】自定义Inspector检视面板
- 在Inspector面板内显示自定义的类的数组
- 【Unity】讲解如何在Unity的Inspector面板中用滑动条来控制变量的大小
- Unity扩展 检视面板(Inspector面板),编辑器窗口(自己定义的类似Inspector面板的窗口),scene场景 常用的类说明
- Unity里Inspector面板自定义学习——Custom Data,序列化一个类,自定义 property drawer
- 一键展开关闭unity的 Inspector面板上的所有组件
- 个人对unity inspector面板中不显示二维数组的解决方法
- 返回第N大的数--Mysql(学习)
- Android Studio
- C语言 写的 表达式求值。
- 第二章 Spring MVC入门 —— 跟开涛学SpringMVC
- GIT的常用指令
- Unity菜单编程-自定义的图片Inspector面板
- Java线程池
- java httpServer端接受post请求数据并使用3DES+base64加密解密demo希望能够对您有帮助
- session和cache的区别
- 链表——链表的插入排序和选择排序
- watchOS 2教程(二):表格
- 如何创建webp格式的图片
- 458-Decoder
- Shiro 1 , 登录过程