- 博客(17)
- 收藏
- 关注
原创 Unity中使用ScrollRect制作类似翻书的平移效果
摘要:本文介绍了一个使用Unity ScrollRect实现的翻书效果组件。通过继承IBeginDragHandler和IEndDragHandler接口,在拖动开始和结束时记录X轴位置,计算拖动方向。结合Dotween动画,根据horizontalNormalizedPosition判断当前页码,实现平滑的页面切换动画。代码通过计算百分比位置和拖动偏移量,确定目标页面并执行补间动画,模拟真实的翻页交互体验。
2025-11-03 08:25:44
191
原创 Unity的千奇百怪的Bug----程序集和Dotween
在Unity 2021.33.23f1c1中使用Dotween 1.2.765时,若遇到SpriteRenderer的DOColor等方法不可用的问题,可通过创建Dotween程序集(ASMDEF)并添加DOTween.Modules引用来解决。具体步骤:1)生成DoTween程序集;2)在自定义程序集中添加DOTween.Modules引用。操作后即可正常使用相关动画方法。
2025-07-12 22:36:48
450
原创 Luban添加表格
Unity配置工具Luban使用指南 Luban是一个功能强大的Unity配置工具,支持多种数据源格式(Excel、JSON、XML等)和代码导出(C#、Java等)。本文介绍了使用Luban添加表格的基本流程: 创建分类文件夹(如Character、Weapon)管理不同模块的Excel表格 配置表格字段和数据类型,支持单例表、列表、可空类型等特性 在__tables__.xlsx中注册表格,设置全名和记录类名 运行gen.bat生成代码 Luban会自动生成数据结构类,包含单例表直接访问和普通表的Get
2025-07-10 19:14:58
1360
原创 Luban表格中添加数据
Luban是一款功能强大的Unity配置工具,支持多种数据源格式和导出语言。本文介绍了Luban的基础配置功能,包括数据类型定义、注释添加和分组配置。通过demo示例展示了Bool类型的数据处理过程,Luban会自动生成对应的C#代码和JSON文件。该工具采用MIT开源协议,适用于游戏开发中的复杂数据配置需求。如需更详细说明,建议参考官方文档。
2025-07-08 17:58:46
1273
原创 Unity中引入Luban
摘要: Luban是一款功能强大的Unity配置工具,支持多种数据源(Excel/JSON/XML等)和代码导出(C#/Java/Go等),采用MIT开源协议。本文介绍如何在Unity项目中快速集成Luban: 下载示例工程,保留Tools/Luban和模板文件夹; 配置生成脚本(gen.bat),指定数据与代码输出路径; 通过Package Manager安装Luban Unity插件; 编写测试脚本验证配置加载,成功读取道具数据即完成集成。详细操作可参考官方文档。
2025-07-07 18:34:22
1212
原创 Unity中的Camera组件
该文章介绍Unity中摄像机的功能及属性设置。主要内容包括: 摄像机基础概念:Unity允许一个场景使用多个摄像机,可自定义渲染顺序和区域。 默认管线下的摄像机属性面板:详细列出16个关键属性及其功能,如Clear Flags、Projection模式、Depth排序等。 API说明:包括7个静态变量(如main、current)和8个实例变量(如aspect、backgroundColor),用于编程控制摄像机行为。 特殊功能:支持HDR、MSAA、动态分辨率等高级渲染技术。 文章以表格形式系统整理了Un
2025-07-04 09:27:39
1254
原创 Unity中的Transform组件
Unity中的transform组件是所有游戏对象必备的核心组件,负责存储位置、旋转、缩放及父子关系信息。其属性包括Position、Rotation(使用四元数存储)和Scale。该组件提供丰富的API,涵盖空间转换(如TransformPoint/InverseTransformPoint)、父子管理(SetParent/DetachChildren)、旋转控制(Rotate/LookAt)等功能,同时支持局部和世界坐标系操作。关键变量包括childCount、position、localPositio
2025-07-03 09:16:59
697
原创 Unity CanvasGroup
CanvasGroup是Unity中用于批量控制UI元素的组件,可以统一调整子对象的透明度、交互性和射线检测。主要参数包括Alpha(透明度叠加)、Interactable(交互开关)、BlockRaycast(射线检测开关)和IgnoreParentGroup(是否继承父级设置)。典型应用场景包括整体UI淡入淡出效果,以及统一管理子元素的交互状态。通过父级控制可避免逐个修改子对象属性,提升开发效率。
2025-06-16 17:28:42
238
原创 Unity中的随机Item
本文介绍了游戏开发中基于权重的随机物品掉落系统实现方法。通过为每个物品设置权重值,将权重区间映射为数值范围,使用二分查找快速定位随机数对应的物品。系统通过IRandomItem接口定义权重属性,RandomItem类利用List存储物品及其权重区间,GetRandomItem方法使用二分搜索优化查找效率。该实现确保了随机掉落的公平性和高效性,时间复杂度为O(log n),适用于需要根据权重随机选择物品的游戏场景。
2025-06-15 16:31:17
252
原创 Unity中对象的生命周期
本文介绍了Unity游戏引擎中的帧概念及生命周期函数。游戏通过循环处理逻辑和更新帧画面实现动态效果,Unity已封装底层循环。所有继承MonoBehavior的脚本都可挂载到GameObject上,其生命周期函数由Unity自动调用。主要函数包括:Awake(对象出生时调用)、OnEnable(激活时)、Start(首次更新)、FixedUpdate(固定物理帧)、Update(逻辑帧)、LateUpdate(延迟帧)以及OnDisable(禁用时)和OnDestroy(销毁时)。通过流程图展示了这些函数的
2025-06-13 08:17:43
1161
原创 Unity Animation Curve
Unity的AnimationCurve功能详解:用于编辑任意变化曲线的实用工具,可应用于动画和轨迹等场景。在编辑器界面可直观调整曲线形状和关键点,支持多种循环模式(Loop、PingPong、Clamp)。通过脚本可动态创建曲线并设置关键帧属性,提供丰富的API包括曲线评估、关键帧操作和预设曲线生成等功能。文档详细介绍了曲线编辑、循环模式选择以及各参数的具体用法,帮助开发者灵活控制动画行为。
2025-06-12 18:24:36
1184
原创 Unity中的Fader(淡入淡出界面)
本文介绍了Unity中Fader的实现方法,用于界面渐变效果控制。Fader通过CanvasGroup组件控制透明度变化,实现淡入淡出效果。核心技术要点包括:1) 使用事件系统监听Fade事件;2) 通过CanvasGroup的alpha属性实现渐变;3) 支持自定义持续时间、动画曲线和射线检测控制。文章详细说明了Fader的事件结构设计(FadeEvent、FadeInEvent等)和核心逻辑类(Fader.cs)的实现,包括初始化状态、默认参数设置以及渐变过程的控制。该方案可应用于UI过渡、场景切换等需
2025-06-11 18:48:10
413
原创 Unity中的技能CD
游戏冷却系统设计与实现 摘要:本文探讨了游戏开发中冷却系统的实现方案。冷却系统通过三种状态(就绪、使用、冷却)的切换机制,为游戏技能和物品使用提供策略性限制。系统采用状态机模式实现,包含时间计数、进度追踪等核心功能,支持无限火力模式、叠层效果等特殊需求。通过继承基本冷却类,开发者可自定义冷却触发条件(如攻击次数)。该系统已在Unity中实现,采用C#语言,提供清晰的状态切换接口和事件回调机制,便于扩展和集成到各类游戏项目中。冷却进度百分比的计算也为UI显示提供了便利支持。
2025-06-10 10:04:21
450
原创 Unity状态机
摘要:状态机模式通过将对象行为分解为独立状态及其切换规则,简化复杂逻辑。该实现包含状态枚举、切换方法和回调机制,支持状态回退和事件通知。核心是StateMachine<T>类,通过ChangeState()切换状态,并使用StateChangeEvent通知状态变化。事件系统允许外部订阅状态变更做出响应,适用于游戏角色状态管理等场景。代码示例展示了C#实现的通用状态机框架,支持泛型状态类型和事件触发机制。
2025-06-09 11:08:58
283
原创 Unity对象池
对象池技术通过预先创建并复用对象,解决了游戏开发中频繁创建销毁对象的性能问题。核心实现包含三部分:1) 池对象抽象类(PoolObjects)负责对象生命周期管理,提供激活/禁用方法和重置接口;2) ObjectPool类管理对象队列;3) ObjectPooler管理器处理池创建、扩容和跨场景复用。关键技术包括:静态池列表实现单例复用、动态扩容机制、场景切换时的持久化选项。使用时需注意:对象命名规则、父节点管理、自动销毁计时器实现。该方案适用于子弹、特效等需要频繁创建的游戏对象,显著提升性能表现。
2025-06-08 18:37:45
702
原创 Unity中的事件系统
本文实现了一个基于观察者模式的事件管理系统,包含以下核心内容: 系统架构:采用发布-订阅模型实现松耦合通信,包含事件管理器、订阅者和发布者三类角色。 核心组件: 事件管理器维护类型到监听者的映射字典 提供订阅/取消订阅方法和事件触发机制 支持运行时静态初始化 接口设计: IEventListenerBase基础接口 IEventListener<T>泛型事件处理接口 通过扩展方法简化订阅操作 关键特性: 类型安全检查 订阅存在性验证 可选的事件订阅检查(通过宏开关) 自动清理空订阅列表 使用示例
2025-06-07 11:00:12
616
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