- 博客(260)
- 资源 (42)
- 收藏
- 关注
原创 Aseprite工具入门教程5之Tilemap地图
摘要:本文介绍了Unity中瓦片地图的使用方法与优势。瓦片地图通过复用16×16像素的小图像构建大型场景,能显著提升效率与性能,简化设计流程,便于管理维护。文章详细说明了从Aseprite绘制素材到Unity导入的完整流程,包括素材准备、地图分层、SortingLayer设置、预制体创建等步骤。重点阐述了如何利用TilePalette工具构建多层次地图(基础地形层、装饰层、碰撞层等),并推荐使用CoordinateBrush工具进行精确坐标绘制。该方法特别适合2D游戏开发,能有效优化内存使用和渲染性能。
2025-07-27 01:02:44
821
原创 Unity下创建Coordinate Brush工具
本文介绍了如何为Unity Tilemap创建带坐标显示的CoordinateBrush工具。首先指出默认瓦片笔刷缺乏坐标信息的不足,然后详细说明了创建步骤:在Editor目录下编写CoordinateBrush脚本,继承GridBrush类并重写绘画相关方法,添加Z轴坐标显示功能。脚本包含CoordinateBrushEditor编辑器扩展,实现了坐标标签显示和网格预览功能。编译后可在TilePalette中找到该笔刷,使用时可实时查看瓦片位置坐标和尺寸信息,解决了默认笔刷无法显示坐标的问题。
2025-07-27 00:57:24
147
原创 Phong光反射模型解读
Phong光照模型通过环境光、漫反射和镜面高光三部分模拟物体在光线下的视觉效果。环境光提供基础亮度,漫反射表现物体表面均匀受光效果,镜面高光则呈现光滑表面的反光亮点。该模型通过数学公式量化各分量:环境光(Ia=KaIlight)、漫反射(Id=KdIlightcosθ)和镜面反射(Is=KsIlight*(cosα)^n),其中K系数控制材质特性,角度参数决定光照强度分布。该模型广泛应用于计算机图形学,可真实模拟不同材质在光照下的明暗变化和反光效果。
2025-07-23 15:03:54
311
原创 ShaderToy本地化安装
摘要:本文介绍如何在VSCode中配置GLSL开发环境。首先安装VSCode,然后添加Shader语言支持插件(包括代码高亮、提示)、ShaderToy运行工具、HLSL预览和GLSLLinter错误检查插件。最后通过一个网格绘制示例(test.glsl文件)演示了使用ShaderToy预览功能(Ctrl+Shift+P调出命令面板)查看实时渲染效果的过程。该配置为GLSL开发提供了完整的代码编辑、调试和预览环境。
2025-07-16 12:27:32
196
原创 Unity中的动画过渡
动画过渡详解:状态切换与混合控制 动画过渡定义了状态机中不同动画状态之间的切换规则和混合方式。核心功能包括:1)通过ExitTime设置自动切换时机(百分比或循环次数);2)使用Conditions参数条件触发过渡;3)调整TransitionDuration控制混合时长(秒或比例);4)设置TransitionOffset指定目标动画起始点。过渡属性还包含中断控制(InterruptionSource)和条件判断(需同时满足ExitTime和Conditions)。开发者可通过Animator窗口的过渡图
2025-07-08 14:43:38
868
原创 Aseprite工具入门教程4之动画导入Unity
Aseprite动画制作与Unity导入方法总结:1.时间轴功能包含图层管理、帧单元格设置(统一/分离)、洋葱皮预览等;2.标签功能用于动画分组,Unity可自动识别标签生成动画片段;3.动画制作技巧包括帧复制、pivot定位;4.提供两种Unity导入方法:直接导入ase文件(需Export Animation Assets)或导出Sprite Sheet后配置切片;5.状态机配置需通过actionId参数控制动画切换。注意保持像素尺寸一致,并确保至少2帧才能生成anim文件。
2025-07-06 11:22:37
1037
1
原创 Aseprite工具入门教程3之像素画基础
本文介绍了像素画创作的基本技巧与规范。首先说明了网格设置和线条绘制方法,强调像素片段规律性排列的重要性。接着详细讲解了基础几何形状的画法、明暗处理规律以及轮廓线技巧。在颜色应用方面,阐述了颜色环理论、避免条带的方法、色相偏移和抗锯齿技术。最后提出了双参考图绘制策略,以爱心为例演示了从参考图到成品的完整流程。全文系统性地归纳了像素画创作的核心技术要点,为初学者提供了实用的操作指南。
2025-07-06 10:09:00
665
原创 Unity3D仿星露谷物语开发69之动作声音
本文摘要: 游戏开发更新记录主要包含两方面改进:1) 新增Player动作音效系统,为砍树、砸石头等操作添加了对应音效;2) 修复NPC移动速度bug。技术实现上修改了6个核心脚本(CropDetails、Crop、ItemNudge等),通过AudioManager播放不同场景音效(如EffectTreeFalling、EffectStoneShatter),并确保音效与9类游戏动作(收集道具、浇水、播种等)精准匹配。同时优化了NPC移动逻辑,强制最低移动速度限制。
2025-06-22 23:19:02
673
原创 Unity3D仿星露谷物语开发68之脚步声音
本文摘要:文章详细介绍了在Unity中实现Player行走脚步声音的方法。主要内容包括:创建AudioSource组件处理空间音效,使用AudioMixer进行音频分层管理,设计AudioManager作为核心控制器,以及Sound类实现音效随机变化。技术实现上,通过ScriptableObject存储声音列表,对象池复用音效对象,并通过AnimationEvent触发脚步声音播放。最终实现了根据地面材质(硬/软)触发不同脚步声的效果,并支持变速移动(走路/跑步)时的音效变化。
2025-06-22 11:07:03
589
原创 Unity3D仿星露谷物语开发67之创建新的NPC
本文摘要:文章详细介绍了在游戏中添加新NPC(Cora)并配置其移动系统的步骤。首先通过NPCManager设置移动惩罚值,创建NPC对象并配置动画属性。接着修改脚本使NPC移动参数可见,设置场景和朝向信息。然后通过在场景中摆放NPC位置、配置障碍物和路径来优化移动路线。最后设置NPC的时间表,使其在游戏时间8点自动开始移动。整个流程涵盖了从NPC创建到行为控制的完整配置过程。
2025-06-21 00:07:01
466
原创 Unity3D仿星露谷物语开发66之NPC存档
摘要:本文介绍了为NPC角色实现保存和加载功能的修改方案。在NPCMovement.cs中添加了CancelNPCMovement方法,用于取消NPC移动并重置动画状态。重写了NPC.cs脚本实现ISaveable接口,包含保存NPC位置信息(包括网格位置、世界坐标和目标场景)和加载时恢复这些数据的功能。测试表明,当NPC移动到Scene3_Cabin后保存游戏,重新加载时NPC会正确出现在该场景中。该方案通过持久化NPC的关键位置信息,确保了游戏状态在不同会话间的连续性。
2025-06-20 20:51:32
236
原创 游戏机制的研究
文章摘要:游戏机制设计需要遵循简单规则衍生复杂机制的原则,通过成就感、节奏控制和多样化反馈提升玩家体验。核心观点包括:RPG四大系统(任务、等级、装备、技能)协同控制节奏;地下城设计需平衡难度与故事性;空间压缩和箱庭机制增强沉浸感;时间机制通过存档点和有限任务制造紧张感;道具和技能设计需考虑克制关系与操作空间;任务系统应逻辑自洽且避免重复;多人游戏需平衡团队合作与个人表现;《星露谷物语》成功融合种植、社交、采矿等机制,通过季节限制和运气系统创造动态平衡,其机制关联性与对立性共同构建了丰富的游戏体验。
2025-06-19 15:48:19
605
原创 Unity3D仿星露谷物语开发62之添加NPC角色
摘要:本文介绍了在Unity中创建NPC预制件并放置到场景中的步骤。关键操作包括:在PersistentScene下创建NPC空对象,添加SpriteRenderer、Animator(注意ApplyRootMotion功能)、Rigidbody、BoxCollider和GenerateGUID组件;将NPC转为预制件后删除原对象;最后在NPCs父对象下实例化预制件并重命名为NPC_Butch,完成组件配置。该流程实现了NPC的动画控制与场景部署。
2025-06-13 20:52:44
281
原创 Aseprite工具入门教程2之画图
像素画制作流程包括草稿、线稿、上色和光影处理7个步骤。像素画分为3种类型:保留黑线稿、相近色线稿和轮廓线稿,各具特点。日系2D横板游戏角色多采用三头身比例和45度侧身视角。角色绘制需分层处理头部、身体和四肢,并注重头发高光、衣服皱褶等细节光影表现。这种分层绘制和细节处理方法是像素人物创作的关键。
2025-06-13 14:09:07
342
原创 Aseprite工具入门教程1之操作功能
本文介绍了像素画软件ASE的基础功能,主要包括工具使用说明和工作流程。详细讲解了铅笔、喷枪、橡皮等绘画工具的用法,特别说明了"完美像素"功能对直线绘制的重要性。此外还介绍了图层管理、动画制作(包括帧操作和洋葱皮功能)、精灵表的使用方法,以及文件导出选项。文中通过对比图展示了不同工具的效果差异,如模糊与混乱工具的区别,并解释了参数设置对工具效果的影响(如油漆桶的容差设置)。最后简要说明了图片修剪和导出时的注意事项。
2025-06-11 16:28:11
1087
原创 Unity3D仿星露谷物语开发61之寻路
本文介绍了在Unity游戏开发中使用A算法实现路径规划的方法。主要内容包括:1)A算法原理,通过评估节点代价(G+H)寻找最优路径;2)关键代码实现:创建节点类、网格管理类、NPC移动步骤记录类等;3)具体实现步骤,包括修改网格属性管理器、编写A*核心算法和测试脚本;4)测试方法,通过设置起点终点坐标在Tilemap上可视化显示路径。该方案支持处理障碍物和不同地形惩罚值,适用于游戏角色寻路等场景,最终效果可通过测试脚本在场景中实时查看规划路径。
2025-06-10 00:52:41
718
原创 Unity3D仿星露谷物语开发60之定制角色其他部位
本文详细介绍了在Unity中实现角色自定义功能的技术方案。通过修改ApplyCharacterCustomisation.cs脚本,实现了对角色裤子、发型、肤色、帽子和装饰物的自定义功能。主要包括:1) 通过颜色选择器修改裤子颜色;2) 添加发型选择和着色功能;3) 提供四种预设肤色类型;4) 实现帽子穿戴切换;5) 支持眼镜和胡子等装饰物选择。技术实现上采用像素级操作,通过GetPixels/SetPixels方法处理纹理数据,并结合颜色替换算法实现外观定制。该方案为游戏角色自定义系统提供了完整的实现思路
2025-06-06 21:01:03
686
原创 Spine工具入门教程5之IK动画
文章摘要:本文介绍了反向动力学(IK)的基本概念及其在骨骼动画中的应用。通过创建IK约束示例,演示了单根和两根骨骼的IK设置方法。重点讲解了角色腿部IK的实现流程,包括骨骼造型要求、约束创建步骤和实际效果。针对IK应用中出现的脚掌下陷和脚尖方向问题,提供了具体解决方案:在脚掌骨骼末端添加约束点防止下陷,通过调整脚尖约束混合值为0来解决抬脚时的方向问题。这些方法有效地改善了角色动画的自然表现。
2025-06-05 13:50:41
358
原创 Spine工具入门教程4之网格与权重
摘要: 网格变形通过多边形顶点操控实现图片变形。操作步骤:1)启用网格后编辑顶点(关键点需穿过关节);2)权重绑定:将顶点与骨骼关联,系统自动计算权重,实现骨骼驱动变形。网格将图片分割为三角形区域,权重控制顶点受骨骼影响的比重,可通过权重面板调整。修改网格后需点击"自动"重新计算权重。该方法解决了手动逐顶点调整的效率问题,适用于骨骼动画制作。
2025-06-03 17:57:48
501
原创 Spine工具入门教程3之骨骼创建
本文介绍了骨骼动画制作的核心流程:1.通过父子级关系构建骨骼系统,采用FK正向动力学控制运动;2.在PS中定位坐标原点并导出素材;3.在Spine中导入数据创建项目;4.从腹部重心点开始逐级创建躯干、头部和手臂骨骼;5.建立骨骼与图片的关联,通过设置父级实现动画控制;6.对骨骼进行批量重命名;7.完成下半身骨骼创建并设置动作帧。整个过程详细说明了从基础骨骼构建到实现简单动画效果的操作步骤。
2025-06-03 15:46:33
420
原创 Unity3D仿星露谷物语开发59之定制角色衬衫
本文介绍了一个Unity角色自定义系统,主要实现角色衬衫、裤子、手臂颜色的定制功能。系统通过ApplyCharacterCustomisation脚本处理角色精灵表的像素级操作,包括:1)根据性别选择基础纹理;2)从衬衫精灵表中提取指定样式(红/绿衬衫);3)根据衬衫颜色自动调整手臂颜色;4)将衬衫纹理与角色基础纹理合并。关键技术点包括:使用二维数组跟踪角色朝向和衬衫位置偏移、颜色交换列表实现像素级颜色替换、纹理合并算法处理透明通道等。该系统支持运行时动态调整角色外观,通过简单的参数设置即可实现丰富的角色定
2025-06-03 00:24:18
1087
原创 Unity3D仿星露谷物语开发58之保存时钟信息到文件
摘要:本文对游戏时间管理系统进行了存档功能扩展。主要修改包括:1)为TimeManager对象添加GenerateGUID组件;2)实现ISaveable接口,添加唯一ID和存档数据属性;3)在Awake、Enable/Disable方法中初始化并注册存档功能;4)新增Save/Load方法,将游戏时间数据(年份、季节、日期、时分秒等)保存到SceneSave对象中;5)通过事件处理暂停/恢复游戏时钟。测试表明,系统能正确保存和恢复游戏时间状态,实现跨游戏会话的时间数据持久化。该方案适用于需要长期保存游戏进
2025-05-31 18:35:02
362
原创 Unity3D仿星露谷物语开发57之保存库存信息到文件
摘要:本文介绍了实现游戏库存栏数据保存功能的步骤。主要包括:1)修改SceneSave.cs脚本添加保存代码;2)为InventoryManager添加GenerateGUID组件并继承ISaveable接口;3)在InventoryManager.cs中实现保存逻辑,包括注册/注销方法、数据存储与读取功能;4)通过UIInventoryBar处理库存栏显示更新。最终实现游戏保存后库存物品信息的持久化,重新加载游戏时可恢复之前保存的库存状态。
2025-05-31 12:54:03
266
原创 Unity3D仿星露谷物语开发56之保存角色位置到文件
摘要:本文介绍了Unity游戏中的角色位置保存与加载功能实现。通过为Player对象添加GenerateGUID组件,修改SceneSave和Settings脚本,并实现ISaveable接口,系统能够保存角色位置、当前场景和朝向信息。SaveGame时将角色数据存入字典结构,LoadGame时恢复位置和方向。测试表明,跨场景保存后重启游戏,角色能正确恢复在另一个场景的位置和朝向,且之前种植的作物状态保持不变。该方案实现了游戏状态的持久化存储功能。
2025-05-31 11:19:28
404
原创 Spine工具入门教程2之导入
本文介绍了将PS原画导入Spine动画软件的两种方法:1)手动导出方式,包括批量导出(定位不准)和逐层导出(位置正确但优先级需调整),需在Spine中通过插槽管理绘制顺序;2)使用PS脚本自动导出PNG和JSON文件,通过Spine的"导入数据"功能实现更便捷的导入。两种方法都需注意图层顺序管理,其中脚本方式能更高效地保留原画结构关系。插槽系统是Spine管理动画元素的核心机制,支持资源复用和灵活切换。
2025-05-30 15:16:24
715
原创 Photoshop使用钢笔绘制图形
本文详细介绍了使用Photoshop钢笔工具绘制卡通人物的步骤:1)用钢笔工具绘制脸部轮廓和五官路径,包括闭合的脸型、眼睛和嘴巴,可使用Alt键调整曲线方向;2)绘制手臂路径并调整控制点位置;3)新建body图层为路径填充白色并描边;4)分别创建leftEye和rightEye图层对眼睛路径描边;5)建立mouth和toe图层完成嘴巴和舌头的绘制,最终呈现一个完整的卡通人物形象。整个过程涉及路径绘制、图层管理和填充描边等核心操作技巧。
2025-05-30 11:28:33
838
原创 Unity3D仿星露谷物语开发55之保存地面属性到文件
本文介绍了Unity游戏中实现存档/读档功能的方法。主要通过创建GameSave类存储游戏数据,修改GridPropertiesManager和SceneItemsManager等脚本实现ISaveable接口,完成数据的保存和加载。SaveLoadManager负责将数据序列化到文件中,使用BinaryFormatter进行二进制读写。最后通过UI界面添加保存和加载按钮,触发相应的存档读档操作。测试表明,该方法能有效保存地面物品和作物状态,重新加载后游戏数据恢复如初。
2025-05-29 23:54:49
1601
原创 Spine工具入门教程1之基本操作
Spine是一款专业的2D骨骼动画工具,通过将图片绑定到骨骼实现高效动画制作,相比传统逐帧动画具有体积小、资源节省、流畅性强等优势。教程演示了从导入图片到创建骨骼动画的基本流程,包括关键帧设置和动画混合操作。Spine支持程序化控制骨骼,可实现复杂交互效果(如角色注视、武器切换),其时间轴功能类似AE/PR,通过关键帧插值自动生成平滑过渡动画。操作上结合鼠标/键盘快捷功能,如视图调整、撤销等,提升制作效率。
2025-05-29 12:41:05
708
原创 Unity3D仿星露谷物语开发53之库存管理页面
添加一个完整的库存管理页面,有如下功能:1)当inventory库中有超过12个item时,按esc键进入库存管理页面可以看到所有的item2)库存管理页面中交互item的效果,第2排和第1排交互item,按esc退出后的库存中仍然正常显示3)刚好在拖拽,按esc键后拖拽取消4)库存管理页面中第25个开始是置灰的
2025-05-27 12:42:16
1096
原创 Unity3D仿星露谷物语开发52之菜单页面
创建菜单页面,可通过Esc键开启或关闭。当把鼠标悬停在上面时它会高亮,然后当点击按钮时标签页会被选择。
2025-05-26 13:46:43
1052
原创 Unity3D仿星露谷物语开发51之易碎的石头
制造易碎的石头,我们的方法是延续Crop的制作方法,还将把这些石头作为作物添加到作物详情列表中。使用pickaxe敲击石头并收集石头,收集的过程中会有打碎石头的粒子特效。
2025-05-26 00:49:38
682
原创 Unity3D仿星露谷物语开发50之初始化农作物
创建一个农作物实例化组件,这将使树木等农作物在设计时被添加到场景中,然后加载到网格的属性中。这样农作物就不用像之前一样,由Player播散种子后等待慢慢长大。而是在进入游戏时,就有一些各个生长阶段的树木了。
2025-05-25 09:58:04
789
flink任务分process处理方案
2017-05-03
opencc windows版本
2017-07-12
【Unity3D开发】U3D基础教程:涵盖生命周期、物体操作、输入处理、音频、碰撞检测等核心功能
2025-07-03
星露谷物语游戏的unity代码
2025-06-29
cycleGan的pytorch简化版本
2023-03-16
基于CenterNet简化后只做目标检测的源代码
2022-12-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人