Unity Inspector面板常用的属性】的更多相关文章

在扩展Unity的时候,往往会用到一些属性,这里将常用的列一下. 1.属性只读: #if UNITY_EDITOR using UnityEditor; #endif using UnityEngine; public class ReadOnlyAttribute : PropertyAttribute { } #if UNITY_EDITOR [CustomPropertyDrawer(typeof(ReadOnlyAttribute))] public class ReadOnlyDraw…
一.定制进度条 这篇文章主要学习如何在Unity的Inspector中使用ProgressBar 普通属性面板预览 通常我们的属性面板如下 定制属性面板预览 而通过扩展成ProcessBar后 二.内容简介 Inspector面板可以用来对Component和Asset进行快速编辑. 如果您的Unity中没有看到Inspector面板,可以通过快捷键方式 Ctrl+3 打开. 这篇文章我们将对一个类制作一个自定义的Inspector面板. 三.默认的Inspector样式 MyActor.cs…
使用反射功能在Unity运行状态通过Inspector面板修改字段和调用方法 效果展示 一个很简单的组件脚本 运行状态在Inspector面板可以随便修改字段和调用方法 方法调用日志 设计由来 最近在学习反射 结合游戏开发过程遇到比较难受的事情 应用场景 游戏特别庞大.电脑特别垃圾.重新运行一次Unity需要等待几十秒的情况下 你需要修改一个组件字段或者调用一个方法展示一个动画等等 这个时候你肯定渴望可以直接修改字段或者直接调用某个方法 反射就可以实现 修改实例对象所有的字段包括私有字段 调用实…
自定义Inspector面板的步骤: Unity内创建自定义的Inspector需要在Asset的任意文件夹下创建一个名字是Editor的文件夹,随后这个文件夹内的cs文件就会被放在vstu生成的Editor程序集里. 自定义Inspector需要创建一个继承自UnityEditor.Editor的类,并且提供一个[CustomEditor(typeof(Behavior))]类特性标记,其中Behaviour就是要自定义观察器的目标组件类型. 然后在Editor派生类里实现OnInspecto…
Serialize功能Unity3D 中提供了非常方便的功能可以帮助用户将 成员变量 在Inspector中显示,并且定义Serialize关系. 简单的说,在没有自定义Inspector的情况下所有显示在Inspector 中的属性都同时具有Serialize功能. 换句话说,就是你在Inspector看到什么,保存游戏的时候,这些值就会被保存成二进制文件. 本文说说可被Serialize的变量的定义方法 1. public 变量在没有加入任何Attribute的前提下,public变量是默认…
今天在优化红点组件,笔者打算将红点id由10进制改为16进制处理,就打算将红点id字段由uint类型改成string类型,用于填写16进制的字符(因为在Inspector面板里,uint/int类型字段不能直接填写16进制表示的数字),且希望限制该字段的输入限制,仅限于填写0-9A-Fa-f等16进制字符串,但unity并没有提供任何PropertyAttribute类来限制字符输入,达到类似于as3 text组件的restrict效果.因此笔者自定义了一个RestrictAttribute类,…
今天开始协助主程一起制作新框架.主程让我写关于新版UI框架注册UI预制体用的快捷编辑器. 现学现写,总算完成了. 可以直接把选中的预制体添加到UIController的数组中,期间涉及到改变大小.所以使用了List进行临时转换 其他调整角标越界问题和一些编辑器基础知识就不需要提了,重点记一下在Inspector面板中若编辑内容场景检测不到变化,需要手动做一些无用操作再Ctrl+S才能保存的问题.在百度上查到很多人给的是这个方法: 试验证明在本项目中并没有效果,后来查Google进到Unity官方…
Unity中的常用快捷键 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Windows系统Unity3D中的快捷键 组合键 键 功能 File 文件 Ctrl N New Scene 新建场景 Ctrl O Open Scene 打开场景 Ctrl S Save Scene 保存 Ctrl Shift S Save Scene as 保存场景为 Ctrl Shift B Build Settings…
简单说一下属性和字段的区别:字段就是成员变量,而属性确实提供给外部访问内部成员变量的接口.之所以会有属性的出现,就是为了避免外部对类的成员的直接访问,通俗的说就是OOP中的封装思想. using UnityEngine; using System.Collections; public class DemoTest : MonoBehaviour { private int _score; public int Score { get { return _score; } set { ) { v…
之前做了普通对象的可继承的检视面板类, 现在想要实现对Unity自带的检视面板的继承的话, 要怎样写呢? 万变不离其宗,  仍然是围绕UnityEditor.Editor.CreateEditor 这个函数来实现: /// <summary> /// decorate Unity's built-in inspector Editor. /// </summary> public class DecoratorEditor<T> : UnityEditor.Editor…