Unity工具
文章平均质量分 84
Sugarzo
SCUT 计科专业在读
努力学习ing
展开
-
[Unity] UI Toolkit 实现一个预制体和so数据的管理窗口 DataEdtor (IMGUIContainer、ListView)
灵感来源于MStudio老师的麦田物语教程中的ItemEditor编辑器扩展的很方便,在项目中但是不够通用(需要在脚本中一个个数据绑定和回调)其实左边的ListView可以保留,右边直接用Unity默认的Inspector绘制就好了(需要用到IMGUIContainer组件),随后写好create asset和delete asset的对应方法,这样就可以管理不同的so和prefab资产。原创 2023-01-31 20:02:43 · 1533 阅读 · 0 评论 -
[Unity] GraphView 可视化节点的事件行为树(三) GraphView介绍
在前面两个章节中,我们实现了两个部分的内容:Runtime部分的节点逻辑、UI Toolkit绘制Editor UI。这一章节将会用到GraphView框架,完成我们制作的事件行为树剩下的所有内容。 GraphView是Unity内置的节点绘制系统,实际上Unity里内置的Visual Scripting(可视化脚本编辑),URP中的ShaderGraph,都是GraphView制作。GraphView也属于UI Toolkit的一部分。在Unity 2021中属于Experimental原创 2023-01-04 20:39:03 · 5814 阅读 · 0 评论 -
[Unity] GraphView 可视化节点的事件行为树(二) UI Toolkit介绍,制作事件行为树的UI
UI Toolkit是unity推出的一套全新UI系统。对比传统的GUI系统有着一套全新的工作流。在Unity 2021版本后已被内嵌到默认的编辑器中了。使用UI Toolkit可以很方便的构建属于自己的UI工具。在本章节中使用的是Editor UI的制作。在资源窗口右键,在Create->UI Toolkit->Editor Window中先创建我们需要的Asset。可以看到一个在UI Toolkit中的UI主要有三个模块组成:UXML,USS,C#。原创 2023-01-03 20:59:01 · 2202 阅读 · 1 评论 -
[Unity] GraphView 可视化节点的事件行为树(一) Runtime Node
本文将开始介绍Runtime部分的事件节点逻辑。在本框架中,因为Grapview的节点图属于Editor部分,在游戏运行时是不会被加载进来的。因此首先我们需要一个离开节点图,也可以在游戏实时运行中执行逻辑的节点结构。文章涉及的事件触发思想其实已经在我之前写过的一篇文章中了,也可以算作之前思想的延续。这种方式因为直接使用了父子游戏物品作为组织方式,当大规模使用起来还是有点约束,因为触发器节点和事件节点形成的是一对一的关系,子物品也只能按照顺序执行事件下去,当需要处理一些分支/循环逻辑的时候就不太方便了,而原创 2022-12-27 21:58:08 · 2085 阅读 · 4 评论 -
[Unity] GraphView 可视化节点的事件行为树(序章 项目Github下载)
在自己做的比赛项目中,在初期的游戏系统部分完成之后,剩下的内容就是搭建游戏逻辑了。特别是在剧情解密游戏中,搭建过程就是跟着策划流程文档拼图游戏。之前有些过几篇关于设计模式和框架的文章,其实目标也是将一些可复用的逻辑抽象出来使用,优化制作管线和提高效率。因此便想到了做一个可视化的节点界面工具出来,方便在长期项目中策划同学也能参与进来编写游戏逻辑,减轻程序方面的负担。原创 2022-11-16 01:08:58 · 3346 阅读 · 2 评论 -
[Unity] 让LineRenderer显示在UI层上方(RenderTexture 、RawImage)
项目中有设计点需要使用画笔的功能,已经做好了根据鼠标位置生成LineRenderer线段功能,但出现了一个问题:画板的界面是在Canvas UI层,但是LineRenderer的位置在世界空间中。可以先调整LineRenderer图层,我们在场景中新建一个摄像机,用于专门去渲染Line Renderer,并将摄像机内容输出到一个纹理上。然后在ui里新建RawImage,调整位置拖入纹理,就可以看到这个线段了。原创 2022-11-01 20:59:54 · 4644 阅读 · 9 评论 -
[Unity] 实现ScriptableObject数据同步Excel表格(对话系统数据管理,C# ExcelNPOI)
在制作游戏中需要管理各种各样的项目资源,其中游戏中的剧情文字也是一种需要管理的资源。自己刚开始接触游戏开发的时候,第一次看MStudio里面的对话系统教学,只讲了怎么写脚本同步UI的设置,并没有讲有什么方式去管理这些对话数据,视频里拿的是txt来演示存储对话数据,导致我制作的第一个游戏也是那txt来写的,一个对话就是一个txt,管理起来肯定是不方便的。如何存储文字数据呢?这时候就可以使用Excel表格了,让策划在表格中编写完数据后我们就可以一键导入成ScriptableObject,有需要再编辑是也可以导出原创 2022-11-01 00:57:10 · 2293 阅读 · 14 评论