Unity3D 游戏开发之 Unity3D 场景编辑器扩展开发 Unity3D 场景编辑器扩展开发涉及对 Editor、EditorWindow、GUILayout、EditorGUILayout、GUIUtility、EditorGUIUtility、Handles、Event 等类的运用。通过基于 Editor 的扩展方式,可以针对脚本实现在 Inspector 中显示布局和在 Scene 视图进行可视化编辑。示例中创建了一个扩展的 Transform 组件,展示了如何利用可序列化对象和 Editor 类的属性和方法来实现自定义编辑器功能。另外,还介绍了如何创建一个 NPC 寻路节点编辑工具,通过 Handles 和 Event 类在场景中绘制和编辑寻路节点。
在 Unity3D 中加载外部图片的两种方法 作者秦元培在其博客中分享了如何在 Unity3D 中实现从本地加载图片到游戏界面的功能,主要针对单机游戏中的实时存档需求。介绍了两种方法:1. 使用 WWW 类通过 file 协议加载本地文件,但需注意使用协程管理;2. 传统的IO方式,通过 FileStream 读取图片文件到 byte[] 数组,再利用 Texture2D 的 LoadImage 方法生成 Unity 中的 Texture2D 对象,该方法效率更高。文章还提供了详细的代码示例,包括如何将 Texture 转换为 Sprite 以供 UGUI 的 Image 控件使用。最后,作者通过测试指出 IO 方式加载速度更快,更推荐使用。
做最初的自己 在中秋节这个本应家人团聚的日子里,作者因工作选择与家人产生争执。作者渴望有挑战和梦想的生活,不愿迎合世俗和政治,坚持正直和善良。尽管被贴上“愤青”标签,作者仍希望保持初心,不随波逐流。在互联网行业迅速发展的背景下,作者坚信技术能让世界更美好,坚持自己的职业选择,即使不被家人理解。作者以自己的经历和互联网行业的变化,反思个人成长和社会发展,坚持自己的价值观和生活态度。
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游戏开发的一般流程。
《仙剑奇侠传六》游戏感言 仙剑六作为仙剑系列的新作,在剧情、画面、建模、游戏性等方面引起了玩家的讨论和批评。玩家对游戏画面、建模、剧情发展和战斗系统等方面提出了批评,认为游戏在某些方面存在不足和问题,尤其是在战斗系统方面模仿FF13却未能成功,导致玩家体验下降。尽管官方在第三版补丁中进行了优化,但仍有改进空间。整体而言,玩家对仙剑六的期待和批评显示出他们对这个仙剑系列的热爱与关注。
Unity3D 游戏开发之 SQLite 让数据库开发更简单 本文介绍了在Unity3D游戏开发中使用SQLite数据库的相关内容。SQLite是一款轻型的关系型数据库管理系统,适用于嵌入式设备和各种编程语言。文章详细介绍了SQLite的特性、选择原因,以及在Unity3D中使用SQLite的方法和示例代码。同时分享了一个SQLite辅助类SQLiteHelper.cs的代码,实现了数据库和数据表的创建以及基本操作。最后提供了不同平台上数据库存储路径的相关信息。
Unity3D 游戏开发之从 Unity3D 项目版本控制说起 在这篇文章中,作者介绍了在 Unity3D 游戏项目中进行版本控制的重要性和方法。作者指出团队合作时需要版本控制来避免代码冲突和确保项目稳定性。在 Unity3D 中,版本控制主要针对 Assets 和 ProjectSetting 文件夹,需要将项目设置为生成 .Meta 文件和将资源模式设置为 Force Text。作者提到了三种主要的版本控制方式:使用 Asset Server、Github 和 SVN,并提供了相关链接和操作指南。最后强调了建立代码提交规范和流程控制规范的重要性。
Unity3D 游戏开发之路:一月工作总结 一个程序员分享了他在公司上班一个月的经历和思考。他感受到作为程序员的孤独与幸运,讨论了传统行业与互联网行业的结合以及团队合作中的挑战。他强调了项目规划的重要性,探讨了美术、策划和程序之间的协作,以及如何让项目流程化和提高团队效率。他还谈到了在团队中遇到的技术和沟通问题,强调了团队沟通的重要性。整体来说,他分享了自己的工作经历和对团队协作的思考。
Unity3D 游戏开发之使用 AssetBundle 和 Xml 实现场景的动态加载 秦元培在博客中讨论了Unity3D中关于场景动态加载的问题。他介绍了两种主要的动态加载方式:一种是通过打包场景为AssetBundle实现按需下载和加载,另一种是将场景内物体信息导出为Xml文件,然后根据配置文件动态生成场景。他详细展示了如何准备工作、打包物体为AssetBundle、导出物体信息为Xml文件以及动态加载物体到场景中的方法。最后提到了使用这种方式可以提高游戏性能但工作量并未减少,建议对生成和销毁物体进行内存管理。
Unity3D 游戏开发之快速打造流行的关卡系统 在这篇文章中,作者介绍了移动平台上流行的关卡系统,解释了关卡系统的概念和原理。作者提到了如何定义关卡结构和配置文件,并展示了如何通过解析配置文件和UI绑定实现一个可扩展的关卡系统。文章还讨论了在Unity3D中资源读写的常见方案和路径问题,并展示了如何编写维护关卡的类和入口文件。最后,作者展示了一个简单的关卡选择界面,并解锁了第二个关卡,强调了对开发者的尊重和合法使用游戏的重要性。整体而言,文章详细介绍了如何实现一个简单的关卡系统,并提供了相应的代码和演示效果。
Unity3D 游戏开发之路:一周工作总结 秦元培分享了他在新工作中的经历和挑战,被委以重任在Unity3D项目中扮演主程角色。他讨论了在项目中遇到的问题,如跨域下载AssetBundle时的需添加crossdomain.xml文件、动态生成UI Prefab被拉伸的问题以及AssetBundle的mainAsset问题。此外,他谈到了场景打包为AssetBundle时需要注意的问题,包括加载本地场景与从服务器加载场景的关卡列表冲突。他分享了自己的解决方案和实验结果,展示了对Unity3D开发中的技术挑战的思考和探索。
毕业就像指尖流沙
毕业就像指尖流沙 作者在文章中反思了自己的大学生涯,表达了对专业的失望和对未来的迷茫。他承认自己是一个不善于表达和社交的人,不喜欢酒桌上的虚假和表面功夫,更看重朋友之间的真诚相处。同时,他也提到了中国社会中的人情世故和圈子文化,认为这些复杂人际关系无法与计算机世界的简单逻辑相比。作者对朋友的定义是不以利益为基础的真诚帮助,他对于毕业聚会的意义感到迷茫,虽然他感激同学们的帮助,但对聚会后能留下的真正意义感到怀疑。他展现了自己随和的性格,不喜欢强迫别人,认为真正的记忆不在于酒桌上的庆祝,而在于彼此在对方生命中的存在。最后,作者表达了对未来不确定性的接受,他只想做一个普通而平凡的人。