- 博客(54)
- 收藏
- 关注
原创 Unity UIToolkit 2021.2 新特性前瞻
目前Unity已经除了2021.2beta版本,在该版本中UIToolkit又有了新的变化,具体内容可以关注以下网址:What’s new in UI Toolkit?,我会简单的为大家介绍更新的内容。1.Runtime UI从最早的UI Element开始,历经多个版本,从2021.2开始,正式支持通过UIToolkit来为游戏和程序来创建UI,大家可以多多尝试这种新的UI工作流。2.UI Toolkit的全新功能2.1 TextMesh Pro在2021.2中,UIToolkit集成了Tex
2021-07-16 16:24:07
4562
5
原创 UIToolkit编辑器练习(二)
闲话不表,书接上回,在上回书说到,创建了一个List用来显示元素,这次就要做一个显示并且可以做修改的界面1.设计UI在这里我在UIBuilder中设计了一个简单的UI,以供显示和修改数据,这里要注意左边的命名方式,并且将ID设置为ReadOnly2.实现选择功能我们简单的修改一下之前的代码: VisualElement root; //保存itemList选中的物品 private static XElement selectedItem; private void OnEnable
2021-01-06 23:33:00
1754
1
原创 UIToolkit编辑器练习(一)
写一个UIToolkit的文章,记录一下UIToolkit的使用方式(一阵时间不用都快忘了),顺便写一个简单的物品编辑器数据保存为xml,使用LinqToXml,编辑器使用UIToolkit制作,并简单的模拟最终幻想14的物品需要UIBuilder插件1.创建Editor窗口通过Assets->Create->UIToolkit->Editor Window创建窗口ItemEditor(可以只选C#和uxml)然后通过UIBuilder,做一个简单的窗口然后修改Item.
2020-12-30 20:21:36
4387
3
原创 Ink脚本语言学习笔记(小结)
在之前的四个部分中已经基本了解了Ink的语法和功能,这里就个人的理解作一下小结一、基础内容文本——分为默认/注释/提醒/标签文本,如果没有经过特殊标记,所有默认文本会显示在输出内容中选项——分为用*号标记的一次性选项和用+标记的可重复使用的选项(粘性选择)2.1. 除了方括号内的内容都会输出2.2. 选项中的内容是*号到]号之间的内容2.3. 多个标记符号并列能够组成多选结构2.4. 通过使用*-> ->DONE可以设置默认选项,是没有选项的选项,当选项全部消失后,会自动进入默认
2020-10-16 01:02:10
1506
原创 Ink脚本语言学习笔记(四)
目前想要基于Ink脚本语言和Unity新的UIToolkit做一套对话系统,本文对Ink脚本语言的使用方式做一下介绍和总结Ink脚本语言学习笔记(三)四、进阶故事流控制(Advanced Flow Control)1)全局变量(Global Variables)...
2020-10-16 00:23:25
691
原创 Ink脚本语言学习笔记(三)
目前想要基于Ink脚本语言和Unity新的UIToolkit做一套对话系统,本文对Ink脚本语言的使用方式做一下介绍和总结Ink脚本语言学习笔记(二)三、变量和逻辑(Variables and Logic)在Ink中还支持临时变量和全局变量,用于储存数字和内容数据甚至是故事流命令。Ink在逻辑方面的功能齐全,还包含一些其他的结构,这些结构可以帮助我们更好地组织分支结构复杂的故事的逻辑1)全局变量(Global Variables)最为重要也是最有作用的变量可能就是一些用于储存游戏中某些具有独.
2020-10-14 20:34:31
1582
原创 Ink脚本语言学习笔记(二)
目前想要基于Ink脚本语言和Unity新的UIToolkit做一套对话系统,本文对Ink脚本语言的使用方式做一下介绍和总结Ink脚本语言学习笔记(一)二、缝合(Weave)目前没想好怎么翻译这个单词,暂且翻译为“缝合”到目前为止,我们都是在用一种最为简单的方式构建分支结构的故事——通过“选项”链接到“节点”但是这要求我们在编写脚本的过程中的每一个节点都需要有唯一的名称,而这会减慢我们编写的速度,并且对小分支会有不利影响Ink具有更加强大的可用语法,可以简化通常的线性的故事流程而这种格.
2020-10-14 04:35:49
1036
原创 Ink脚本语言学习笔记(一)
目前想要基于Ink脚本语言和Unity新的UIToolkit做一套对话系统,本文对Ink脚本语言的使用方式做一下介绍和总结InkyInky 是一个可以编辑ink脚本语言的编辑器,我们先在 Inky 编写脚本,完成之后导出进入Unity进行使用,之后所有相关的学习内容都会基于Inky进行学习,使用方式就不多做介绍了,非常简单本文大部分的内容也会基于Inky Documents,想要详细了解的小伙伴也可以自行查看文档一、基础内容1)文本(Content)默认文本,除非经过特殊标记,那么所有.
2020-10-13 02:39:14
3444
1
原创 Unity UIToolkit 如何在Runtime模式进行使用
该文章使用的Unity版本为2020.1.7f1c1使用的package版本为UIBuilder:1.0.0-preview7,UI:1.0.0有关如何安装的内容可以参考我前一篇文章:如何安装package在本文中将记录如何在Runtime模式中使用已经制作好的uxml文件Runtime1.创建一个类public class UIToolkitSampleRuntime{ public string m_discribe; public int m_curHP; .
2020-10-05 16:58:37
1161
1
原创 Unity UIToolkit 如何在Editor模式进行使用
该文章使用的Unity版本为2020.1.7f1c1使用的package版本为UIBuilder:1.0.0-preview7,UI:1.0.0有关如何安装的内容可以参考我前一篇文章:如何安装package在本文中将记录如何在Editor模式中使用已经制作好的uxml文件Editor(Inspector)模式可以参考之前的文章UI Builder介绍,这里再记录一次Editor(Inspector)一、简单案例1.创建一个类using UnityEngine;[ExecuteInE.
2020-10-05 01:47:13
1756
原创 Unity UIToolkit 自定义VisualElement组件
该文章使用的Unity版本为2020.1.7f1c1使用的package版本为UIBuilder:1.0.0-preview7,UI:1.0.0有关如何安装的内容可以参考我前一篇文章:如何安装package在本文中将记录如何自定义VisualElement组件,然后在UIBuilder中进行使用1.使用UIBuilder制作一个简单的UI如下图所示如果有需要,例子的uxml代码在下方,可参考<ui:UXML xmlns:ui="UnityEngine.UIElements" xmln.
2020-10-03 20:10:36
3350
原创 Unity UIToolkit 使用笔记
该文章使用的Unity版本为2020.1.7f1c1使用的package版本为UIBuilder:1.0.0-preview7,UI:1.0.0UIToolkit的使用方式和UIElement已经有了区别!!!主要记录一下新的runtime使用方式,以及package的安装方式1.预先准备通过PackageManager安装最新(包括Preview)的UI和UIBuilder组件;如果没有Preview版本,可以通过Edit-ProjectSettings-PackageManager-A.
2020-10-02 16:48:24
7875
1
原创 Unity2019 UIElement 笔记(十五)UIElementsUniteCPH2019案例简单介绍
Unity2019.3.0f1已经出来了,但是目前还是没有UIElements Runtime的内容,我就拿UIElementsUniteCPH2019RuntimeDemo这个官方案例来简单介绍一下其实大部分的内容都和之前一样,只有——2. 如何使用——部分略有更新,如果对之前的内容有了充足的了解,只需要看2.即可(内容也不多),以此我们可以看出UIElement的强大1. Main...
2019-12-02 17:39:03
2770
2
原创 Unity2019 UIElement 笔记(十四)UI Builder
如果需要了解Unite Copenhagen 2019中有关UI Element的内容,可以看这位大大的文章——【Unity】UIElements 渲染细节,比NGUI/UGUI/FairyGUI好在哪?本文就简单介绍一下UI Builder的使用1.安装UI Builder我目前使用的Unity版本是2019.3.0b9,在菜单栏选择Windows——Package Manager,在...
2019-11-14 17:46:26
9028
原创 自定义节点编辑器xNode——简单使用(四)
本文中的项目来源于 https://github.com/Siccity/xNode2 简单的使用介绍我一时之间也没想到用这个xNode做什么好,那我们随便来做一个物品编辑器2.1 预先准备首先我们再Assets文件夹创建一个文件夹FirstNodeGraph,并在该文件夹中创建三个文件夹:Editor、Node和Graph(当然你也可以不这么做,我这么做是为了之后方便我进行管理)2...
2019-10-31 20:06:39
5635
原创 自定义节点编辑器xNode——NodeDataCache(三)(番外)
本文中的项目来源于 https://github.com/Siccity/xNode本章节内容和之后关系不太大,可不看1.6 NodeDataCache我们能可以在编辑器中预处理反射数据,这样我们就不必在运行时进行处理1.6.1 PortDataCache这个类继承了Dictionary和ISerializationCallbackReceiver接口,通过Type来保存NodePo...
2019-10-31 20:06:14
1215
原创 自定义节点编辑器xNode——Node介绍(三)
本文中的项目来源于 https://github.com/Siccity/xNode1.5 Node解析1.5.1 Node - Enum这一部分的内容在NodePort中我们已经看到过了,我们来具体了解一下[Serializable]public abstract class Node : ScriptableObject { ///这两个枚举是在[Input]和[Outp...
2019-10-29 18:37:41
6498
2
原创 自定义节点编辑器xNode——NodePort和PortConnection(二)
本文中的项目来源于 https://github.com/Siccity/xNode1.4 NodePort就像第一章所说的,类似Graph中维护了一个Node的链表,在Node中也维护了一个NodePort也就是Node的接口的链表,所以在介绍Node之前,我们先要来介绍NodePort这个类我们直接来看源码:[Serializable]public class NodePort...
2019-10-29 18:37:36
2542
原创 自定义节点编辑器xNode——Graph和Node简介(一)
因为尝试过很多节点型编辑器,比如Behavior Designer、ASE,或者官方的Shader Graph,那么我就想能不能自己也做一个节点型编辑器,因为个人能力有限,所以我想找找有没有现有的节点编辑器框架可供学习,我上Github招了一下,发现其实有不少框架,而这其中xNode是最吸引我的,那么就来学习一下xNode来定制自己的节点编辑器吧本文中的项目来源于 https://github...
2019-10-29 18:37:26
9876
1
原创 CSV解析——序列化生成类(四)
这章就比较简单了,又双需要进行序列化了,这次和之前的序列化略有不同,之前我们序列化传入的参数是T[]类型,就和上一章所说的一样,现在我们的类型T是一个未知类型,因此我们不能传入数组,我们只能将Array传入先写一个函数重载,这个函数和之前的类似static public string Serialize(Array array){ string result = ""; re...
2019-10-11 19:10:19
436
原创 CSV解析——对生成类进行反序列化(三)
在第一章中能够进行简单的序列化,这个时候类是手写的,而在第二章中已经可以代码生成类,现在我们就需要对这个生成类进行序列化操作我们先要声明一个反序列化的函数,然后得到我们csv中的数据private void Deserialize(){ TextAsset data = AssetDatabase.LoadAssetAtPath<TextAsset>(csvPath);...
2019-10-11 19:10:08
375
原创 CSV解析——利用CodeDom生成所需类(二)
在上一章中讲到了,在进行反序列化的时候,我们会通过反射把数据注入到一个类中,而这个类是需要我们手动写的,如果需要更方便的使用,比如临时使用或调整,我就希望这个类是能够自动生成的,这一章节就来介绍如何动态生成脚本文件有关动态生成脚本文件.cs的内容可以查询CodeDom,而这里Unity想要使用CodeDom需要使用以下三个命名空间:using System.CodeDom;using Sys...
2019-10-11 19:10:00
364
原创 CSV解析——简单利用反射+特性序列化CSV(一)
突然想结合Odin做一个解析CSV然后输出的工具,记录一下自己的想法,代码中的不足之处还希望大家指出有关解析CSV的内容已经有很多了,这里我使用了Assets Store中的一个免费插件CSV Serialize,这里是插件的下载地址,这个插件比较简单,源码也是公开的,且只提供了反序列化CSV的函数。(有关csv这种格式的内容大家可以自行查找)本文需要大家了解有关C#反射、特性、Linq方面...
2019-10-09 18:48:13
1042
原创 Unity插件——Odin 学习笔记(三)
5. Groups and Layout5.1. Table Lists5.1.1. TableList使用[TableList]以表的样式绘制List,具体的样式会根据具体元素的显示情况决定int NumberOfItemsPerPage——每页元素的数量bool IsReadOnly——是否只读int DefaultMinColumnWidth——默认最小列宽bool Show...
2019-09-19 16:33:52
5470
原创 Unity插件——Odin 学习笔记(二)
3. Essentials3.1. Show In Inspector3.1.1. ShowInInspector[ShowInInspector]可以用于任何成员,然后显示在Inspector面板中,但是通过该属性被显示出来并不意味着它被序列化了3.2. Enable If and Disable If3.2.1. EnumToggleButtons类似[ToggleLeft],[...
2019-09-18 16:19:23
5065
1
原创 Unity插件——Odin 学习笔记(一)
本文章是为了记录学习Unity插件Odin,使用该插件可以让我们更快速便捷的开发Unity工具前言Unity原生编辑编辑器的方法有两种——IMGUI和新的UIElement1.UIElement我之前做过介绍,开发模式类似于HTML+CSS,如果有类似经验的人开发及相对容易,但是就目前而言不太适合编辑器开发,我觉得比较适合取代UGUI进行UI开发2.IMGUI入门比较简单,使用Edit...
2019-09-17 15:47:37
26776
原创 Unity ECS+Jobs System笔记 案例解析3(十二)
本章节为大家解析ECS案例,资源来自,大家自行获取:https://github.com/Unity-Technologies/EntityComponentSystemSamples5、SubScene——???
2019-08-25 18:29:58
1979
原创 Unity ECS+Jobs System笔记 案例解析2(十一)
本章节为大家解析ECS案例,资源来自,大家自行获取:https://github.com/Unity-Technologies/EntityComponentSystemSamples3、IJobForEach——Job System入门案例这个案例的构造和案例1十分相似(如果没看过案例1的,可以先去看一下案例1的内容),ECS中的Entity和Component都是差不多的,区别就在于...
2019-08-24 19:21:51
589
原创 Unity ECS+Jobs System笔记 案例解析1(十)
本章节为大家解析ECS案例,资源来自,大家自行获取:https://github.com/Unity-Technologies/EntityComponentSystemSamplesECS案例解析1、ForEach在该案例中有两个组件,一个是RotationSpeedSystem_ForEach,还有一个是ConvertToEntity1.1、ConvertToEntity这个...
2019-08-22 19:42:13
2108
翻译 Unity ECS+Jobs System笔记 写入组(九)
来源:https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/index.html我会对官方文档内容略作整理,有需要可以查看官方文档WriteGroups(写入组)常见的ECS模式是系统读取一组输入的组件然后写出另一组输出的组件,但是,有时候你想重写这个系统,统并根据自己的输入集来更新输出组件WriteGroups...
2019-08-21 20:12:17
971
翻译 Unity ECS+Jobs System笔记 访问数据4(八)
来源:https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/index.html我会对官方文档内容略作整理,有需要可以查看官方文档6、Component Groups读取或写入数据的第一步是查找数据,ECS框架中数据储存在组件中,组件根据它们所属的实体的原型储存在内存中,要定义ECS数据的视图,且该视图仅包含给定算...
2019-08-20 19:02:52
866
翻译 Unity ECS+Jobs System笔记 访问数据3(七)
来源:https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/index.html我会对官方文档内容略作整理,有需要可以查看官方文档4、ComponentSystem你可以使用ComponentSystem处理数据,ComponentSystem在主线程上运行,因此不利用多个CPU内核,在以下情况下使用Compone...
2019-08-19 19:55:07
794
翻译 Unity ECS+Jobs System笔记 访问数据2(六)
来源:https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/index.html我会对官方文档内容略作整理,有需要可以查看官方文档3、IJobChunk你可以通过在JobComponentSystem中实现IJobChunk来对区块中的数据进行迭代,JobComponentSystem会一个个的对每一个你希望系统去...
2019-08-18 16:38:11
727
翻译 Unity ECS+Jobs System笔记 访问数据1(五)
来源:https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/index.html我会对官方文档内容略作整理,有需要可以查看官方文档访问实体数据迭代访问数据对ECS而言是最常见的任务之一,ECS系统通常处理一组实体,从一个或多个组件读取数据,执行计算,然后将结果写入另一个组件一般而言,最有效率的迭代实体和组件的方法...
2019-08-17 17:31:03
1178
翻译 Unity ECS+Jobs System笔记 ECS——System(四)
3、系统——System提供了改变组件中数据状态的逻辑,比如:一个系统会根据两帧之间的间隔时间更新所有会动的实体的位置3.1、ComponentSystemUnity中的ComponentSystem(也是标准ECS系统中的一个System)对一个实体而言,它是只包括了方法,他不能包含数据;对比旧的Unity系统而言,他有点像旧的Component系统,但是是一个只包含方法的Componen...
2019-08-16 19:02:18
1557
翻译 Unity ECS+Jobs System笔记 ECS——Component(三)
来源:https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/index.html我会对官方文档内容略作整理,有需要可以查看官方文档2.组件——Component组件中储存着与实体相关的数据(通过实体来索引组件及其数据)ECS中的组件是具有以下接口的结构:IComponentDataISharedCompon...
2019-08-15 18:50:01
1663
1
翻译 Unity ECS+Jobs System笔记 ECS——Entity(二)
来源:https://github.com/Unity-Technologies/EntityComponentSystemSamples可以在Git上获取最新的ECS示例项目ECS项目指南打开Unity编辑器(最好是2019.1及以上)创建一个新项目(什么项目都可以,推荐先使用3D)打开PackageManager,并显示Preview Package添加下列包至项目中:Ent...
2019-08-14 17:30:00
1387
1
原创 Unity ECS+Jobs System笔记 简单介绍(一)
从Unity2018开始,推出了DOTS——多线程式数据导向型技术堆栈,其中有三板斧,分别是ECS、Jobs System、Burst,其中Burst是编译器加速,对于普通开发者来说ECS+Jobs System才是关注的重点,在这里我就为大家简单介绍一下着两个系统。参考来源 https://software.intel.com/pt-br/articles/get-started-with-...
2019-08-12 20:38:13
3529
1
原创 MySQL + Nhibernate学习笔记
MySQLhttps://www.mysql.com/downloads/ 通过官网下载最新的MySQL在本地创建服务并启动,打开MySQL Workbench管理数据库导入库文件在Visual Studio中通过管理NuGet程序包添加MySQL和Nhibernate的dll库文件配置Nhibernate在项目内创建hibernate.cfg.xml文件,并作初始配置如下<?...
2019-06-22 00:38:12
234
原创 Unity优化学习笔记
目标使用Unity提供的工具收集以及分析数据来对项目进行优化,找出性能问题是由什么导致的,然后解决问题,恢复以及优化性能重点在以下四个方面:渲染优化脚本优化内存优化平台优化接下来就从这四个方面简单介绍如何优化优化为什么要优化?因为优化能够创造令玩家满意的流畅的游戏体验在优化之前我们首先要明确游戏运行的平台,不同的平台运用了不同的技术。通常来说,PC平台的技术限制更小,而...
2019-05-30 23:40:52
361
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人