NodeCanvas是一款很棒的插件,包含了行为树、对话树、状态机等数据结构,提供可视化的图形服务,依此我们可以扩展一种FlowTree的流式图。
思考FlowTreeFlowTree是我想要实现的一种数据结构,即流程树结构;在流程树中的所有节点会根据检查条件选择适合的分支依次执行。这其实和官方提供的DialogTree对话树的逻辑是差不多的;但是在对话树基本节点是对话节点。
为了能够执行一些列操作,而这一些操作可能包含对话也可能只是纯粹的Action,故而需要一种新的流程树形式。
从上图中可以看出,我们可以不再依赖于对话节点,我们可以 行为、条件、子图作为起始,也可以根据这些元素作为结尾任意的连接数据。{.yellow}
实现
以上是一个基本树的目录组成结构,分别包括:
++FlowTreeOwner++ 树持有者,继承自MonoBehaviour
++FlowTree++ 树数据,继承自Graph
++FTNode++ 基础节点数据,继承自Node
++FTConnection++ 基础连接数据,继承自Connection
FlowTreeOwner123public c ...
版本号
创建/更新时间
操作
V1.0
2023-07-13 09:10:43
创建
V1.1
2023-07-19 09:33:17
添加着色器变体说明
YooAssets 是一个资源管理工具,基于ab包实现。
通过YooAssets 可以方便的对资源进行管理、分析、更新。
快速食用打开管理界面 Edit/Project Settings/Package Manager
1234// 输入以下内容(中国版)Name: package.openupm.cnURL: https://package.openupm.cnScope(s): com.tuyoogame.yooasset
在包管理器中安装YooAssets
划分组别
构建工具
报告工具在打包后可以使用报告工具查看相关数据:
调试工具
模式
模式
说明
编辑器模式EditorSimulateMode
无需构建,直接使用
离线模式OfflinePlayMode
单机游戏使用
在线模式HostPlayMode
在线游戏热更新
代码范例封装资源加载
我们可 ...
EnhancedScroller是一个加强版本的滚动区域组件,可以改善滚动条的性能并实现例如无限滚动的效果。
简单示例创建一个滑动区域:
滑动区域需要3个部分:滑动区域、滚动条、Mask
可以使用Rect Mask 2D 替代Mask获得更好效果
列表内容都需要继承EnhancedScrollerCellView
PersonItem1234567891011121314151617181920public class PersonItem: EnhancedScrollerCellView{ private TextMeshProUGUI _text; private PersonModel _model; private Button _button; private void Awake() { _text = GetComponentInChildren<TextMeshProUGUI>(); _button = GetComponent<Button>(); ...
:bookmark_tabs:写在前面Address是Unity推出的Ab包的新封装,可以更方便的实现Ab包的资源加载,为做区分这里将Address打出的包称之为aa包。
需求环境
在什么情况下我们需要使用Address呢?
当我们需要使用Ab包时,可以使用Address替代传统Ab包。
当我们需要将资源进行分组时,例如美术场景和程序分离。
当我们需要进行热更新时。
当我们希望在外部更新程序或资源时。
……
1.构建本地静态包先来
写在前面在游戏存储中我们可以使用多种方法,json、二进制、xml、csv、excel、或者是文本、自定义格式等等。使用这些的时候我们基本都需要将文件整个读入内存中,那有没有一种办法可以不用将所有数据载入内存呢?
答案就是————使用++数据库++。
数据库的种类很多,大都都服务于网络服务,在单机游戏中使用数据库的话,可以选择sqllite。
SqlLitesqllite是一种轻量的文件型数据库,整个数据库只有一个.db文件而且其使用范围非常广,支持的平台多,是我们在使用Unity开发单机游戏时的好选择。
快速食用要使用SqlLite,我们至少需要导入:
sqllte3.dll
Mono.Data.Sqllite.dll
在这里我们额外导入Dapper作为Orm方便我们对数据进行curd:
Dapper.dll
Dapper.Contrib.dll
Mono.Data.Sqlite.dll
创建数据表首先我们创建一个数据表的模型类User如下:
在类名上标注表的名称,++这个名称需要和db文件中的数据表名称对应++。
123456789101112131415161718192 ...
写在前面
接触过web前端的人,应该都知道网页 以Html+Css+Js的形式构成,这种高度灵活的方式一直延续至今。当然后续推出了如Vue、Rective等前端框架和Thymeleaf、Asp等模板引擎。。。扯远了…
总之,我们可以借鉴Web的做法,使用类似的结构去编写Unity Ui,如Unity 的新UI系统 UIElement(UiToolkit)也是这么做的。此文并不想介绍UIElement,因为通过作者实际使用体验来说,UIElement还有很多路要走,可能在制作编辑器领域可以打破原先Gui的桎梏,然而在运行时下的UI,MarkLight 则舒服许多。
关于MarkLight在Ui框架的领域中一直流行MVVM的设计,M 模型 V 视图 VM 视图模型 通过三者的配合,可以将表现层与逻辑层相分离,有利于解除耦合。MarkLight 同样是使用了这一套设计方案,通过Xml文件编写View,配合ViewModel的C#文件进行控制。同时吸纳了Html的优点,使用类Css的Xml文件可以对控件进行统一的样式配置,这让换肤和界面规范统一变得十分容易。
快速食用首先我们可以通过包管理器 ...
一个简单树12345class Item{ public string Name { get; set; } public List<Item> Items { get; set; } = new List<Item>();}
基础数据12345678910111213var aa = new List<Item>();var a = new Item() { Name = "A" };var b = new Item() { Name = "B" };var c = new Item() { Name = "C" };var d = new Item() { Name = "D" };var e = new Item() { Name = "E" };a.Items.Add( ...
坐标转换已知云端坐标点A(10,10),需要转换到本地坐标轴下的位置 B?
可能的问题
坐标平移
坐标旋转
参考
Unity 不同空间坐标转换中的矩阵应用_心之凌儿的博客-CSDN博客_unity 空间变换
Unity中内置转换123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103using UnityEngine; /// <summary>/// 坐标转换工具类/// </summary>public static class CTUtils{ /// <summary> /// 世界坐标转屏幕坐标 /// </summary> public static ...
一句话即可概括:
我在人间凑数的日子 —— 2023
思考更多的生活属于平静(摆烂),我只记得公司年会上 老板说着什么经济形式不好,竞争对手死了一半,合作伙伴也死了不少;说罢便提到今年 年终奖缓发的消息。
2023了,又过去了一年,每每这种时候看看自己的qq资料卡看到自己年龄又增长一岁,感觉有些恍惚。仔细琢磨,就会感觉头开始疼了,仿佛这是什么不可思考的禁忌法则,无形之中有什么因果规则之力。
“有一间住所、一台电脑、水电网、有吃的,好像我可以在这种地方住一辈子”,有时我不禁这么想。
见闻寒假时候,妹妹从哈尔滨会昆明来,住在我这里;有幸她拿到了一个区检察院的实习机会。因为工作地点离家很远,我建议他就近找个住处。每周天去晚上回住处,每周五下午回到我这来,每次回来她总有一些青旅的见闻给我分享。
“北上广的画家,厌倦了大城市的钢铁森林,放弃高薪工作;选择到大理居家做自由画家。” “我看到那些高楼大厦就害怕”青年女画家这样说道。在上海工作10年,来到大理,租下一间小屋,在院子里种满花;好好生活好好画画。
“我也是大学毕业”一个中年妇女说道,“直到现在做保姆”。我忍不住插嘴,大学生也有做保姆的 ...
不知不觉,一年的时间就这么过去了:cry:.回顾这一年的种种,大致可以将其划分为上半年和下半年两大部分。
上半年
上半年 大概都是找工作的事情
上半年的时候,基本还在考编制。印象最深的莫过于获得了烟草公司的笔试机会,在对计算机专业知识一通复习后,我自我感觉良好,没想到行测考的太差与面试失之交臂。自这一场考试深深的提醒了我对于行测等知识的学习能力很差,要想通过行测申论来考取一个工作机会是困难的。而我能为之依靠的除了自身的专业知识之外也没有什么其他的东西了,看着越来越卷的编制大环境,我放弃了省考的机会开始找工作之旅。
论失业1年如何重获工作自之前从朋友介绍的工作离职,我已经很久(将近一年)没工作了,对于这次找工作可谓是恐惧与期待并存——害怕开始却也期待新的变革。静下心来,好好整理了一份工作简历,把学生时代的一些荣誉填上去、再加上一些自我认知的东西。我觉得,学生时代打下的基础多少能有一些用。整理好了简历,我开始在网络上投递简历,心想着现在就去做游戏吧。我把城市选在了成都,成都离云南不太远,不知道是不是在云南待的有些久了,竟然有些缺乏了走出去的勇气。在成都投递了几天简历,也主动联系了几家 ...











