Unity
文章平均质量分 87
白鹭float.
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Unity AI】基于 WebSocket 和 讯飞星火大模型
通过Content Size Filter和Vertical Layout Group 和 Horizontal Layout Group 的多层嵌套,以及两种版本的气泡UI,通过同一个类对其进行显隐和更新的控制,实现了较少字体时气泡随字体更新改变自身大小,较多字体时气泡固定并允许内容滚动显示的功能。负责播放UI音效(文字冒泡音效,),内部使用池化的思想,构建了一个大小固定的AudioSource池,对外暴露的Play接口会从池中获取闲置的或者最早使用的AudioSource,避免每次都重新创建该组件。原创 2024-10-03 13:00:32 · 1661 阅读 · 0 评论
-
【Unity/HFSM】使用UnityHFSM实现输入缓冲(预输入)和打断机制
参考Animancer在状态机中的InputBuffer,在UnityHFSM中实现类似的InputBuffer机制,同时扩展一个状态打断机制插件介绍:Animancer:Unity的动画插件,易于修改和扩展。UnityHFSM:Github上的一个开源分层状态机项目基于继承的方法使用UnityHFSM:UnityHFSM有非常方便的使用方法,可以在不创建新类的情况下创建状态和状态机,定义转换条件等,但如果状态逻辑比较复杂,并且有统一的父级行为,则建议使用类继承的方式定义状态和状态机类。原创 2024-12-16 18:41:06 · 1732 阅读 · 0 评论 -
【Unity/Animator动画系统】多层动画状态机实现角色的基本移动
最近打算做个Rougelike + RPG + 塔科夫 混搭风格的冒险游戏。暂且就当是一个有随机元素,有基地,死亡会掉落物品的近战塔科夫罢。花了三天时间,整合了Mixamo的动画和模型资源,通过改动一点Unity自带的第三人称模板的控制器实现移动和动画控制,然后自己做了个动画状态机。写这篇主要是记录制作动画状态机时出现的问题状况和解决方案。当下动画状态机实现了以下特性基于人物速度的站立到奔跑的混合动画基于人物朝向和速度的四方向混合动画(行走和蹲伏)原创 2024-11-16 17:33:27 · 2080 阅读 · 0 评论 -
【Unity/GameFramework】Start Force ——配置和表加载
首先思考如果不使用框架,那么我们大概率会专门包装做一个Json或者XML工具类,然后实现序列化和反序列化的方法,利用第三方库来对指定路径的文件进行具体序列化反序列化操作。在外部使用时,传入路径,指定类型,即可返回需要的对象。如果是和GameFramework一样做配置使用,那么我们就不仅仅只是序列化出来再交出去。我们还可以做一个类专门存储这一类反序列化出来的配置对象。并指定在某个时机(如初始化,游戏资源加载流程)来让其将所有配置统统反序列化出来,并向外暴露接口来访问这些反序列化的配置对象。原创 2024-11-11 16:51:35 · 1520 阅读 · 0 评论 -
【Unity/QFramework】QFramework学习笔记
QFramework是一个轻量级的游戏框架,并且整合了许多有用工具。源码只有800行不到,这既意味着其源代码足够凝练,不会束手束脚,也意味着在制作自己的游戏的时候,需要扩展和增加一下框架的功能。原创 2024-11-10 18:17:05 · 2018 阅读 · 0 评论 -
【Unity/GameFramework】Star Force —— 启动流程
第二步是进行语言的配置,首先从GameEntry.Localization中拿出language,然后将其赋值为GameEntry.Setting中存储的Language(当然是在有的前提下),之后对语言进行,检查,是不支持的语言就默认改成英语,这个操作同样要再同步回GameEntry.Setting。第三步是加载资源包变体,GameFramework不仅允许字体的本地化,同时还支援了资源包的本地化,即不同的语言对应了不同的资源包,更加的自由哇!接下来是Procedure的逐步初始化。原创 2024-10-29 18:15:01 · 1139 阅读 · 0 评论 -
【Unity案例】搭建射击系统与UI
上期将基础的移动系统搭建完毕后就可以开始搭建更加复杂的系统部分了前排提示,由于一开始仅思考如何完成操作相关功能,以至于到后面重构稍微有些困难,继续写下去恐成屎山,故在搭完射击和武器UI后不再继续泛化到敌人和敌人状态机本次主要完成了自由配置武器参数:武器所需的所有参数都可进行调整武器的追随准星:根据输入的武器槽位自动平滑的跟随指定武器的枪线,换弹时也会有相应提示武器的切换:不同武器根据数字键进行切换,在UI和准星上也会有所体现第一第三人称的切换:可以在第一第三人称间无缝切换请看VCR!原创 2024-09-04 17:01:01 · 1663 阅读 · 0 评论 -
【Unity】简单机甲运动系统——坦克式操控方式
我的代码是在官方的HDRP3DSample里提供的和的基础上改的,但基本就是复用了里面对移动速度的计算和光标输入的接受和隐藏这些鉴于UE仍然是我接触代码前最常使用的游戏引擎,因此我在地图原点放了一个空物体,充当,我的这个只负责接收玩家的鼠标输入,并使用其修改自身的旋转。该还是一个单例类,对外提供了获取自身的Quaternion和Transform的方法我还在中制作了一个列表,编辑器界面可以对其添加物体,添加的物体有以下字段跟随旋转的Transform。原创 2024-08-31 15:27:10 · 2191 阅读 · 0 评论 -
【Unity】案例 —— 胡闹厨房联机案例(玩家,大厅与连接部分)
来存储当前所有玩家的准备情况,服务器RPC会调用客户端RPC和对应委托,让各个客户端能够更新自己的屏幕显示状态,服务器端做完以上后会检查是否所有人都准备完成,准备完成则调用NetworkManager的加载场景函数加载进游戏场景,后面游戏场景内也是相似方式实现的。因此需要在有人退出时额外进行一次刷新操作,确保没人暂停时恢复游戏。当所有玩家开始游戏时,房间就不再有意义了,因为游戏中玩家只能回到主菜单,然后再进入服务器,并且游戏不允许中途加入,所以所有玩家准备后,要删除房间,使用自带的异步删除API。原创 2024-08-16 01:24:52 · 1120 阅读 · 0 评论 -
【Unity/网络】Unity和内网穿透的网络测试 —— 以聊天室为例
首先先说一下写的聊天室案例使用MessageManager来作为RPC调用,提供全局添加Message方法的单例,其他类可以订阅对应的委托进行自己的处理,比如UI部分可以根据委托创建消息显示NetworkManager是Unity提供的网络类,配合UnityTransport实现网络的传输和连接的管理第一部分是输入消息内容并发送的部分第二部分是提供启动Host和Client的按钮部分第三部分就是消息的生成显示的部分。原创 2024-08-14 17:45:10 · 1792 阅读 · 0 评论 -
【Unity】案例 —— 胡闹厨房联机案例(单机结构和GamePlay同步部分)
后者则是将自身调度Pause函数绑定到了GameInput的Pause相关委托上。针对客户端的订单生成同步,可以选择使用RPC或者网络变量进行同步,最大的区别是网络变量时刻同步这个列表本身,而RPC仅仅在创建或销毁时发一个通知,客户端收到后进行自己的逻辑处理,这意味着中途加入的玩家将不会获得之前的数据。物品的生成只能放在服务端,并且对于RPC而言,不该传输复杂类型,一是难以序列化,二是占用带宽,因此,对于需要生成的物品信息,使用index进行记录,对于需要挂载到的玩家或柜台的信息,使用。原创 2024-08-11 11:13:33 · 1914 阅读 · 0 评论 -
【Unity】热更新流程详解
Unity热更新步骤解析原创 2024-08-03 15:08:42 · 2511 阅读 · 0 评论 -
【Unity】AssetBundle —— 单例类管理
一个简单的AssetBundle的单例类,单例类是Unity单例类,这意味着这个单例类会在世界中存在,但由于设置了HideFlags,因此不会在大纲中看到。缓存主包和主包的manifest,对外使用属性的方式只读获取。使用泛型方式输入包名和资产名进行资源加载,支持同步和异步。这个管理类基本是在提供的原生API的基础上,附加了一些功能,包括。使用字典缓存AB包,防止重复加载。修改加载路径,宏判断平台名称。原创 2024-08-03 01:37:11 · 443 阅读 · 0 评论
分享