- 博客(34)
- 收藏
- 关注
原创 脑回录#1
本文探讨了多个技术主题:1. GDScript静态类型比动态类型更快的原因在于编译时类型确定性,减少了虚拟机运行时的类型检查开销。2. Godot使用虚拟机的核心价值在于跨平台兼容性、安全性、开发效率(如热重载)和性能平衡。3. Godot数组采用Variant通用容器实现不同类型存储,并提供性能更优的紧缩数组和类型安全数组选项。4. StringName通过字符串内嵌机制优化性能,适合作为标识符使用,而String则更适合文本处理和显示。5. 现代语言弱化OOP的趋势体现在:组合优于继承、Traits替代
2025-09-25 19:47:37
640
原创 项目复盘:By My Side(萦绕)与 AI 融入游戏的一些体会
本文分享了48小时游戏开发活动的项目经验。团队采用Godot引擎开发解密游戏,利用场景化编程实现解耦设计,并通过全局单例管理游戏流程。美术方面大量使用AIGC工具,并创新实现了表里世界切换效果。重点探讨了AI在游戏开发中的应用挑战:3D模型生成存在速度、自定义和稳定性问题;大语言模型则需要优化上下文存储。文章认为AI与游戏融合仍处于初级阶段,但未来潜力巨大。
2025-09-03 13:35:17
1034
原创 项目复盘:Arena Of Furnace
《熔炉竞技场开发手记》摘要 本文记录了使用Godot 4.4.1引擎开发3D挂机游戏《熔炉竞技场》的技术心得。游戏核心玩法是通过"种族+职业+武器"组合生成AI模型战士进行自动战斗。开发过程中探索了多项关键技术:1) Godot特有的依赖注入方式比较;2) Autoload单例模式的应用优势;3) 资源静态化与动态化的取舍;4) 引用变更问题的状态机解决方案;5) UI容器系统与分辨率适配策略;6) 输入事件处理层级;7) 主题定制与场景复用技巧。同时总结了开发中遇到的典型问题:资源文件
2025-08-04 16:33:27
929
原创 Tripo API 接入与 Godot 插件开发
本文分享了将3D AIGC大模型API接入Godot引擎的开发经验。作者通过HTTP轮询实现API通信,使用GLTFDocumentExtension解决运行时模型导入问题,并设计了基于Subviewport的预览窗口。开发过程中遇到服务器不稳定、Reload失效等技术难点,最终完成文生模和图生模功能。文章指出当前AI生成模型的成本较高(每个模型约1.4元人民币),更适合大型企业,但期待未来技术发展能降低成本,惠及更多开发者。整个项目耗时一周,主要涉及Web API接入和资源处理等技术环节。
2025-07-11 13:11:36
942
原创 Vulkan 推送描述符
本文介绍了Vulkan的VK_KHR_push_descriptor拓展的使用方法,该拓展简化了描述符管理流程。主要内容包括:1)启用拓展的注意事项;2)创建描述符布局的关键标志设置;3)通过vkGetDeviceProcAddr获取函数指针实现推送操作。同时分享了开发经验:设置颜色混合阶段的重要性、使用RenderDoc调试工具,以及VulkanNDC范围问题(特别是GLM数学库需要GLM_FORCE_DEPTH_ZERO_TO_ONE标记)。文章通过实际案例说明了这些技术在Vulkan开发中的实际应用和
2025-06-02 00:09:20
938
原创 Vulkan 动态渲染
本文介绍了在Vulkan 1.3.2环境下使用C++和vk-bootstrap库进行动态渲染的实现过程。动态渲染是Vulkan 1.3的核心特性,旨在简化RenderPass和Framebuffer对象与管线对象之间的复杂耦合。文章详细阐述了动态渲染的关键步骤,包括检查可用性、拓展管线和渲染过程。此外,还讨论了C++风格与C风格API的优缺点,动态编译着色器的方法,以及交换链重建的时机和策略。最后,文章提到了在执行帧(FrameInFlight)的概念及其对渲染效率的影响,并指出在实际测试中动态渲染可能导致
2025-05-21 23:16:45
1439
原创 Godot开发框架探索#2
其实好像也没有多少好说的,本来以为能多编一些,但是想说的都在源码里了。那个开源项目后面大概率会被归档,因为它的定位不太清楚,我打算等有想法了做一个更框架一点的框架,把功能细化优化。这里更多地应该是收拾收拾心路历程。其实优柔寡断真的什么都做不了,每个引擎或框架都有自己的优缺点,而且游戏开发重点在人而非工具,与其纠结用哪个工具不如纠结游戏的玩法。t=O83A。
2025-02-07 21:48:23
1430
原创 Godot Tween 补间动画探索
总得来说,Godot算是把Unity的DoTween直接嵌入到引擎中了,我觉得在相当多的情况下,程式动画的需求还是非常大的,Godot的补间动画正好弥补这些,当然它和AnimationPlayer一样不止是能用于动画,它最大的限制可能只是人们的想象力。
2025-01-09 17:00:58
1990
原创 SDL3 GPU编程探索
也许你依然觉得SDL3GPU很复杂,那你之前可能是写OpenGL的,因为这点代码对于Vulkan来说连渲染管线都不一定创建得完(doge)。非常好API,使我的Vulkan旋转!
2024-12-26 00:41:54
2885
原创 考古XNA,上手FNA
FNA是真的新手劝退,我之前没有死磕FNA现在看来相当明知,只有在了解足够的游戏引擎之后才会想着自己实现一些东西,所以适合对自己游戏需求比较清晰,对游戏引擎理解比较全面的开发者。反正不是我。
2024-12-22 23:46:21
1900
原创 企图实现王国类似的水面镜像Shader
可以看到最终效果还是很大便的。不过重点毕竟是思路,而且根本没有用到什么素材,我相信丰富度堆起来还是可以很华丽的,再加上写流光,噪声什么的。
2024-11-20 23:25:31
1168
原创 浅尝一下Godot Shader
写得有点多了,本来不想说这么多的。本来不像碰shader的,但是还是抵挡不住美术的诱惑,后来才发现以前被Unity坑了,觉得写Shader是种折磨。GodotShader真的很好写。
2024-11-19 23:55:51
3269
1
原创 分享一些Godot C#导出的Tips
略微记录一下平时使用Godot时的导出设置和习惯。我怕我以后忘记了。如果有更好的方式请不吝赐教,虽然优快云都是机器人就是了。
2024-11-17 00:33:43
1753
原创 Godot的开发框架应当是什么样子的?
这是一篇杂谈,主要内容是对我近期在做的事做一些简单的小总结和探讨,包括整理Godot开发工具和思考Godot开发核心。因为太久没写东西了,于是随性地写一点吧,有啥说啥。其实开发了这么久,对游戏引擎的共性之间多少有些了解了,做得越久越发明白“引擎不重要”是什么意思,也越来越觉得清晰的设计思路比框架更重要。本来还有很多话但是到此为止吧,我的经验已经不够用了,也许下一次“杂谈”能更加侃侃而谈吧。
2024-11-12 23:18:03
1532
原创 项目复盘:TapTap聚光灯Gamejam
多说无益,因为我一时半会也想不到什么重要议题,于是就草草结束吧,具体的实践成果肯定是要等到真正的代码搓出来了才会展示。下一次开发多半是月末的吉比特GJ了。t=O83A第九天PC/主机 - TapTaphttps://www.taptap.cn/app/726174。
2024-10-31 14:18:24
1277
原创 C# 游戏引擎中的协程
简单来讲,协程是轻量级,用户级的线程,通过“分时复用” 的方式模拟多线程操作。协程是一个“伪线程”,它其实只在一个线程上执行,但是通过执行“挂起”和“恢复”等操作,可以实现“不同时间执行不同任务”或者说“一个任务分到多个帧内完成”。协程的优点就是缺点,缺点就是优点。它没有直接操作线程繁琐,也无法发挥多核处理器的优势,所以它并非“必要的”。不过对于游戏开发而言,游戏一般只有一个“主循环”,或者说一个主要线程,所以资源和数据(也可以说“上下文”(context))主要就只在一个线程中。
2024-09-23 23:49:48
3762
1
原创 “Vulkan的第一个三角形”
学了有关Vulkan的一些基本用法,在这里系统的记录一下。感觉Vulkan这个API确实非常麻烦,如果有没接触过图形API的同学看到这里,但是还没深入学习的话,说句实话不推荐把Vulkan作为入门API。因为它非常非常繁琐,这是官方自己说的。
2024-08-16 01:30:20
1619
原创 Unity 3D, Blender 与Low-poly 建模的简单流程
初次尝试使用Blender为Unity3D项目制作Low-poly模型总结的简单流程。
2024-02-27 22:42:25
2956
2
原创 Unity资源管理与优化相关问题
不要拘泥于优化而对开发畏手畏脚,优化经验是靠开发积累而来的,不是一朝一夕能掌握的。哪怕现在敲了这么多字,也并不意味着已经掌握。所以开发时就大胆的去开发,把小优化当作习惯,大优化当作经验。
2024-02-16 01:51:04
1517
2
原创 懒人UI框架与操作方式识别
有这些奇怪需求是我在GGJ2024得出来的,就上周那场。我们队伍企图做一个吸血鬼like的游戏,并非常荣幸的收获了许多BUG和需求,于是不得不花时间整理,可能之后的好几次文章可能都要围绕那个游戏做题。我在设计游戏架构之初就打算让它同时支持键鼠和手柄游玩。但到最好赶工干着干着只能忽略了,这毕竟也是GJ。所以现在回头梳理重构一下之前的框架并记录成果。
2024-02-05 23:31:43
1667
1
原创 Unity简单本地存档系统
因为一边备考一边钻研这个存档系统,所以考试没考好,研究也没研究出什么。但是收获还是很多,由于是个人的总结笔记,文中出现的任何觉得有问题的点请随时找我。下面就是我自己对存档系统的总结:涉及到的现在这个系统只是一个雏形,而且仅适用于本地,对于数据库端的存储应该截然不同,好在我目前只需要用到这种程度。对于进一步对该系统的构建有大致几个可能和设想:1.更换JsonUtility为其他上限更高的序列化具体方法,或者完善JsonUtility的不足,比如不能存储字典之类的嵌套数据类型。
2024-01-12 22:17:35
4758
5
原创 Unity简单过场动画脚本
前置精简的记录一下简单过场动画脚本。不会进行过多讲解了。前置需要一个GameObject,装载必须组件Video Player和Raw Image。这里是把GameObject作为GUI了所以有Canvas Renderer.Raw Image和Video Player都需要Render Texture作为属性,前者是象征后者是投射对象。简单来说,Video Player会把Video Clip投射到对应Render Texture上,然后Raw Image是它的载体。
2023-12-30 23:26:42
944
1
原创 几种状态栏UI的简单做法
好,现在我们看到的是森林的状态栏UI。对于这种比较简单且美感的曲线UI一直以来都是我的追求。假的这是堕落之主的状态栏UI,顺带一提这个游戏风评不好但也不至于彻底玩不下去。最近正好通关了,拿来做个素材。心脏病误入这种就是常见的条状状态栏UI类型了。我一开始接触Unity时就喜欢用Slider做血条。因为这玩意本身并不是为血条这种东西设置的。不论是父子层级的复杂程度还是“就算把Value调到最小还是不能完全消失的弊端都让我不爽。于是就稍微探究了下这种状态栏UI怎么做好点。
2023-12-07 19:27:00
1651
原创 协程实现回合制的基本方法
由女巫项目探究而来的优化版本。(框架)看上图,要求实现熊大,熊二,熊三按照顺序执行行动。上面是挂载在每头熊上的脚本,用来管理每个熊的不同行为。上面是管理器类,挂载在上图的同名空物体上。用来执行顺序逻辑,按照列表UnitList执行。已经在Inspector中设置好了。重点是利用协程实现等待效果的思想,yield return (Coroutine) 括号中应写入某个协程,注意不要写入IEnumertor类型的变量,不会报错但是没有效果。每间隔 2 秒轮到下一头熊行动。
2023-11-28 18:59:22
674
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