前言在导入别人插件的时候,常常会发现上面菜单栏中会多出几个菜单,在后来的学习中发现,原来unity还可以自定义特性unity中的特性分别定义在两个命名空间中。unityEngine 和 unityEditor.AddComponentMenu特性在 UnityEngine中,Unity3D中常用的一些特性定义在UnityEngine中;1:AddComponentMent ,添加 组件
Unity项目中,unity会按照脚本在项目中的位置生成四个预定义程序集(Assembly-CSharp-firstpass,Assembly-CSharp-Editor-firstpass,Assembly-CSharp,Assembly-CSharp-Editor),其编译顺序是按插件->工程代码,运行时->Editor规则交错的编译顺序.对于Package的代码,Package
       Unity中的Shader都是要通过ShaderLab的基本语法进行编写。        一、  下面我们先从Shaderlab基本语法开始入手ShaderLab基本结构大致3个代码块儿(一、二、三)(一) 属性  【Properties】Shader “name”{  &n
自定义风格组件可以设置一组特殊的组件。用来满足系统提供的组件无法满足的需求。  首先在project视图里选择 create ——> GUI Skin ,创建一个自定义皮肤,然后再右侧inspector视图中展开Custom Styles下拉菜单选项。 可直接在size输入框中修改自定义风格组件的数量。本例设置了2个,分别取名为Custom0和Custom1。 然后我们
这里的自定义package指带有特定功能的一些文件做成在别的工程通过package manager加载的包。功能插件做成自定义packge的特点在于让插件的开发和维护与用户工程的开发文件完全隔离,用户工程不能更改插件内容但是能将插件用于实际开发中。实际云端给的单个项目大小一般最大不可能有超过2G,coding的最大,码云的第二,github第三,这种情况下,package manager的方式是比
自定义Inspector面板Attribute自定义Inspector使用Attribute实现下面的组件,体验几个Attribute的作用:public class EditorTest : MonoBehaviour { [Header("属性标题")] [Tooltip("This is a property.")] public int property1;
转载 3月前
92阅读
功能需求:假设项目中有一个UI公告板的需求,这个公告板的长度或者宽度是固定的。里面有很多带文字的新闻,但是这些个新闻的字数和大小是不固定的,要求模仿自动布局组件,写一个组件满足UI的需求。前置学习(主要学习来自与唐老狮的UGUI课以及自己总结,感兴趣可以自行去购买查看内容)要想完成该功能,首先需要学习已经存在的自动布局组件,了解已经存在的自动布局组件为什么不能满足该需求。Layout Proper
前言借用梦想世界宠物属性图想必大家都在游戏中见过属性图用于展示多种属性的数值,可以较为直观的对比某种属性的缺陷或者是哪种属性有优势。在三维可视化领域也会遇到类似的属性对比,用属性图来展示最为合适。组件效果基础效果效果一效果二效果三效果四效果五组件特点一键创建,无需额外资源超多属性可自定义可跟具需求拓展主要内容组件实现(建造者模式)组件多样化(工厂模式)组件使用详细讲解组件实现(建造者模式)建造者模
目录常用rectTransform的api脚本搭建背包全部代码 常用rectTransform的api脚本何为常用?被我碰到那就是常用的RectTransform.anchoredPosition 瞄点的中心点坐标RectTransform.anchorMax 父 RectTransform 中右上角锚定到的标准化位置。RectTransform.anchorMin 父 RectTransfor
简介Unity2018新增的功能 “包管理器”,相信很多文章都已经转载介绍过了。但是怎么看,里面就是一堆原本在AssetStore里的官方工具包。难道官方为了照顾中国开发者的网络,特地做个简化的AssetStore面板吗?仔细调研了一番,发现这其实是一个“巨大巨大超级超级给力的更新”。众所周知,用 node、python 等进行开发,就免不了 brew, npm, pip 一下。这些语言崛起的非常
前话在许多类型游戏中我们经常会使用到背包,利用背包来设置相应角色属性,多了背包也会让游戏增色拓展不少。 那在Unity3D游戏开发中该如何编写背包系统呢?因为有高人开发了NGUI插件,因此我们进行简单编写代码设置即可实现一个简单的背包功能了。准备工作新建一个工程PackageDemo导入NGUI包(最新版3.9.8版的正版89刀)准备好图片素材,使用NGUI将其打包成图集背包 背包格子 物品 简
做一个自定义窗口的小记录,虽然已经做了好几次拓展unity窗口的操作了,但是每次都要要上网查查,这次自己记录一下,加深印象。 实验要求:做一个再菜单里可以呼出的自己的窗口,窗口里面可以选择文件路径,然后找出文件中包含某个关键词的文件路径并显示。第一步:菜单呼出 这个很简单:[MenuItem("Tools/SearchShader #Q")] public static void Doi
Unity 允许用户实现自定义窗口,以实现项目更加灵活且系统的配置。例如关卡编辑器、打包编辑器等等。它是能做出最多自定义功能的,但是实现过程其实也是比较固定的。总得来说自定义窗口最重要的部分其实是窗口内GUI得布局和方法,也就是说你要在窗口里做些什么。窗口类型默认窗口(可与其他窗口合并):适合做编辑器窗口。弹窗 (PopUp):适合做窗口分层。对焦弹窗(DropDown,失去焦点自动关闭):适合提
最近学习了Unity自定义编辑器窗口,下面简单总结,方便用到时回顾。新建一个脚本:using UnityEngine; using System.Collections; using UnityEditor; /// <summary> /// 自定义的编辑器窗口 /// </summary> public class MyWindow : EditorWindow {
前言考虑到工业项目中可能会利用到类似日历的工具,就比如选取某个时间节点,所以我结合UGUI源码开发了日历工具和日期拾取器工具,简单易用,接口齐全,可中文显示,外观可自定义。只需要导入脚本,即可在Hierarchy面板直接创建组件,和使用自带组件一样方便。主要内容:1.日历工具(仿Winform平台的Calendar组件) 2.日期拾取器 3.如何使用日历组件和日期拾取器组件实现效果:实现方法:1.
如果你想创建不需要附加到游戏物体的对象,就可以使用ScriptableObject这个。 ScriptableObject一般用来存储u3d无法打包的对象(object),利用它可以将对象打包为assetbundle或者.assets文件以供后续使用。总体来看这也是一个很好的序列化方法。 1.首先需要创建一个,必须继承自ScriptableObject Test.cs: using Unit
一、MenuItem:创建菜单项  (1) 描述   MenuItem属性可以让你在主菜单和inspector context菜单中添加菜单项。   MenuItem属性可以将任何static函数转换为菜单命令。只有static函数可以使用MenuItem属性。   创建热键,可以使用以下特殊字符:%(在Windows上表示ctrl,在macOS表示cmd),#(shift)和&(alt)。如果不
1.using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; //窗口需要继承自EditorWindow public class MyWindow : EditorWindow { //窗口需要一个打开的方式 //MenuItem属性会在编
   之前学习c#的时候 碰到[ ] 里一堆英文 ,就发憷,,现在才了解 这种格式的写法叫做 特性   下面,开始总结一下自己所理解的 特性 和一些 特性的意思:      特性: 就是一种声明性的标签(、结构体、枚举、字段(变量)等)      下面划分了3个方面  &nbs
 通过类别来给已经存在的添加方法来实现自定义 如果你需要添加一个方法给一个已经存在的,也许能增加新的功能使你更容易来在我们的应用里处理一些事情。最简单的方法是用类别。这个语法有点想的接口描述但是他是没有继承的,相反的要指定类别的名字在括号里面。@interface ClassName (categoryName) @end一个类别可以被定义在任何的里面。甚至你不知道
  • 1
  • 2
  • 3
  • 4
  • 5