Unity3D
文章平均质量分 88
房燕良
写代码的实践派架构师、阿里巴巴高级技术专家。
从2001年开始,自主研发3代游戏引擎,广泛应用于多款单机、网络游戏,使用这套引擎开发的大型网络游戏超过10款。代表作品有《仙剑3》《功夫世界》《龙online》《神兵传奇》等。曾经就职于小米,从事VR方面的研发工作;目前就职于蚂蚁金服,专注图形技术开发。
展开
-
Unity3D插件:导出 glTF 2.0 资源文件
最近不是一直在和 glTF 搏斗吗,现在很多引擎都已经支持了 glTF 2.0,特别是在 WebGL 领域,包括 Three.js 等流行的引擎都已经支持了 glTF 2.0 格式。怎么得到 glTF 2.0 格式的模型、动画或者场景呢?目前有了一些工具完成格式转换,例如 FBX 转换成 glTF 2.0 等。我偏爱的一种方式是把模型先导入到 Unity 中,预览 或者 进行场景布局,然后再导...原创 2018-06-04 21:03:16 · 12069 阅读 · 2 评论 -
《炉石传说》架构设计赏析(6):卡牌 & 技能数据的运行时组织
前一篇文章我们看到了《炉石传说》的核心卡牌数据的存储,今天我们继续探索卡牌&技能。主要的类通过之前的分析,卡牌&技能涉及到几个类体系:Entity,Actor,Card,Spell,令人十分困惑,特别是前两者。在这里先略带武断的说一下这几个类的基本定位:Entity主要用来做网络数据同步用的;Actor主要处理客户端的渲染对象的控制,作为Component挂载在资源对象上;Spel...原创 2018-04-05 17:42:41 · 9913 阅读 · 3 评论 -
《炉石传说》架构设计赏析(5):卡牌 & 技能的静态数据组织
经过前面几次的尝试,我们对炉石的代码已经不陌生了。除了网络机制还没有了解以外,本机的逻辑已经比较熟悉了。接下来继续向暴雪最NB的技能系统进发,我们的目标是:分析技能的静态数据描述;分析技能的运行时数据、逻辑组织;这篇笔记主要记录对其分析静态数据。静态数据组织卡牌数据卡牌的基本数据对于的AssetFamily为:AssetFamily.CardXML;数据对于的资源包为“cardxml0.unity...原创 2018-04-05 17:42:22 · 11701 阅读 · 4 评论 -
《炉石传说》架构设计赏析(4):Asset管理
欢迎转载,请注明作者【燕良@游戏开发】及原文地址:http://blog.csdn.net/neil3d/article/details/39580197另外,欢迎大家来我的QQ群交流各种游戏引擎相关的技术:游戏引擎能吃吗(264656505)话说,经过这段时间的学习和摸索,对于Unity3D的开发思路已经基本清晰了。唯独还剩下一个AssetBundle机制还没有搞透,这个涉及到前期项目的资源规划...原创 2018-04-05 17:42:05 · 10653 阅读 · 2 评论 -
《炉石传说》架构设计赏析(3):Gameplay初探
经过前面两篇文章的分析,我们对炉石的代码已经不陌生了,接下来我初步尝试分析其游戏逻辑代码。欢迎转载,请注明作者【燕良@游戏开发】及原文地址:http://blog.csdn.net/neil3d/article/details/39453291经过前面的分析,我们已经找到了两个关键的类Gameplay和GameState(当然还有我最感兴趣的Spell和SpellController,这两个还要在...原创 2018-04-05 17:41:48 · 13017 阅读 · 5 评论 -
《炉石传说》架构设计赏析(2):Scene管理
欢迎来的我的酒馆,快来火炉旁暖暖你的靴子。哈哈,我们继续欣赏炉石的代码。欢迎转载,请注明作者【燕良@游戏开发】及原文地址:http://blog.csdn.net/neil3d/article/details/39231541上篇文章我们分析到SceneMgr处理了Scene的加载工作,今天我们主要分析一下炉石这款游戏中一共有哪些Scene,他们各自负责什么,以及它内部的逻辑、UI的处理方式。在正...原创 2018-04-05 17:41:32 · 18872 阅读 · 5 评论 -
《炉石传说》架构设计赏析(1):游戏启动流程
前些天看新闻,Unity Awards两项大奖颁给了暴雪的《炉石传说》,这真是对Unity一个再好不过的宣传了——你看,暴雪都开始用Unity了。大家都知道,目前Unity发布的游戏大多都没有对程序集进行混淆、加密,所以作为一个炉石的玩家&Unity的初学者,自然不能错过这个机会。让我们好好看一下暴雪的代码吧。炉石传说的游戏内容的非常丰富多彩,所以我花了一些时间分析了其程序集,将一些设计思...原创 2018-04-05 17:41:04 · 44277 阅读 · 17 评论 -
《炉石传说》架构设计赏析(7):使用Google.ProtocolBuffers处理网络消息
这段时间琢磨了一下Unity3D网络游戏开发中的网络消息处理。网络游戏的服务端一般都是自主开发的,所以对应的网络消息处理也要自己开发。客户端/服务端之间的消息传到目前使用JSON和Google.ProtocolBuffers是两种常见的做法。打开炉石的代码看了看它的处理方式,感觉代码写的还是很好的,把它的思路分析一下,与大家分享。整体机制描述我们想要达到的目标大概是这样的:有N个网络消息,每个消息...原创 2018-04-05 17:40:45 · 11135 阅读 · 4 评论 -
Steam VR - The Lab Renderer学习笔记
Steam的The Lab Renderer主要实现了哪些特性?从代码的层面看,是如何实现的?原创 2016-10-16 10:38:18 · 9908 阅读 · 1 评论 -
Unity3D开发者快速上手Unreal Engine 4指南
对Unity3D和Unreal Engine 4两套引擎的学习经验总结,以及两者的架构思路的对比。原创 2015-10-08 11:50:07 · 9774 阅读 · 2 评论 -
扩展Coroutine:自定义YieldInstruction
实现自定义YieldInstruction的功能的一个方法介绍,以及演示实例。原创 2015-07-06 16:07:06 · 7239 阅读 · 0 评论 -
在Unity中使用Lua脚本:语言层和游戏逻辑粘合层处理
在Unity3D中实现一个Lua组件,用来整合Lua上层逻辑代码。原创 2015-04-11 11:38:54 · 35586 阅读 · 19 评论 -
Unity3D插件:UnityRemoteLog
最近经常需要调试Unity客户端的Android版,看LOG是一个最基本的调试方法了。为了看LOG,总要看Eclipse这么重量级的工具,觉得还是有点麻烦,于是抽了点业余时间写了一个小工具:把Unity的LOG使用网络连接转发到一个PC端的窗口程序中。使用方法将RemoteLog.cs拷贝到你的Unity Project里面; 在任意一个MonoBehavior脚本的Start()函数中...原创 2015-03-10 20:46:08 · 5495 阅读 · 6 评论 -
Unity3D脚本中的Awake()和Start()的本质区别
Awake()是在脚本对象实例化时被调用的,而Start()是在对象的第一帧时被调用的,而且是在Update()之前。原创 2015-02-17 11:10:09 · 33319 阅读 · 1 评论 -
在Unity3D的Legacy动画系统中应用Root Motion
最近仔细比较了Unity3D目前版本中的两套动画系统:Legacy和Mecanim。Mecanim系统功能较之Legacy要强大很多,但是使用AnimatorController着实不方便(尽管使用AnimatorOverrideController可以避免重复编辑状态机),是因为游戏逻辑层面往往要用一个状态机或者类似的机制来控制角色的状态,而角色层面的状态逻辑和动画层面是无法一一对应的,两套复杂...原创 2014-12-04 15:51:40 · 12203 阅读 · 3 评论 -
Unity 4.6的使用匿名delegate处理uGUI控件事件绑定
使用匿名delegate来处理uGUI事件绑定的一种手法。原创 2014-11-25 00:54:37 · 10624 阅读 · 1 评论 -
Unity3D杂记
在使用Unity3D的过程中,遇到的一些很小的问题,原创 2014-09-05 11:39:05 · 4431 阅读 · 1 评论 -
Unity3D-RPG项目实战(4):角色性能测试
尝试写的第一个Unity3D小程序:做一个角色渲染的简单测试。原创 2014-09-02 17:51:38 · 7269 阅读 · 1 评论 -
使用Unity3D的50个技巧:Unity3D最佳实践
关于使用Unity3D的50条最佳实践。翻译 2014-08-31 21:35:02 · 49613 阅读 · 8 评论 -
Unity3D-RPG项目实战(3):整合Visual Studio 2013开发环境
好消息!!!开发Unity的VS整合工具的SyntaxTree已经被微软收购了,UnityVS以后都免费啦原创 2014-08-20 14:28:14 · 15410 阅读 · 4 评论 -
Unity3D-RPG项目实战(2):使用SVN管理Unity项目
Unit3D项目使用SVN作为版本管理时需要注意的事项。原创 2014-08-13 10:09:25 · 12994 阅读 · 0 评论 -
Unity3D-RPG项目实战(1):引擎特殊目录
Unity项目的目录结构管理的第一部分:引擎保留的目录名,接下来分析SVN管理,以及RPG项目目录管理的最佳实践。原创 2014-08-08 11:11:17 · 11452 阅读 · 1 评论