一般来说,当我们要扩展编辑器时,我们会从Editor类继承,为自己的MonoBehaviour实现不同的外观. 但是如果有一个struct/class,在许多地方被使用,Unity默认的外观又不够好看,此时想修改它的外观,就需要使用PropertyDrawer了. 上图是一个Monobehaviour中包含一个简单的struct(TileCoord类),包含两个int,但是显示效果十分别扭. 实现对应的PropertyDrawer后 相对于Editor类可以修改MonoBehaviour的外观,…
这次看见Unity还可以自定义弹出窗体,让我很好奇.于是就去网上找文章看了看. 如果想自定义窗体需要把类放入Editor文件夹下面. 代码如下: using UnityEngine; using UnityEditor; public class MyEditor : EditorWindow { [MenuItem("GameObject/window")] static void AddWindow() { Rect wr = , , , ); MyEditor window =…
自定义QT窗口部件外观 重新定义Qt内置窗口部件的外观常用的方法有两种:一是通过子类化QStyle 类或者预定义的一个样式,例如QWindowStyle,来定制应用程序的观感:二是使用Qt样式表. QStyle 类的使用 1.      准备必要的背景图片.在你想添加自定义风格的工程目录下新建一个文件夹“images”,将背景图片等放入文件夹“images”. 2.      点击Qt Creator的“文件”->“新建文件或工程”->模板选择“Qt”,再选择Qt资源文件->点击“选择”…
写在前面 之前遇到过一些朋友问怎么在材质面板里定义类似于bool这种变量,控制一些代码的执行.我们当然可以写一个C#文件来自定义材质面板,就像Unity为Standard Shader写材质面板一样(你可以在built-in shader包里找到这些文件),但这样有时候太麻烦了.实际上,有一种更简单的方法,不需要写额外的C#文件就可以直接在shader里定义类似bool.enum这种简单的变量,Unity为这些变量提供了内置的材质面板.而这就是通过MaterialPropertyDrawer(当…
这么晚了准备睡觉的时候,去学习了一会. 发现一个标题好奇的点进去. 居然是自定义绘制属性.  在前几天这个问题把我难住了,没想到几分钟就能解决的问题. 我花了半天时间使用反射去解决...  如果我们想要让属性自定义绘制窗体,首先会想到扩展InspectorEditor, 这章讲解.原来属性可以独立绘制,亮瞎我的双眼! 如图: 步骤: 1. 定义绘制特性描述类(以数据提供给 –> 绘制类 –> 绘制) 2. 定义属性自定义绘制类      3. 给一个字段添加你的特性 1. 绘制特性描述类 us…
通过GUIStyle,可以自定义Unity编辑器的样式. GUIStyle可以new一个全新的实例,这样,需要自己处理所有自己需要的效果. GUIStyle还可以基于已经存在的实例new一个新的实例,这样,只需对原有的效果中不符合自己需求的进行修改. 就像这样: GUIStyle textStyle = new GUIStyle("HeaderLabel");textStyle.fontSize = 20; 一个基于 HeaderLabel  的字体显示风格,然后把字号放大成20: 然…
原文链接: https://sosedoff.com/2016/07/16/golang-struct-tags.html struct是golang中最常使用的变量类型之一,几乎每个地方都有使用,从处理配置选项到使用encoding/json或encoding/xml包编排JSON或XML文档.字段标签是struct字段定义部分,允许你使用优雅简单的方式存储许多用例字段的元数据(如字段映射,数据校验,对象关系映射等等). 基本原理 通常structs最让人感兴趣的是什么?strcut最有用的特…
若干问题: struct Node { int k, b; friend bool operator <(Node a, Node b) { return a.k < b.k; } }node1, node2; map<Node, int> mp; int main() { node1.k = ; node1.b = ; mp[node1] = ; node1.k = ; node1.b = ; printf("%d\n", mp.count(node1));…
最近开发中在对场景进行光照贴图烘焙时发现一个坑爹问题,在使用自定义shader的时候,shader命名中必须包含Transparent路径,否则烘焙的时候不对alpha通道进行计算,烘焙出来都是狗皮膏药 比如一个shader叫 Shader "xx/UnlitAlphaCutout" 要改为 Shader "xx/Transparent/UnlitAlphaCutout" 才能烘焙出正常的效果,不知道Unity做了什么黑科技,居然在烘焙的时候判断了Transpare…
分类:C#.Android.VS2015: 创建日期:2016-02-18 一.简介 自定义的列表视图通常用Resources/Layout文件夹下的axml文件中的资源来声明,适配器则通过Id去加载它.一个视图可以包含任意数量的类 (如 TextViews. ImageViews 和其他控件) 以及自定义的颜色.字体和布局. 由于ListView的外观是由行的布局决定的,因此,若要更改列表视图的外观,只需要使用不同的行布局即可. 如果希望显示更复杂的布局 (如电子邮件.联系人列表),必须用自定…