客户端工具
文章平均质量分 84
客户端工具,聚焦于UnityEditor的实现
暗光之痕
这个作者很懒,什么都没留下…
展开
-
Unity3D 参数曲线 实现曲线上的匀速运动
环境:Unity2021.1.14 语言:C#总起本文源代码可以在https://github.com/anguangzhihen/TestOdinInspector中的TestCurve场景中找到。Bezier曲线和Catmull-Rom曲线是工程中常见的曲线实现方式,他们本身原理十分简单,只是个多项式方程组,拿到公式带入就能实现。Bezier曲线和Catmull-Rom曲线之间可以相互转换,所以本篇内容只针对Bezier曲线进行说明,Catmull-Rom本质上是一样的。原创 2022-03-27 21:31:30 · 4794 阅读 · 0 评论 -
Unity3D Editor ControlID 简单介绍
环境:Unity2021.1.14 Odin3.0.4 语言:C#面向:Editor开发人员总起当我在工具代码中看到这行代码时:GUIUtility.hotControl = id;我产生了一个疑问,ControlID是什么?在第19章 GUI を自作する - エディター拡張入門中的介绍也只是寥寥几笔:为每个GUI分配一个ControlID,此ID使每个GUI独立,如果没有正确分配这个ID,你最终会遇到多个GUI操作的冲突。比如当鼠标拖动GUI.Window时,范原创 2021-11-06 16:14:35 · 982 阅读 · 0 评论 -
Unity3D Odin Inspector 简单介绍与入门
环境:Unity2021.1.14 Odin3.0.4 语言:C#面向:Editor开发人员总起从很早之前粗略了解Odin,看到它炫酷地Editor实现方式,到现在重度使用,慢慢的一个疑问缠绕在我心中。Odin究竟解决了一个什么问题?根据半年的使用经验,我尝试回答一下这个问题。Odin提供一整套Editor UI绘制的解决方案,大概有四个特点:以数据类作为核心绘制单元,通过打Attribute形式指定绘制形式; 100多个Attribute提供了庞大的绘制能力与原创 2021-09-04 13:06:03 · 1608 阅读 · 2 评论 -
Unity3D Editor Undo回退效果实现3 Odin相关
环境:Unity2021.1.14 Odin3.0.4 语言:C#面向:UnityEditor/Odin进阶开发人员总起我们在前两篇文章中讲解了Unity中Undo原理并进行了实现,这次我们来看看Odin是如何接入Undo。实际上Odin本身是基于Unity的IMGUI,所以它Undo的底层实现就是使用的Unity中的Undo。Odin实现Undo先来看看以下实现:using System;using Sirenix.OdinInspector;using Si原创 2021-08-22 16:52:27 · 626 阅读 · 0 评论 -
Unity3D Editor Undo回退效果实现2
环境:Unity2021.1.14 Odin3.0.4 语言:C#面向:Editor开发人员文章参考:http://49.233.81.186/undo.html总起前接上文,这次介绍一下组的概念和一个效果实现的实践。组的概念尝试以下代码:using Sirenix.OdinInspector;using UnityEditor;using UnityEngine;public class Test3 : MonoBehaviour{ public原创 2021-08-08 16:54:18 · 2109 阅读 · 3 评论 -
Unity3D Editor Undo回退效果实现1
环境:Unity2021.1.14 Odin3.0.4 语言:C#面向:Editor开发人员文章参考:http://49.233.81.186/undo.html总起因为Unity在用于中小型游戏开发的时候并不太需要对Editor进行深度扩展,而现阶段使用Unity进行大型游戏的开发比较少,所以Editor相关的资料相对匮乏。安藤圭吾的《エディター拡張入門》作为为数不多的Unity Editor入门经典,内容丰富,并且深入讲述了很多原理性的知识,非常值得一看。本文主要原创 2021-08-03 22:44:12 · 764 阅读 · 0 评论 -
Unity3D Odin Inspector Attribute回调的实现原理
环境:Unity2021.1.14 Odin3.0.4 语言:C#面向:Odin进阶开发人员问题在Odin Attribute的使用过程中,比如OnValueChanged,通常会传入一个字符串指定回调函数。通过字符串指定回调函数的方式是否能通过Odin的API主动调用?带着这样的疑问,我开始了探索。情况使用OnValueChanged的Attribute可以指定回调函数,在age值改变的时候会触发OnAgeChanged:public class Test1 : M原创 2021-07-22 13:07:55 · 573 阅读 · 2 评论