游戏开发
解析 OBJ 模型并将其加载到 Unity3D 场景中
游戏开发
Unity3D 游戏开发之 Unity3D 场景编辑器扩展开发
Unity3D 场景编辑器扩展开发涉及对 Editor、EditorWindow、GUILayout、EditorGUILayout、GUIUtility、EditorGUIUtility、Handles、Event 等类的运用。通过基于 Editor 的扩展方式,可以针对脚本实现在 Inspector 中显示布局和在 Scene 视图进行可视化编辑。示例中创建了一个扩展的 Transform 组件,展示了如何利用可序列化对象和 Editor 类的属性和方法来实现自定义编辑器功能。另外,还介绍了如何创建一个 NPC 寻路节点编辑工具,通过 Handles 和 Event 类在场景中绘制和编辑寻路节点。
游戏开发
Unity3D 游戏场景优化系列之批处理
秦元培分享了他对Unity3D游戏场景优化的研究,以及他对《仙剑奇侠传六》游戏的失望。他深入探讨了Unity3D中的批处理技术,包括静态批处理和动态批处理的方式、效果和实现方法。通过测试对比发现,只有当不同物体共享相同材质时批处理才能有效降低DrawCall。他强调了优化的重要性,指出场景优化不仅仅是使用引擎,还需要程序员深入研究。文章总结了静态批处理的优势,并呼吁大家共同探讨学习,为提升Unity3D游戏开发效率而努力。
游戏开发
Unity3D 游戏开发游戏读/存档在 Unity3D 中的实现
在这篇博客中,作者秦元培分享了关于在RPG游戏中实现游戏存档的内容。他介绍了游戏存档机制的重要性以及存档所需包含的信息,然后讨论了在Unity3D中使用PlayerPrefs进行数据持久化的局限性,提出了转向JSON数据序列化的思路。文章还包括了关于加密/解密算法的介绍和代码示例,以及一个完整的Unity3D数据持久化辅助类的实现。最后,作者展示了一个简单的测试脚本来演示存档的保存和读取过程。文章内容丰富,为读者提供了实用的游戏开发技巧和思路。
游戏开发
SDL 游戏开发系列第二话:基本图形的绘制
在这篇文章中,作者介绍了SDL游戏开发中基本图形的绘制方法。讨论了使用SDL_LoadBMP()、SDL_CreateTextureFromSurface()和SDL_RenderCopy()这三个方法实现基本图形绘制的过程,重点解释了裁剪图形的概念和在SDL中的应用。文章还展示了如何在SDL中绘制背景图片和在窗口中心绘制美少女的示例代码,并提到了解决卡顿问题的方法。最后,留下了关于透明背景和下一篇文章内容的引入。
游戏开发
SDL 游戏开发系列第一话:Hello SDL
本文介绍了SDL游戏开发系列的第一篇文章,以"Hello SDL"为主题。SDL是一套开放源代码的跨平台多媒体开发库,提供图像、声音、事件等功能,适用于多种平台。文章详细介绍了SDL的特性和优点,包括跨平台性、支持2D和3D开发、外部扩展库等。另外,还描述了SDL的下载安装配置过程和基本流程,最后通过一个简单示例展示了SDL游戏开发的一般流程。
游戏开发
Unity3D 游戏开发之 SQLite 让数据库开发更简单
本文介绍了在Unity3D游戏开发中使用SQLite数据库的相关内容。SQLite是一款轻型的关系型数据库管理系统,适用于嵌入式设备和各种编程语言。文章详细介绍了SQLite的特性、选择原因,以及在Unity3D中使用SQLite的方法和示例代码。同时分享了一个SQLite辅助类SQLiteHelper.cs的代码,实现了数据库和数据表的创建以及基本操作。最后提供了不同平台上数据库存储路径的相关信息。
游戏开发
Unity3D 游戏开发之使用 AssetBundle 和 Xml 实现场景的动态加载
秦元培在博客中讨论了Unity3D中关于场景动态加载的问题。他介绍了两种主要的动态加载方式:一种是通过打包场景为AssetBundle实现按需下载和加载,另一种是将场景内物体信息导出为Xml文件,然后根据配置文件动态生成场景。他详细展示了如何准备工作、打包物体为AssetBundle、导出物体信息为Xml文件以及动态加载物体到场景中的方法。最后提到了使用这种方式可以提高游戏性能但工作量并未减少,建议对生成和销毁物体进行内存管理。
游戏开发
Unity3D 游戏开发之快速打造流行的关卡系统
在这篇文章中,作者介绍了移动平台上流行的关卡系统,解释了关卡系统的概念和原理。作者提到了如何定义关卡结构和配置文件,并展示了如何通过解析配置文件和UI绑定实现一个可扩展的关卡系统。文章还讨论了在Unity3D中资源读写的常见方案和路径问题,并展示了如何编写维护关卡的类和入口文件。最后,作者展示了一个简单的关卡选择界面,并解锁了第二个关卡,强调了对开发者的尊重和合法使用游戏的重要性。整体而言,文章详细介绍了如何实现一个简单的关卡系统,并提供了相应的代码和演示效果。
游戏开发
Unity3D 游戏开发之反编译 AssetBundle 提取游戏资源
本文介绍了如何通过反编译 Unity3D 的 AssetBundle 来提取游戏资源,并强调了保护游戏资源的重要性。AssetBundle 是 Unity3D 中用于资源打包和动态加载的解决方法,有助于减少游戏容量。作者以《轩辕剑 6 外传穹之扉》和《新仙剑 OL》为例,探讨了 AssetBundle 的应用和注意事项,包括打包和加载 AssetBundle 的方法以及通过反编译观察游戏资源。最后总结了在使用 AssetBundle 时应注意的几点:打包多个资源到一个 AssetBundle 中、分割预制件、动态加载场景等。文章强调了细致研究 AssetBundle 打包的重要性。
游戏开发
Unity3D 游戏开发之编辑器扩展程序开发实例
本文介绍了如何在Unity3D中为编辑器开发扩展程序。通过讨论扩展程序的概念和重要性,以及在Unity3D中常用的命名空间和类,如EditorGUI、EditorGUILayout和EditorWindow。具体通过三个案例展示了如何快速修改贴图类型、动态生成Prefab以及快速为Sprite设置图集tag。每个案例都提供了相应的代码示例和操作步骤,帮助读者学习Unity3D编辑器开发扩展程序的技术。
游戏开发
从「复活」和「暂停/恢复」谈游戏数据配置管理
随着游戏制作技术的发展,玩家对游戏质量的要求不断提高,游戏制作难度增加,引发了游戏数据配置和管理问题。本文从"复活"和"暂停/恢复"应用场景角度探讨了游戏数据管理,强调了数据在游戏状态切换中的重要性。通过具体应用场景分析,提及了数据管理的挑战和解决方法,以及静态数据和动态数据的处理方式。文章强调了良好的游戏架构对项目成功的重要性。
游戏开发
使用 Unity3D 创建一个幸运转盘
博主因工作挫折情绪低落,暂停游戏案例分享。介绍了幸运转盘游戏实现,Unity3D中转盘旋转代码示例,以及转盘抽奖的概率设计。探讨了随机数生成、指针角度控制、奖项概率计算等内容。提出了改进转盘交互性、计算准确性等问题,并给出了概率计算的方法,展示了转盘游戏概率设计效果演示。
游戏开发
使用 Love2D 引擎开发贪吃蛇游戏
本文介绍了博主最近使用Love2D游戏引擎开发的贪吃蛇游戏,涉及贪吃蛇的移动算法、Lua编程和游戏状态判断等内容。通过演示贪吃蛇移动规律和判断吃食物的方法,以及通过代码展示蛇的移动和游戏状态的判断逻辑。最后给出完整的程序代码和游戏效果展示,同时提供GitHub链接获取源代码。
游戏开发
使用 Mecanim 动画系统来控制 2D 动画
今天文章介绍了在Unity3D中如何使用Mecanim动画系统来控制2D动画。传统的2D动画实现方式是基于逐帧动画,但存在动画和状态维护困难。通过使用Mecanim动画系统,可以更方便地管理动画和状态切换,减少代码量。文章展示了如何创建2D动画并设计动画状态机,以及编写脚本来控制角色动画。最后指出Mecanim动画系统可扩展到位移、旋转、伸缩、渐变和脚本动画。整体内容涵盖了2D动画控制的基本知识和扩展应用。1
2
下页