使用 Mono 让.NET 程序跨平台运行 Unity3D引擎以其跨平台能力备受开发者青睐,跨平台开发对程序员而言至关重要。从Mono到Xamarin,介绍了.NET跨平台的原理和实现方式。探讨了Mono在实现.NET跨平台方面的作用,以及如何将.NET程序移植到Linux平台。讨论了.NET程序脱离.NET框架运行的可能性,重点在于解决基础类库的依赖问题。最后总结了跨平台开发的重要性和挑战,强调了编写跨平台代码的必要性。
在 Unity3D 中基于订阅者模式实现事件机制 在Unity3D中,基于订阅者模式实现消息传递机制是探讨的重点。文章介绍了单例模式、委托和事件机制在不同模块间通信中的应用,重点讨论了订阅者模式和事件机制的实现方式。通过示例展示了事件机制的应用,包括使用一个通知中心类来实现事件的添加、移除和分发,以及事件数据的传递和处理。文章指出目前设计存在的问题,并提出优化建议,如改进键名设计和参数传递方式以提高扩展性和性能。
扩展 Unity3D 编辑器的脚本模板
《Cg Programming in Unity》读书笔记 最近开始学习Shader语言,Unity3D中的Shader编写基于Cg语言和HLSL语言,两者相似性较高,具有互通性。Shader编写可参考ShaderLab,是对Cg的封装。Shader结构包括Properties、SubShaders和Fallback部分。其中Properties定义属性,SubShaders包含Pass通道,Fallback处理无法运行的情况。SubShader中使用Tags标签控制渲染,Pass通道设定渲染对象的几何体。渲染设置包括材质、光照、深度测试等设置,纹理设置指定纹理及混合模式。Fallback用于处理不支持Shader的情况。Shader语法主要针对Cg代码,包括CGPROGRAM和ENDCG。Unity3D中有三种着色器类型:固定功能着色器、表面着色器和顶点&片段着色器。
EasyAR 尝鲜系列教程之视频播放功能的实现 EasyAR 尝鲜系列教程介绍了如何在Unity中实现视频播放功能,主要通过VideoPlayerBehaviour类来支持视频播放。作者提到了视频播放器组件的设置参数以及如何在ImageTarget下添加VideoPlayerBehaviour的子物体来实现VideoTarget。此外,作者还展示了一个自定义的VideoTargetBaseBehaviour类,通过动态创建视频组件来增强ImageTarget,使得制作识别图时更专注且方便。教程中提到了对32位操作系统下视频播放的兼容性问题,并给出了相关代码示例和配置步骤。
EasyAR 尝鲜系列教程之 ImageTarget 千呼万唤始出来 在这篇文章中,作者介绍了 EasyAR 的重大版本更新v1.10,开始了一个新的教程系列。文章围绕使用 Unity3D 4.6.4 版本构建一个 ImageTarget 实例展开讨论。作者解释了 EasyAR SDK 的结构,并详细介绍了常用标准接口,如 ARBuilder、ImageTargetBehaviour、VideoPlayerBaseBehaviour 等。在构建第一个 ImageTarget 项目的过程中,作者指导了 EasyAR 的初始化和制作 ImageTarget 的步骤,包括编写脚本、隐藏和显示模型、创建识别图和 Marker 等。最后作者提到了关键步骤,如填写应用程序密钥、AppID、安装运行库和配置 Android 版本等。文章配有截图展示。
C# 中的扩展方法学习总结 本文总结了 C# 中的扩展方法的概念和特点。扩展方法是为类提供的一种不改变源代码的方式。通过静态类和静态方法实现,需要使用 this 关键字指明要扩展的类。作者提到了编写和使用扩展方法的示例,并讨论了使用扩展方法的利弊,强调了遵守就近原则以避免代码 “污染” 。文章总结了实现扩展方法的关键要点和注意事项。
青黄未接的2015 这段文字描述了作者在毕业后工作生活的挣扎和迷茫。作者决定不再从事本科专业相关工作,感受到内心对生活的不满和追求独特故事的渴望。对于父母的辛劳和衰老,作者有着无奈和内疚之情,感觉在小城市里的生活是对自己精神的亵渎。作者面对同龄人的房车结婚,感到自己的迟滞和无奈。在工作中遇到困难和失望,但希望在未来更加勇敢、努力,成熟自己,追求更好的生活。
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的实现示例和最终程序运行效果。
在 Hexo 中为文章自动添加版权信息声明模块
解析 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的步骤和解决常见问题。
教你一步步实现一个虚拟摇杆 秦元培在博客中分享了使用uGUI制作虚拟摇杆的过程。虚拟摇杆由背景层和控制层构成,通过计算2D向量判断移动方向。他展示了如何编写虚拟摇杆脚本,实现了触摸事件处理和移动逻辑分离。另外,他还展示了如何在3D模式下测试虚拟摇杆,包括角色朝向和移动控制。最终展示了虚拟摇杆在手机上的实际效果。