各位朋友大家好,我是秦元培,欢迎大家关注我的博客。最近偶然接触到了 C#中的扩展方法,觉得这个语法特性是一个不错的特性,因此决定在这里系统地对 C#中的扩展方法相关内容进行下总结和整理,因为博主觉得学习这件事情本身就是一个积累的过程,所以博主有时候会对现在的线上培训和视频教程这种“在线教育”感到反感。试想《射雕英雄传》中江南七怪远赴大漠传授郭靖武艺苦历十八载,何以难及全真教丹阳子马钰传授内功两年的积累?这里固然有郭靖愚笨木讷的天性和江南七怪武功低微的因素,可是在博主看来更重要的是强调了一个积累。想郭靖一生受益自全真教的玄门内功终成一代“为国为民”的侠之大者,则我辈需更加努力方可在这世间行走奔波。
匆匆时光总是把我们这些过客留在感慨和叹息中,而它却如风之旅人一般渐行远去。转眼这大半年的时间里,每天我都在努力让时间发挥它的意义,可是有时候这种努力却像枷锁一样让我有些莫名的压抑。从毕业那天起,我就决定这辈子不会再靠我的本科专业生活,因为它从来没有和我的内心发生过强烈的共鸣,所以当我毕业以后就意味着我再没有回头的路可以走。曾经因为怯懦而将自己封闭在这座小城市,其结果就是我在我人生中的第一家公司的项目在拖延和等待中慢慢地死亡。
各位朋友大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是http://qinyuanpei.com。虽然 Unity3D 引擎依靠强大的跨平台能力睥睨高手林立的游戏引擎世界,我们在使用 Unity3D 游戏引擎的时候基本上不会去接触底层的东西,可是有时候面对某些奇葩的要求的时候,我们就不得不考虑使用 C++这样的语言来为其编写相关的插件。你如果问我是什么样的奇葩要求,比如接入蓝牙手柄来控制游戏、接入类似街机的设备来控制游戏、接入同一个游戏到两个不同的设备上并响应不同的控制……诸如此类的种种问题,可能目前在 Unity3D 引擎中找不到解决方案,这个时候写 C++插件就变成了一种刚性需求,这就是我们今天要来一起探讨的问题。
各位朋友,大家好,欢迎大家关注我的博客,我是秦元培,我的博客地址是http://qinyuanpei.com。今天想和大家说说博客文章版权这件事情。每当提到版权的时候,我知道大家内心深处都是对此不以为然的,因为国内版权意识薄弱,所以版权在我们的眼中就变成了这样一件可有可无的东西,可是事实真的是这样的吗?首先我们必须承认一件事情,即你从互联网上获得的知识都是有价值的,即使这些知识的创造者并未因此而获得利益。
各位朋友,大家好,欢迎大家关注我的博客,我是秦元培,我的博客地址是http://qinyuanpei.com。今天想和大家交流的是解析 obj 模型并将其加载到 Unity3D 场景中,虽然我们知道 Unity3D 是可以直接导入 OBJ 模型的,可是有时候我们并不能保证我们目标客户知道如何使用 Unity3D 的这套制作流程,可能对方最终提供给我们的就是一个模型文件而已,所以这个在这里做这个尝试想想还是蛮有趣的呢,既然如此,我们就选择在所有 3D 模型格式中最为简单的 OBJ 模型来一起探讨这个问题吧!
各位朋友大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是:http://qinyuanpei.com。今天想和大家分享的是 uGUI 中分页效果的实现,我们知道相对 NGUI 来说 uGUI 在功能覆盖上来讲,它并没有像 NGUI 那样提供较为丰富和炫酷的组件,可是因为 uGUI 有着较好的扩展性,因此我们可以通过编写脚本来扩展它的功能。虽然在移动开发时代以开发速度论成败,可是这并不是我们“不求甚解”的正当理由。每次看到 NGUI 各种"丰富"的组件在脑海中打转的时候,每次看到编译项目时弹出各种 Warming 的时候,我内心是如此地期望有这样一个简单高效的 UI 系统啊,直到有一天我遇上了 uGUI。
各位朋友大家好,欢迎大家关注我的博客,我是秦元培,我的博客地址是:http://blog.yuanpei.me。通过本系列第一篇文章,我们初步了解了 EasyAR 这个增强现实引擎,这次我们来尝试自己定义一个 Marker,这样我们就可以用自己喜欢的图片来作为 Marker。因为目前 EasyAR 文档并不完善,所以下面的这些内容可能更多的是我个人的尝试和探索。如果大家对此感兴趣的话继续往下看否则就不要往下看了,因为我担心在官方正式文档出来以后大家可能会骂我啊。好了,对这个话题感兴趣的朋友就请继续往下看吧!
各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是http://qinyuanpei.com。从今天起博主将为大家带来EasyAR尝鲜系列教程,本教程适用的对象是增强现实应用开发者和Unity3D游戏开发者,在阅读本教程前请确保具备增强现实应用开发及Unity3D游戏开发的相关基础知识。在本节及后续内容中,博主将以国产增强现实引擎EasyAR为主要开发平台来带领大家一起走进增强现实应用开发的世界,希望大家能够喜欢!
各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是http://qinyuanpei.com。最近因为项目需要决定尝试自己来实现一个虚拟摇杆,所以在今天的文章中我们的目标是使用 uGUI 来制作一个可以在移动平台稳定运行的虚拟摇杆(请不要问我为什么不使用 NGUI 来实现,你说我做个虚拟摇杆有必要在项目里导入那么多的资源嘛 23333)。关于使用第三方插件来实现虚拟摇杆,请大家参照我以前写的文章Unity3D 游戏开发之使用 EasyTouch 虚拟摇杆控制人物移动,在这里就不再赘述了。
今天博主想和大家分享的是 Unity3D 场景编辑器的扩展开发,相关的话题我们在Unity3D 游戏开发之编辑器扩展程序开发实例这篇文章中我们已经有所涉及,今天博主想特别针对场景编辑器的扩展开发来进行下深入研究。对于一个场景编辑器来说,它主要的作用是 3D 场景视图中实时显示、输入反馈和相关信息的更新。在 Unity3D 中提供了 Editor、EditorWindow、GUILayout、EditorGUILayout、GUIUtility、EditorGUIUtility、Handles、Event 等来完成这些工作。其中基于 EditorWindow 的这种扩展方式我们已经研究过了,这种扩展方式拥有自己的独立窗口使用 OnGUI 方法进行界面的绘制。
各位朋友大家好,我是秦元培,欢迎大家关注我的博客。最近在做项目的过程中遇到这样的一个需求:玩家可以在游戏过程中进行实时存档,在存档过程中会保存当前游戏进度,同时会截取当前游戏画面并加载到游戏存档界面中。当下一次进入游戏的时候,将读取本地存档图片并加载到游戏界面中。这在单机游戏中是特别常见的一种功能,这里主要有两个关键点。首先是截取游戏画面,这个问题大家可以在《Unity3D 游戏开发之截屏保存精彩瞬间》这篇文章中找到答案。其次是从本地加载图片,因为这里要保证可读可写,因此传统的 Resources.Load()方式和 AssetBundle 方式均无法实现这样的功能。那么怎样从外部加载图片到游戏中,这就是我们今天要讨论的内容啦。好了,这里介绍两种方法来实现这一目的。
在中秋节这样一个万家团圆的日子,我却再度因为工作的问题和家人发生争执。发生争执的原因简单到习以为常,家人喜欢稳定、安逸的生活,而我却喜欢有挑战、梦想的生活。我不知道梦想对一个二十三岁的人是不是一种奢侈品,我只知道当我住在狭小、拥挤的出租房里的时候,我想努力去拥有一个温暖的家,我不想靠着一张嘴去哗众取宠,我不想刻意地迎合和奉承这个世界,我只想靠我平凡而微薄的努力让我的生活一天天地温暖起来。从小我被告诉要做一个正直、善良的人,可是随着我慢慢地长大,在我的耳边总会听到“要去适应这个社会”这样的话,然而最讽刺的是这样的话常常出自同一人的口中。
各位朋友大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是http://qinyuanpei.com。最近开始研究 Unity3D 游戏场景优化,每次提及游戏优化这个话题的时候,我的脑海中都会浮现出《仙剑奇侠传六》这个让四路泰坦都光荣陨落的神奇游戏,作为一个使用 Unity3D 引擎进行游戏开发的仙剑玩家,我曾经天真的以为,这款使用 Unity3D 引擎打造的仙剑二十周年献礼之作,会让我对《仙剑奇侠传》这个系列游戏的未来充满更多期待,然而当游戏真正呈现在我眼前的时候,我感受到了在历代仙剑游戏中从未有过的尴尬和失望,我尴尬的是 Unity3D 这样一个比较强大的游戏引擎硬生生地被北软玩成了这个鬼样子,我失望的是这部游戏除了剧情和跳跳乐以外并没有什么让人看到希望的东西。
大家好,我是秦元培,欢迎大家关注我的博客。近期博客的更新频率基本直降到冰点,因为这段时间实在是忙得没有时间来写博客了。今天想和大家分享的内容是 RPG 游戏中游戏存档的实现,因为最近在做一个 RPG 游戏的项目,所以遇到这个问题就随时记录下来,在对知识进行总结的同时可以将这种思路或者想法分享给大家,这是一件快乐而幸运的事情。我讨厌写按部就班的技术教程,因为我觉得学习是一种自我的探索行为,如果一切都告诉你了,探索的过程便会变得没有意义了。
各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是:http://qinyuanpei.com。话题紧接上回,在上回我们讲到了 SDL 的下载、安装和配置并对 SDL 游戏有了初步的了解。我们知道游戏开发中最为基础的内容是图形的绘制,因此在我们学习 SDL 游戏开发的过程中我们同样要从最简单的图形绘制开始学习。在 2D 游戏开发中,精灵(Sprite)是一个基础而核心的内容,具体来讲精灵首先是一张 2D 图片,精灵的绘制从本质上是图片的绘制,所以这是一个基础的内容。因为精灵在 2D 游戏中承担着 GameObject 的重要角色,所以一个图形引擎对精灵的支持好坏会决定游戏设计的最终效果。今天这篇文章主要是通过使用 SDL 中的 SDL_LoadBMP()、SDL_CreateTextureFromSurface()和 SDL_RenderCopy()这三个方法来实现在 SDL 中基本图形的绘制,从整体上尚属较为简单的内容。可是从学习 SDL 游戏开发的角度来看,一切都值得我们深入地去研究。好了,这就开始吧!