(以下内容依据Cocos秋季峰会演讲速记稿整理)

主持人王哲:

前面几个演讲人展示了不同的技术解决方案。

第一种是《三国之刃》用Flash完成所有动画、UI制作,然后用JSFL开发一个Flash扩展来做导出,最后到Cocos引擎里面解析播放。这种搭配方案非常流行,《刀塔传奇》、《火柴人联盟》也是使用这种方式。很多CP都有类似的方案,原理大同小异。

第二种是《像三国》,先在Maya里面烘焙好,然后在Cocos Builder里面让美术根据各种透视规律拼出三维的视觉效果来。

下面一个演讲环节的是真正的黑科技,我先不剧透,有请南京炉石CEO朱伟给我们分享一下怎么用Cocos开发一个完整的3D的MMORPG。

演讲者朱伟:

我是南京炉石CEO朱伟,下面由我来跟大家一起分享一下勇于Cocos开发一款3D MMORPG整个的过程和经历。说到3D MMORPG的第一印象可能就是:Cocos能玩这个吗?下面我用真机给大家演示一下。

(编者注:此人在全场大屏幕上聚精会神、旁若无人地玩这个游戏至少5分钟,从主城进推图,打穿一个副本到boss战斗结束。不过大家看得津津有味。小编邻座的听众边看边感慨说:“看来我们对Cocos的理解还是太浅了”)

这是我们这段时间里用Cocos 3.8开发出的3D MMORPG试玩的版本。还在研发中,这个版本中间还有各种各样的BUG,但是总体上而言,这里面开发3D MMORPG游戏所用到的基本要素,在整个游戏里应该说都体现出来了。

下面具体跟大家分享一下我们在开发过程中所用到的功能模块和流程。

这个是Cocos引擎在3D功能开发上的历程,我们应该说在最早的加入3D功能版本开始就尝试着用Cocos开发一些3D游戏;到了3.5之后,Cocos加入了3D粒子功能;后面又陆续加了一些功能,比如3.7的导航位置支持,到了3.8里的光照这些功能。到了3.8之后我们感觉实际上Cocos的开发一款重度的3D MMORPG的要素都具备了。唯一感觉比较欠缺的是没有工具。

这个是我们游戏分解出来的3D的功能模块清单。第一块是模型与动作,这里面涉及到一些主角的模型和一些动作,特别是分解动作的因素。第二块是整个游戏的特效。这个特效分成四种,一是粒子特效,还有一种是3D的拖尾效果用来做刀光,第三种是模型的UV动画,最后是2D的面片动画。第三块场景。包括场景组合、地形、光照和天气效果等。最后是常用到的基本的功能,比如说寻路用的网格导航功能和天空盒的功能等等。

首先跟大家讲一下模型动作这一块的基本的制作过程。模型动作应该是比较简单的,首先就是说通过3DMax软件建模,注意手游上面角色面数。建完了之后就导入出去FBX,动作和模型是分离出来,便于管理。接着输出C3B文件,放入引擎。我们自己在Ccoos Simulator里面自己改了一些代码,加载c3b文件,使其可以做预览的工具。这里面有很简单的功能,就是把模型调进来,播放一下基本的动作。最大的好处是我们的美术做出来之后实际上希望在第一时间在引擎里看到效果,这个工具完成了美术最基本的要求。

接着是3D的粒子和编辑。现在Cocos用的是第三方的3D粒子编辑器Particle Universe。著名游戏《火炬之光》里面所有的3D特效都是用这款软件制作出来的。同样我们通过这个软件制作出来的自己游戏里的3D粒子效果,同时自己也基于cocos引擎做了很简单的粒子的效果预览工具,实际就是放大、缩小、旋转这些功能提供给美术。

我们把模型、动作,特效都做出来之后,怎么把它们拼接起来呢?我们自己做了比较简单的工具,通过这个工具我们可以把Particle Universe做好的3D粒子放进来,把动作和模型也放进来,可以旋转它,可以调整三者之间的位置,可以播放和预览一下。这个功能最后做出来的效果还是比较满意的。虽然简单,但是非常的实用。

