Unity
文章平均质量分 84
白鹭float.
这个作者很懒,什么都没留下…
展开
-
【Unity案例】搭建射击系统与UI
上期将基础的移动系统搭建完毕后就可以开始搭建更加复杂的系统部分了前排提示,由于一开始仅思考如何完成操作相关功能,以至于到后面重构稍微有些困难,继续写下去恐成屎山,故在搭完射击和武器UI后不再继续泛化到敌人和敌人状态机本次主要完成了自由配置武器参数:武器所需的所有参数都可进行调整武器的追随准星:根据输入的武器槽位自动平滑的跟随指定武器的枪线,换弹时也会有相应提示武器的切换:不同武器根据数字键进行切换,在UI和准星上也会有所体现第一第三人称的切换:可以在第一第三人称间无缝切换请看VCR!原创 2024-09-04 17:01:01 · 1183 阅读 · 0 评论 -
【Unity】简单机甲运动系统——坦克式操控方式
我的代码是在官方的HDRP3DSample里提供的和的基础上改的,但基本就是复用了里面对移动速度的计算和光标输入的接受和隐藏这些鉴于UE仍然是我接触代码前最常使用的游戏引擎,因此我在地图原点放了一个空物体,充当,我的这个只负责接收玩家的鼠标输入,并使用其修改自身的旋转。该还是一个单例类,对外提供了获取自身的Quaternion和Transform的方法我还在中制作了一个列表,编辑器界面可以对其添加物体,添加的物体有以下字段跟随旋转的Transform。原创 2024-08-31 15:27:10 · 1622 阅读 · 0 评论 -
【Unity】案例 —— 胡闹厨房联机案例(玩家,大厅与连接部分)
来存储当前所有玩家的准备情况,服务器RPC会调用客户端RPC和对应委托,让各个客户端能够更新自己的屏幕显示状态,服务器端做完以上后会检查是否所有人都准备完成,准备完成则调用NetworkManager的加载场景函数加载进游戏场景,后面游戏场景内也是相似方式实现的。因此需要在有人退出时额外进行一次刷新操作,确保没人暂停时恢复游戏。当所有玩家开始游戏时,房间就不再有意义了,因为游戏中玩家只能回到主菜单,然后再进入服务器,并且游戏不允许中途加入,所以所有玩家准备后,要删除房间,使用自带的异步删除API。原创 2024-08-16 01:24:52 · 588 阅读 · 0 评论 -
【Unity/网络】Unity和内网穿透的网络测试 —— 以聊天室为例
首先先说一下写的聊天室案例使用MessageManager来作为RPC调用,提供全局添加Message方法的单例,其他类可以订阅对应的委托进行自己的处理,比如UI部分可以根据委托创建消息显示NetworkManager是Unity提供的网络类,配合UnityTransport实现网络的传输和连接的管理第一部分是输入消息内容并发送的部分第二部分是提供启动Host和Client的按钮部分第三部分就是消息的生成显示的部分。原创 2024-08-14 17:45:10 · 1305 阅读 · 0 评论 -
【Unity】案例 —— 胡闹厨房联机案例(单机结构和GamePlay同步部分)
后者则是将自身调度Pause函数绑定到了GameInput的Pause相关委托上。针对客户端的订单生成同步,可以选择使用RPC或者网络变量进行同步,最大的区别是网络变量时刻同步这个列表本身,而RPC仅仅在创建或销毁时发一个通知,客户端收到后进行自己的逻辑处理,这意味着中途加入的玩家将不会获得之前的数据。物品的生成只能放在服务端,并且对于RPC而言,不该传输复杂类型,一是难以序列化,二是占用带宽,因此,对于需要生成的物品信息,使用index进行记录,对于需要挂载到的玩家或柜台的信息,使用。原创 2024-08-11 11:13:33 · 1032 阅读 · 0 评论 -
【Unity】热更新流程详解
Unity热更新步骤解析原创 2024-08-03 15:08:42 · 1491 阅读 · 0 评论 -
【Unity】AssetBundle —— 单例类管理
一个简单的AssetBundle的单例类,单例类是Unity单例类,这意味着这个单例类会在世界中存在,但由于设置了HideFlags,因此不会在大纲中看到。缓存主包和主包的manifest,对外使用属性的方式只读获取。使用泛型方式输入包名和资产名进行资源加载,支持同步和异步。这个管理类基本是在提供的原生API的基础上,附加了一些功能,包括。使用字典缓存AB包,防止重复加载。修改加载路径,宏判断平台名称。原创 2024-08-03 01:37:11 · 301 阅读 · 0 评论