在 Unity3D 中使用 uGUI 实现 3D 旋转特效 本文介绍了在 Unity3D 中使用 uGUI 实现 3D 滚动视图效果的方法,通过伪 3D 技术,采用椭圆参数方程计算精灵位置,实现视觉上的3D效果。文章首先分析了需求,提出了两种实现思路:真实的 3D 制作和伪 3D 制作,并选择了后者。接着,详细阐述了基于椭圆的伪 3D 效果的核心原理,包括精灵位置和深度的计算,以及如何设置精灵的层级以营造立体感。文章还提供了具体的实现步骤和代码示例,包括初始化精灵数组、设置精灵位置和深度的代码,以及实现向前和向后翻页的功能。最后,作者提到了文章中未实现的功能,如滚动的平滑性和支持鼠标或触屏操作,以及为精灵设置不同的缩放比例以增强3D感,并鼓励读者自行探索和实现这些功能。
Unity3D 游戏开发之在 uGUI 中使用不规则精灵制作按钮 在这篇博客中,作者讨论了在 Unity 引擎中制作不规则按钮的方法。通过对基于多边形碰撞器和精灵像素检测两种方案的比较和研究,解决了基于多边形碰撞器的问题,并剖析了基于精灵像素检测的内部原理。作者指出精灵像素检测方法易用性更好,但存在对图片类型的限制和像素可读写要求,可能影响执行效率。技术性上作者更推崇基于多边形碰撞器的方法,因为学到了新知识并能解决实际问题,尽管在寻找算法方面耗费精力。文章深入探讨了这两种方法的优缺点,展示了对不规则按钮制作的实际操作和测试。
扩展 Unity3D 编辑器的脚本模板
EasyAR 尝鲜系列教程之视频播放功能的实现 EasyAR 尝鲜系列教程介绍了如何在Unity中实现视频播放功能,主要通过VideoPlayerBehaviour类来支持视频播放。作者提到了视频播放器组件的设置参数以及如何在ImageTarget下添加VideoPlayerBehaviour的子物体来实现VideoTarget。此外,作者还展示了一个自定义的VideoTargetBaseBehaviour类,通过动态创建视频组件来增强ImageTarget,使得制作识别图时更专注且方便。教程中提到了对32位操作系统下视频播放的兼容性问题,并给出了相关代码示例和配置步骤。
C# 中的扩展方法学习总结 本文总结了 C# 中的扩展方法的概念和特点。扩展方法是为类提供的一种不改变源代码的方式。通过静态类和静态方法实现,需要使用 this 关键字指明要扩展的类。作者提到了编写和使用扩展方法的示例,并讨论了使用扩展方法的利弊,强调了遵守就近原则以避免代码 “污染” 。文章总结了实现扩展方法的关键要点和注意事项。
Unity3D 游戏开发之 C++ 插件接入 本文介绍了在Unity3D中使用C++编写插件的两种方法:C++ CLR和C++ Native。C++ CLR是托管的C++代码,允许C#调用,适用于Unity3D建立在Mono上的情况;C++ Native则是传统的C++动态链接库,通过DllImport在C#中调用非托管的C++代码。详细展示了如何创建项目、编写代码并在Unity3D中调用这些插件的方法,提供了C++ CLR和C++ Native的实现示例和最终程序运行效果。
解析 OBJ 模型并将其加载到 Unity3D 场景中
Unity3D 游戏开发之分页效果在 uGUI 中的实现 在这篇文章中,作者介绍了在uGUI中实现分页效果的方法。他指出uGUI在功能上不如NGUI提供丰富组件,但由于其较好的扩展性,可以通过编写脚本来增强功能。作者讨论了分页的重要性,解释了为什么需要分页,即内容无法完全展示在一页内且无法估计内容数量。他展示了使用ScrollRect、GridLayout和Mask组件实现滚动列表的方法,并探讨了在处理无限滚动时的挑战和解决方案。最后,作者通过简单的示例展示了在uGUI中实现分页效果的具体方法,包括初始化元素、绑定页面元素以及上一页和下一页的操作。整体内容强调了掌握通用技能的重要性,同时提倡在理解基础上编写代码,避免简单抄袭。
EasyAR 尝鲜系列教程之自定义 Marker 的实现 本文介绍了使用 EasyAR 增强现实引擎创建自定义 Marker 的过程。首先解释了 EasyAR 的基本流程,包括创建相机设备、图像追踪器和处理帧画面等步骤。然后详细说明了在 EasyAR 中如何配置自定义 Marker,通过修改 dataset.json 文件并在 Unity3D 中设置相关属性实现自定义 Marker 的创建。最后展示了如何在场景中使用自定义 Marker 并部署到手机上,实现AR效果。文章指出 EasyAR官方API 文档仍不完善,但作者将持续关注并解决相关问题,同时暗示将在未来写出更多关于自定义脚本和功能的内容。
EasyAR尝鲜系列教程之Hello EasyAR 该文章介绍了国产增强现实引擎EasyAR的系列教程,针对增强现实应用开发者和Unity3D游戏开发者。增强现实技术集成真实世界和虚拟世界信息,具有实时交互性,可应用于多个领域。EasyAR是免费的跨平台AR引擎,提供简单易用的开发工具,虽然文档不完整但具有巨大潜力。文章还介绍了使用EasyAR SDK的步骤和解决常见问题。
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游戏开发效率而努力。
《仙剑奇侠传六》游戏感言 仙剑六作为仙剑系列的新作,在剧情、画面、建模、游戏性等方面引起了玩家的讨论和批评。玩家对游戏画面、建模、剧情发展和战斗系统等方面提出了批评,认为游戏在某些方面存在不足和问题,尤其是在战斗系统方面模仿FF13却未能成功,导致玩家体验下降。尽管官方在第三版补丁中进行了优化,但仍有改进空间。整体而言,玩家对仙剑六的期待和批评显示出他们对这个仙剑系列的热爱与关注。
Unity3D 游戏开发之 SQLite 让数据库开发更简单 本文介绍了在Unity3D游戏开发中使用SQLite数据库的相关内容。SQLite是一款轻型的关系型数据库管理系统,适用于嵌入式设备和各种编程语言。文章详细介绍了SQLite的特性、选择原因,以及在Unity3D中使用SQLite的方法和示例代码。同时分享了一个SQLite辅助类SQLiteHelper.cs的代码,实现了数据库和数据表的创建以及基本操作。最后提供了不同平台上数据库存储路径的相关信息。