本文内容的参考和灵感来自以下链接 GitHub - inkiu0/MaskWidget: UE4 MaskWidget GitHub - JanSeliv/CustomShapeButton: Open-source plugin that allows to make buttons of any ...
编辑器中获取选中的文件夹、文件路径 using UnityEditor; using UnityEngine; using Object = UnityEngine.Object; public class MyEditorScript { [MenuItem("Assets/PrintSelect ...
原文: Libgdx游戏开发(5)——碰撞反弹的简单实践-Stars-One的杂货小窝 本篇简单以一个小球运动,一步步实现碰撞反弹的效果 本文代码示例以kotlin为主,且需要有一定的Libgdx入门基础 注:下面动态图片看着有些卡顿,是录制的问题,实际上运行时很流畅的 水平滚动 简单起见,我们通过 ...
原文: Libgdx游戏开发(4)——显示中文文字-Stars-One的杂货小窝 本文代码示例采用kotlin代码进行讲解,且需要有libgdx入门基础 这里主要介绍关于在Libgdx显示文字的2种方法 2种方法优缺点 BitmapFont 优势: 易于操作和使用,简单快速实现文本渲染。 资源消耗相 ...
阅读学习QFramework中的SingletonKit源码. Singleton 普通类的单例 作为最常用的单例模块,通过继承单例泛型类来实现,需要私有构造; //使用第一种接口单例方式 internal class Class2Singleton : Singleton<Class2Single ...
原文: Libgdx游戏开发(3)——通过柏林噪音算法地图随机地形-Stars-One的杂货小窝 在B站刷到了随机地图生成的视频,随手学习下并做下记录 注: 本篇使用javafx应用作演示,算是了解这个算法的使用,后续会再出篇libgdx生成地图的示例 说明 抛开算法实现,首先认知柏林噪音算法 一般 ...
这是从2023.1开始就有的问题了。本质原因是Unity不知道哪个天才决定的在编辑器文字上使用了SDF渲染。 2023.1因为缺乏选项导致几乎不可用;2023.2加了一个锐度选项;后来在论坛里被众人喷了好久之后(很荣幸在这其中出了一份力)2023.3(也就是6 Preview)把Bitmap渲染 ...
0. 问题 在 3D 场景中使用 TextMesh 的时候,字体无法被遮挡,永远在最上层。 虽然目前在场景中可以直接使用 TextMeshPro,但是实际开发的时候总会有各种各样的情况,可能是兼容老项目,也可能是想保持项目足够简单,不想引入 TextMeshPro。这里就只记录如何解决这一问题的方案 ...
第三人称游戏的相机控制 Unity已经有了Cinemachine这一强大的插件来辅助开发者更容易地控制相机运动,但我觉得学习一下相机控制背后的原理还是挺有益的,没准哪天你就想定制某种相机控制的功能,又觉得Cinemachine难调呢! 本文学习自 Jasper Flick 大神的 运动系列教程 相机 ...
写一写游戏项目的基础模块的实现思路,之任务系统: 起引导、活跃、成就等作用的任务系统,是游戏常见的业务需求; 实现上可以分为几个部分: 任务类设计; 任务对象管理; 事件管理; hook机制; 一. 事件管理模块 一个以事件类型(event type)为单位,进行注册和回调触发的管理模块。 模块需要 ...
不仅是游戏项目,从软件设计层面看,当服务位于网络远端时,为与客户端之间的传输层连接提供一定的网络质量优化支持是常见的设计要求。 实现一个前后端的网络代理层,目标是优化直连链路的网络质量,支持缓冲重连。这里记录下思路; 代理层实现: 定制分配规则对服务器端机器做负载均衡; 客户端和服务器端业务连接的断 ...
利用八叉树的空中寻路 你有思考过在空中如何进行寻“路”吗?来想象一个的场景:飞机从空中基地出发,要避开许多空中建筑,最终到达目的地。这种情况下的寻路是没有路面的,寻路物体的移动方向也比较自由,这该怎么寻呢? 如果我们只是在一个平面进行寻路,我们可以直接用A*寻路,铺好一个地面网格,这样就可以在网格点 ...
C#中接口的显式实现与隐式实现 最近在学习演化一款游戏项目框架时候,框架作者巧妙使用接口中方法的显式实现来变相对接口中方法进行“密封”,增加实现接口的类访问方法的“成本”。 接口的显式实现和隐式实现: 先定义一个接口,接口中有这两个方法。 public interface ICanSingSong ...
跨机集群的核心实现: 开启跨机消息管理服务,节点内所有需要跨进程投递的消息都通过此服务转发,通过网络送达集群内目标节点。实现: 每个进程开启服务,服务内缓存集群节点的配置信息,与每个节点建立通信连接,负责当前节点和集群内节点之间的消息通信; 根据当前节点配置监听集群消息入口(ip+port),开放与 ...
看好项目的源码总是会有重复造轮子的冲动。最近对比测了下我们业务使用的数据序列化协议的性能,review了社区上几个常用库的源码,尝试做了点优化,有些想法。浅浅写了个demo,这里记录下实现的思路,供后面查阅和反思。 协议的实现分为几个部分: schema text:协议描述文件 compiler : ...
[14]lua调用使用C#中的事件和委托 C#脚本:继续在Student类中声明 //声明委托和事件 public UnityAction dele; public event UnityAction eventAction; public void DoDele() { if (dele != n ...
游戏中的角色运动问题 大部分类型的游戏中玩家都需要扮演一名主角,通过操纵主角来体验游戏,这就涉及到运动的问题。相信有不少Unity开发者都是从制作2D平台跳跃游戏入门的,从那时起到现在,也许有些关于运动的问题仍值得我们去思考,本文总结了一些个人学习时遇到的关于角色运动的问题及其学到的解决方法。 注意 ...
[12] lua中调用ref 和 out 修饰参数的函数数值 public int RefCompute(int a, ref int b, ref int c, int d) { b += a; c += d; return b + c; } public int OutCompute(int a ...
巧妙地重置動畫控制器觸發(Reset Triggers)_哔哩哔哩_bilibili提出了FSMCleaSignals,会在进和出动画时使相关的trigger变为非激活状态,但是当该动作涉及多layer/多trigger控制时,会在该layer中动作未完成时,其他layer读取到了还未更改的异常激活 ...
在游戏行业,玩家体验的个性化是提升用户粘性和满意度的关键。随着技术的发展,游戏公司现在可以利用大量的玩家数据来定制游戏体验。然而,这同时也带来了对玩家隐私保护的挑战。隐私计算技术的出现为这一问题提供了解决方案,它允许在不泄露个人数据的情况下分析和利用数据。 ...