黑科技来了:场景的制作。这一块我们花了很多时间在研究Cocos引擎上怎么做场景。我们最早也写了一些场景编辑器,感觉效果不是很好。后来我们考虑到一个这种的方案,就是通过3DMAX制作单个场景所要的要素,然后通过Unity为组合场景,然后导出Cocos支持的格式。这个就要美术去学习简单的Unity基本的操作,这里面也有一个基本的设计过程,首先是把基本的要素导进来,通过Unity来设计场景。


做完了之后,觉得这个场景OK了,下面一步就是输出到Cocos引擎上来。第一步首先是要把光照贴图做出来,Cocos引擎在地形和建筑之间放上贴图的话,需要用两张,而Unity是合在一起,所以我们要把地形的光照贴图和模型的光照贴图分离出来。

右边最上面是Unity导出来的全景的光照贴图。下面这一个是地形本身的光照贴图。第二步就是要把建筑的光照贴图重新烘焙一遍。

在重新烘焙所有建筑光照贴图的时候,务必注意要把原来制作的地形全部删掉,否则的话Unity默认烘焙是全景的。

同样我们需要把我们的光照贴图转换成Cocos引擎支持的支持。光照贴图得到了。下一步就是:场景怎么办?场景在Unity有自己的格式,但是没关系,通过写个插件把它导出成JSON格式,然后再到Cocos引擎里加载。做完了之后,虽然实现了效果,但是JSON文件不能动它,一动的话,就错误了。这种方式还不是很理想,后来想到另外一个方案,因为Unity可以通过 Collada (DAE) Exporter可以导出成DAE格式,再通过Blender导出FBX的格式。

解决了场景之后,我们同样也做了简单的预览工具,可以预览一下我们导出场景的基本状态。

接着就是我们要把地形导出来,Unity有一个可以把地形导出Terrain高度图和地形图的功能,这个拿过来用就可以了。

最后我们得到了地形图、高度图、地形的贴图加上场景的贴图等,最后通过代码就可以组合起来,这个代码Cocos引擎有案例,可以按照原来的代码格式拼接起来就可以了。但是拼接的过程中有一个关键点,就是大小的问题,因为本身Unity有它的单位,而Cocos引擎有自己的单位,所以我们的做法很简单,第一就是说在Unity一定要计划好比例,在Cocos引擎按照同样的办法去做就可以了。这方面不用做更多的工具的放大。通过代码的组合,实际上就组合成了我们刚才看到的通过手机演示游戏里庞大的场景。后面还有一些其他的功能,这些功能Cocos官方里都有,我就不一一细说了。

完成后的在手机里运行起来主城的效果:

战斗技能效果

讲到现在,可能大家心里面有一个疑问,用了这么多Unity为什么不直接用它呢?

我们团队接触Cocos引擎有两年多,而且用Cocos开发了很多的产品。一方面跟Cocos的本身有一定的感情。第二,整个团队的磨合也相当不错,所以贸然去学习Unity的风险很大。当时我们就想,既然行业里面很多人用Flash做动画,然后用Cocos引擎渲染,那么为什么我们不用Unity做场景,然后用Cocos引擎渲染呢?Unity只作为编辑器在美术团队使用,技术人员不需要重新去学习,这样既有了编辑器的方便,又有享受开源的好处。所以基于这些原因,我们最终还是通过Unity编辑器 + Cocos引擎3D功能这样组合的方式,得到了一个比较满意的结果。

当然还有一些其他的因素,如像今天大家在谈论的手机页游。王哲他们早上已经演示了3D游戏在腾讯浏览器里面运行。我觉得3D在手机页游上最终会有很好的表现。我们这个游戏是用Lua写的,什么时候Cocos的Lua Runtime能进到浏览器里面,我们游戏就能跑在里面。

我的分享就到这里,谢谢大家!

