477 1 分钟

由于 Spine3.8.75 网络上传播太多,所以官方针对这个版本做了限制,由该版本导出的 Spine 动画不能在 Unity 中正确读取。 # 修改 json 在以 json 格式导出的动画中,可以直接编辑文件修改版本号,修改版本号后就可以被 Unity 正确识别了。 # 修改二进制 上面的方法虽然方便,但是处于对性能的考量,现在基本都是用二进制数据,通过测试发现,修改二进制文件的版本号同样可以正确使用。 但是修改二进制十分麻烦,使用二进制查看器去改位非常麻烦,而且在每次导出时都需要修改一次才能正确使用。于是我做了一个简单的小工具。 核心代码var fs = new...
1.1k 1 分钟

以下用于记录我在开发 《如果世界没有你》 时的一些思考 《如果世界没有你》 是一款互动叙事类游戏,以下简称 没你 ,起初我在接手时,一听伪 3D 的对话冒险游戏,我觉得我不是轻轻松松解决嘛,事实上在实际的游戏开发中,我还是发现了一些特殊的地方,由此文记录,以便日后自己在面对类似情况时少踩坑。 # 策划设计方面 在这种注重游戏互动叙事的游戏中,策划设计方案显得尤为重要 ,以下从游戏性和美术学方面讨论。 # 游戏性 游戏性的重要组成是游戏的核心玩法,对于普遍的解密探索类游戏来说,通过玩家点击,找到相关线索,使用道具,推进故事。 Error: Evaluation failed:...
132 1 分钟

# 说明 在我们制作如下的提示框时,会使用到 IPointerEnterHandler, IPointerExitHandler 但是,会出现提示框闪烁(其实是进入离开疯狂调用) # 解决方案 将提示框射线检测去掉(避免新生成的提示框隔断) 控制提示框的锚点远离一些 为提示框添加组件
387 1 分钟

# 说明 以下是关于一个游戏存档的设计,包括截取游戏画面,记录时间和存储数据等内容,记录一下,以备以后回顾。 大致的效果如下,将所有存档展示出来,有截图对应,点选载入存档。 var path = Application.persistentDataPath + "/aa111.png";print($"PATH:{path}");ScreenCapture.CaptureScreenshot(path);// 截图并保存截图文件 结合存档系统,就可以设计出如下所示的存档功能 ///...
195 1 分钟

# 软件选择 在软件选择上,对于我这种没有绘画基础的程序员来说,果断选择了轻量级的 Aseprite 。 # 工作界面 工作界面 如图可以看到工作界面,在界面上有 菜单栏 、 颜色选择器 、 工具栏 、 主工作区 和 动画帧图层工作区 几个部分组成。 # 快捷键 快捷按键 作用 B 画笔 L 线条工具 U 形状工具 D 轮廓工具,它的功能是在你画出任意形状的轮廓之后将这个轮廓自动填充颜色。这个工具能让你快速绘制任意形状的实色物体。 I 拾色器 G 油漆桶
255 1 分钟

# 前言 🔹ScrollView 是我们经常使用的一个 UI 组件,但时常容易忘记具体的使用细节,故在此文予以记录。主要用于需要滑动的区域 ScrollView组件如图所示 # 组成部分 ScrollView 包含 Content、Scrollbar、OneValueChange 三部分组成。 Content 用于显示内容,通过 mask 遮罩来过滤大于显示区域的内容。 Scrollbar 用于滚动条、 OneValueChange 用于滚动监听 # 使用示例 注意在 Content 中设定好大小,保证能够包裹所有子物体 也可以添加 制作完成效果如图所示:
1.1k 1 分钟

2021 年不知不觉就过去了,不知道为什么,我感觉时间过得越来越快了🙂. 回首过去的一年里,我好像也没做什么事情 # 前言 我向来觉得对自己的生活进行阶段性记录是很有必要的,通过这种方式可以记录下很多东西,在迷茫时看看从前的自己说不定能获得什么能量吧~ # 关于自设框架 # 数值系统 引入了数据修改器的概念,所以对于游戏的各种数据都需要分门别类的管理,特别是针对于 Character 的数据。 # 任务系统 # buff 系统 关于 Buff 系统在我的自制框架中,制作了一版实时的,在开发回合制卡牌游戏原型时,发现回合制的 Buff 和实时的 Buff...
116 1 分钟

现在是 2022 年 12 月 29 日 16:22:06 没想到拖了整整一年才捡起这件事。 回顾整个项目,虽然完成了很多通用的模块,但这些模型也仅仅只是 demo 级别,尚还缺乏验证,且游戏设计思想仍然不够完整,对于游戏地图的设计也缺乏确定的解决方案。
628 1 分钟

自定义特性可以用来标记一些类或类成员 using System;using UnityEngine;namespace Test{ [Author("Fasty")] public class Test: MonoBehaviour { private void Start() { Show(typeof(Test)); } // 用反射获取自定义特性 public void Show(Type t) { var attr =...