工具研究
文章平均质量分 83
有关工具的研究
嘉神川优衣
游戏玩家,Unity开发者
展开
-
Ink脚本语言学习笔记(小结)
在之前的四个部分中已经基本了解了Ink的语法和功能,这里就个人的理解作一下小结一、基础内容文本——分为默认/注释/提醒/标签文本,如果没有经过特殊标记,所有默认文本会显示在输出内容中选项——分为用*号标记的一次性选项和用+标记的可重复使用的选项(粘性选择)2.1. 除了方括号内的内容都会输出2.2. 选项中的内容是*号到]号之间的内容2.3. 多个标记符号并列能够组成多选结构2.4. 通过使用*-> ->DONE可以设置默认选项,是没有选项的选项,当选项全部消失后,会自动进入默认原创 2020-10-16 01:02:10 · 1525 阅读 · 0 评论 -
Ink脚本语言学习笔记(四)
目前想要基于Ink脚本语言和Unity新的UIToolkit做一套对话系统,本文对Ink脚本语言的使用方式做一下介绍和总结Ink脚本语言学习笔记(三)四、进阶故事流控制(Advanced Flow Control)1)全局变量(Global Variables)...原创 2020-10-16 00:23:25 · 706 阅读 · 0 评论 -
Ink脚本语言学习笔记(三)
目前想要基于Ink脚本语言和Unity新的UIToolkit做一套对话系统,本文对Ink脚本语言的使用方式做一下介绍和总结Ink脚本语言学习笔记(二)三、变量和逻辑(Variables and Logic)在Ink中还支持临时变量和全局变量,用于储存数字和内容数据甚至是故事流命令。Ink在逻辑方面的功能齐全,还包含一些其他的结构,这些结构可以帮助我们更好地组织分支结构复杂的故事的逻辑1)全局变量(Global Variables)最为重要也是最有作用的变量可能就是一些用于储存游戏中某些具有独.原创 2020-10-14 20:34:31 · 1608 阅读 · 0 评论 -
Ink脚本语言学习笔记(二)
目前想要基于Ink脚本语言和Unity新的UIToolkit做一套对话系统,本文对Ink脚本语言的使用方式做一下介绍和总结Ink脚本语言学习笔记(一)二、缝合(Weave)目前没想好怎么翻译这个单词,暂且翻译为“缝合”到目前为止,我们都是在用一种最为简单的方式构建分支结构的故事——通过“选项”链接到“节点”但是这要求我们在编写脚本的过程中的每一个节点都需要有唯一的名称,而这会减慢我们编写的速度,并且对小分支会有不利影响Ink具有更加强大的可用语法,可以简化通常的线性的故事流程而这种格.原创 2020-10-14 04:35:49 · 1048 阅读 · 0 评论 -
Ink脚本语言学习笔记(一)
目前想要基于Ink脚本语言和Unity新的UIToolkit做一套对话系统,本文对Ink脚本语言的使用方式做一下介绍和总结InkyInky 是一个可以编辑ink脚本语言的编辑器,我们先在 Inky 编写脚本,完成之后导出进入Unity进行使用,之后所有相关的学习内容都会基于Inky进行学习,使用方式就不多做介绍了,非常简单本文大部分的内容也会基于Inky Documents,想要详细了解的小伙伴也可以自行查看文档一、基础内容1)文本(Content)默认文本,除非经过特殊标记,那么所有.原创 2020-10-13 02:39:14 · 3480 阅读 · 1 评论 -
自定义节点编辑器xNode——简单使用(四)
本文中的项目来源于 https://github.com/Siccity/xNode2 简单的使用介绍我一时之间也没想到用这个xNode做什么好,那我们随便来做一个物品编辑器2.1 预先准备首先我们再Assets文件夹创建一个文件夹FirstNodeGraph,并在该文件夹中创建三个文件夹:Editor、Node和Graph(当然你也可以不这么做,我这么做是为了之后方便我进行管理)2...原创 2019-10-31 20:06:39 · 5689 阅读 · 0 评论 -
自定义节点编辑器xNode——NodeDataCache(三)(番外)
本文中的项目来源于 https://github.com/Siccity/xNode本章节内容和之后关系不太大,可不看1.6 NodeDataCache我们能可以在编辑器中预处理反射数据,这样我们就不必在运行时进行处理1.6.1 PortDataCache这个类继承了Dictionary和ISerializationCallbackReceiver接口,通过Type来保存NodePo...原创 2019-10-31 20:06:14 · 1225 阅读 · 0 评论 -
自定义节点编辑器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 · 6558 阅读 · 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 · 2573 阅读 · 0 评论 -
自定义节点编辑器xNode——Graph和Node简介(一)
因为尝试过很多节点型编辑器,比如Behavior Designer、ASE,或者官方的Shader Graph,那么我就想能不能自己也做一个节点型编辑器,因为个人能力有限,所以我想找找有没有现有的节点编辑器框架可供学习,我上Github招了一下,发现其实有不少框架,而这其中xNode是最吸引我的,那么就来学习一下xNode来定制自己的节点编辑器吧本文中的项目来源于 https://github...原创 2019-10-29 18:37:26 · 9937 阅读 · 1 评论 -
CSV解析——序列化生成类(四)
这章就比较简单了,又双需要进行序列化了,这次和之前的序列化略有不同,之前我们序列化传入的参数是T[]类型,就和上一章所说的一样,现在我们的类型T是一个未知类型,因此我们不能传入数组,我们只能将Array传入先写一个函数重载,这个函数和之前的类似static public string Serialize(Array array){ string result = ""; re...原创 2019-10-11 19:10:19 · 447 阅读 · 0 评论 -
CSV解析——对生成类进行反序列化(三)
在第一章中能够进行简单的序列化,这个时候类是手写的,而在第二章中已经可以代码生成类,现在我们就需要对这个生成类进行序列化操作我们先要声明一个反序列化的函数,然后得到我们csv中的数据private void Deserialize(){ TextAsset data = AssetDatabase.LoadAssetAtPath<TextAsset>(csvPath);...原创 2019-10-11 19:10:08 · 388 阅读 · 0 评论 -
CSV解析——利用CodeDom生成所需类(二)
在上一章中讲到了,在进行反序列化的时候,我们会通过反射把数据注入到一个类中,而这个类是需要我们手动写的,如果需要更方便的使用,比如临时使用或调整,我就希望这个类是能够自动生成的,这一章节就来介绍如何动态生成脚本文件有关动态生成脚本文件.cs的内容可以查询CodeDom,而这里Unity想要使用CodeDom需要使用以下三个命名空间:using System.CodeDom;using Sys...原创 2019-10-11 19:10:00 · 375 阅读 · 0 评论 -
CSV解析——简单利用反射+特性序列化CSV(一)
突然想结合Odin做一个解析CSV然后输出的工具,记录一下自己的想法,代码中的不足之处还希望大家指出有关解析CSV的内容已经有很多了,这里我使用了Assets Store中的一个免费插件CSV Serialize,这里是插件的下载地址,这个插件比较简单,源码也是公开的,且只提供了反序列化CSV的函数。(有关csv这种格式的内容大家可以自行查找)本文需要大家了解有关C#反射、特性、Linq方面...原创 2019-10-09 18:48:13 · 1046 阅读 · 0 评论 -
Unity插件——Odin 学习笔记(一)
本文章是为了记录学习Unity插件Odin,使用该插件可以让我们更快速便捷的开发Unity工具前言Unity原生编辑编辑器的方法有两种——IMGUI和新的UIElement1.UIElement我之前做过介绍,开发模式类似于HTML+CSS,如果有类似经验的人开发及相对容易,但是就目前而言不太适合编辑器开发,我觉得比较适合取代UGUI进行UI开发2.IMGUI入门比较简单,使用Edit...原创 2019-09-17 15:47:37 · 26848 阅读 · 0 评论 -
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 · 5110 阅读 · 1 评论 -
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 · 5519 阅读 · 0 评论