cocos2dx 3D游戏制作参考相关推荐

  1. 3D游戏制作——AI坦克对战

    3D游戏制作--AI坦克对战 github地址(码云) https://gitee.com/jenny_s/AITank-3Dgame 游戏视频 https://www.bilibili.com/vi ...

  2. Cocos2d-x 的3D游戏制作官方教程(中文翻译)

    Cocos2d-x 在版本3开始已经支持了3D游戏开发的特性,我在官网文档看到3D开发的部分,觉得有必要记录一下,权当做学习笔记.因为只花了半天时间翻译,而且能力有限,各位看官勿喷. 本博客虽然水分很 ...

  3. 计算机3d 游戏制作,揭秘3D电影、游戏角色的制作过程!

    原标题:揭秘3D电影.游戏角色的制作过程! 从来没有接触过建模的小白们是否都很好奇,3D电影.游戏角色是怎样做出来的呢?比如说<捉妖记>里的胡巴.今年大火的国漫<哪吒>,< ...

  4. (转载)推荐2款3D游戏制作开发软件Blender3D 和3D RAD

    (首先声明 :这是从eryCD社区的帖子里找到的,这里还是先跟LZ道个歉,盗版了)首先其实不需要写什么代码,或者代码很简单易学的还有,比如MMF和darkbasicpro和FPScreator的组合, ...

  5. 基于cocos-2dx的游戏制作——I wanna save the princess

    在进行了两周的cocos学习之后,可以开始进行游戏的创作了. I wanna主要复杂的地方在于地图的设计以及逻辑实现.下面依次进行介绍.(使用c++) 一. 瓦片地图--tile map 1. 地图整 ...

  6. 3D游戏场景管理概述

    参考文章 http://www.cnblogs.com/kex1n/archive/2012/08/26/2657054.html 关于场景管理概述 http://www.cnblogs.com/wa ...

  7. [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略

    Cocos Cyberpunk 是 Cocos 引擎官方团队以展示引擎重度 3D 游戏制作能力,提升社区学习动力而推出的完整开源 TPS 3D游戏,支持 Web, IOS, Android 多端发布. ...

  8. [3D游戏开发实践] Cocos Cyberpunk 源码解读-一文搞定延迟渲染管线原理与实践

    Cocos Cyberpunk 是 Cocos 引擎官方团队以展示引擎重度 3D 游戏制作能力,提升社区学习动力而推出的完整开源 TPS 3D游戏,支持 Web, IOS, Android 多端发布. ...

  9. 3D游戏引擎中常见的三维场景管理方法

    对于一个有很多物体的3D场景来说,渲染这个场景最简单的方式就是用一个List将这些物体进行存储,并送入GPU进行渲染.当然,这种做法在效率上来说是相当低下的,因为真正需要渲染的物体应该是视椎体内的物体 ...

最新文章

  1. windows下nginx的简单使用
  2. 普加甘特图集成到第三方JS框架(MiniUI、jQuery、Ext等)
  3. Coding中遇到的BUG集合~
  4. Java学习从入门到精通(1) [转载]
  5. Patrick Wyatt:代码没问题 程序却有bug?
  6. Android官方开发文档Training系列课程中文版:使用Fragment构建动态UI之构建灵活的UI
  7. Apache JMeter 下载
  8. 微服务集成cas_Spring Boot + Solr 全文检索微服务简易集成
  9. ubuntu下使用code::blocks编译运行一个简单的gtk+2.0项目
  10. 钢铁雄心4mod星火 国策树代码-2
  11. MATLAB数据拟合学习总结
  12. sql server 2005 T-SQL ALTER SCHEMA (Transact-SQL)
  13. 镜像翻转_《蒙娜丽莎》镜像翻转后,暗藏神秘的第二张脸?网友:笑容消失了...
  14. ST板块大幅下跌 不少ST股逆势上涨
  15. CF 1467 B. Hills And Valleys
  16. 802.11ac深度技术分析
  17. 用HTML+CSS做一个简单好看的环保网页
  18. 中小学数学试卷自动生成程序-对张凯翔同学代码的评价
  19. 一个设计低通巴特沃斯数字滤波器的实例
  20. 尚驰洗车:兰州高端洗车店精致洗车流程

热门文章

  1. 第一台计算机影片观后感,影片叫我第一名观后感
  2. 从数据指标到可视化看板-指标体系建设
  3. 好文:「大搜车」凭什么获得阿里如此青睐?
  4. 5个网站让你成为主宰网络世界的神秘黑客
  5. 注册页面reg.html
  6. php格式用什么能打开,文件格式为.php的文件用什么软件打开?
  7. SQL Server 2012 SP1 企业版
  8. 生物工程学蛋白功能预测_海水中生长的工程细菌产生丝蛋白
  9. 图解两部委DSM数据安全管理认证
  10. 水溶性/油溶性四氧化三铁(Fe3O4)纳米颗粒