《天龙八部3D》Unity技术方案揭秘

news/2023/11/30 2:26:52

《天龙八部3D》在公测之初的24小时便获得了1257万的流水,首日导入大概110万的用户,在内地以及台湾、香港的iOS付费及免费榜均取得过top1的成绩,在iPhone畅销榜的最高排名是TOP3。正式上线之后的首月流水是2.3亿,从“凌波微步”、“武林大会”到最近的“丐世英雄”,《天龙八部3D》推出的资料片流水均高于公测时,这个事例可以体现MMOARPG的生命力还是比较顽强的。

在技术层面上,结合服务器端和客户端的整体考量,《天龙八部3D》主要运用了以下几种技术方案:

完整的动态负载均衡方案。单服务器支持一万人同时在线,在人数上涨时可以调动整个服务器的负载均衡,让一万人都能流畅、稳定地运行。服务器内部通讯机制。充分利用硬件资源。比如在一台物理机上开两个服务器,当一个人多而另一个人少的时候,服务器会自动通过动态负载均衡调用更多的硬件支持人多的服务器。异常处理机制。带有垃圾回收功能的对象池。

在服务器上,我们有较高的稳定性和容错性,可以稳定运行三周以上。这对其他类型的游戏可能并不是一件特别重要的事情,但对于MMORPG来说,却极为重要。因为MMORPG是具备成长性和完整性的游戏,而MMORPG用户对在线时间的要求要高于普通游戏,我们必须依靠于稳定运行机制来让用户在线时长得到保证。

而在客户端,则有稳定的帧率和顺畅的操作感,里面带有高效的动态资源管理策略,可以保证客户端的内存方面不会出现特别大的问题,导致客户端闪退等。此外,还有成熟的性能优化解决方案,其实在去年刚起步时我们还是一头雾水,但经过一年多的努力和学习,我们基本上已经学会了一套在客户端上性能优化的完整解决方案。

从端游到手游,如何打造惊艳的移动端画面表现?

手游和端游不同,做移动端游戏,面数是一个很大的问题,手游上面数较少,而《天龙八部3D》则将游戏资源与美术相结合,从定制化的场景到人物材质都是一种3D的表现,这样可以保证美术资源在面数较少的情况下,也能达到漂亮、惊艳的效。

《天龙八部3D》项目是从2013年11月开始立项,作为毫无手游开发经验的前端游研发团队,整个开发流程可以说是摸着石头过河,不过幸好我们整个团队已在一起工作六年,非常默契,能够较快地将想法实现。

项目最初一个月,我们都在探索着尝试各种美术风格定位,后来开始着手研究Unity引擎开发,在2013年12月底,我们使用Unity做了一个Demo,基本上代表了之后的美术方向和整个玩法的基本雏形。

经过从α、β到Golden版本的优化演进,《天龙八部3D》从初具雏形到公测、正式上线,在此过程中真正运用了哪些Unity技术?

大量的Unity自带技术,比如导航的组件等;遮挡删除;lightMapping,用以解决光照问题;将NGUI与Unity相结合可以很方便地构建出一个强大的UI系统;Unity自带的粒子系统;Editor功能,可以很方便地开发各种小工具,大幅提高工作效率,比如UI辅助、图片处理、编译、国际化、阻挡生成等;AssetBundle,一种非常有效的资源管理方式,既可以打包、控制内存使用,还可实现资源的动态更新;Unity自带的性能分析工具Profiler,能解决所有性能问题。

下面再给大家介绍一下《天龙八部3D》中使用的一些实用方案。

缓存池机制

《天龙八部3D》游戏最初的定位是能够在512MB的内存上都能良好稳定地运行,于是,我们便使用了一种叫做缓存池的机制,这是一种内存换时间帧率机制,《天龙八部3D》的NPC、玩家、特效、声音等均有使用,它能够提供较好的流畅度体验,但需要一部分小额内存。

资源释放机制

在游戏运行过程中需要找到一个合理的释放点,如果跑在1G以上的机器上,可能相对容易,但要兼容低端机型,合理的释放点则非常重要。

《天龙八部3D》中常用的释放点有两个,分别为转场景时释放一些非全局资源、每次打开界面一秒后进行一次主动调用GC的操作。这是我们权衡了很久的做法,但实际效果还很不错。当时我们为了兼容低端机型运用了缓存池的功能,在512MB设备上运行会变卡,而且还无法控制,最终我们在打开操作界面时执行缓存池,尽管实际出现卡顿但玩家却不会有感觉,这属于是一种比较取巧的方式。

值得开发者们注意的是,在将所有东西打包成AssetBundle时,需划分出依赖关系,单个界面的AssetBundle最好不要超过1M,单个模型骨骼数不超过32个,角色和NPC控制在2000面以下。

最后,再来说一下《天龙八部3D》游戏中使用到的优化方案。

客户端大小优化

《天龙八部3D》在刚立项时,市面流行的客户端大小都在100M以下,当时我们做了很多策略,包括分包下载、动态资源更新、压缩贴图、尽量重用资源等,最后,在上线时客户端大小为150M。

内存优化

代码中申请内存一般是New来操作,用完内存还要进行一次标记释放,比如置空或发送Destroy消息。如果让GC帮助释放内存的话,会出现卡顿,这个时候就需要选择合适的时间点来控制GC。

尽可能多地重用资源

一般贴图占用内存大,如果尽可能地重用会很节省内存。程序代码中的内存池、对象池如果用完,在必要的时候可以主动调用GC释放。而做好AssetBundle资源关系的动态加载、卸载等也能省下很多内存。

按照C++的思想来管理内存,比如使用内存池、对象池、手动卸载、主动GC等,能够在内存和帧率之间做好平衡。另外,规划好美术资源的重复利用也相当重要,它能够减少包的大小,比如NPC变色多场景可共用,制备、水等很多场景的美术资源制作也可重复利用。

更多unity2018的功能介绍请到paws3d学习中心查找。


http://www.ppmy.cn/news/669027.html

相关文章

天龙八部3新扫地僧辅助 全功能专业刷马贼脚本功能介绍

欢迎使用扫地僧辅助,仔细阅读帮助文档,有助于您更快更好的掌握辅助的使用方法和技巧。 功能介绍 本天龙八部辅助是全功能全后台绿色脚本 1、游戏最小化,完全后台挂机; 2、专业刷怪:普通模式、清怪模式、边走边打、近战…

关于天龙八部3的感想

以前一直没有玩过网游,玩的一直是单机的角色扮演类游戏(武侠为主),大多数情况也是在乎剧情,我这个人玩游戏还有个特点,就是我不喜欢仙啊、魔、神话之类的游戏,我还是比较喜欢武侠一类的剧情很唯美结局不是那么伤感类的…

《天龙八部3D》Unity技术方案揭秘

《天龙八部3D》在公测之初的24小时便获得了1257万的流水,首日导入大概110万的用户,在内地以及台湾、香港的iOS付费及免费榜均取得过top1的成绩,在iPhone畅销榜的最高排名是TOP3。正式上线之后的首月流水是2.3亿,从“凌波微步”、“…

天龙八部天荒古镜服务器无法响应,天龙八部3 天荒古镜食谱与药品详细配方

首先是烹饪 冰糖桂圆羹食谱248冰攻击:清江鱼15冰糖1 仙贝珍珠汤食谱248玄攻击:清江鱼15扇贝1 红油杂菌食谱248火攻击:清江鱼15香菇1 山菌银尾羹食谱248毒攻击:清江鱼15药蝎1 冰镇龟苓羹食谱450冰攻击:河蚬15(清江鱼伴生…

天龙八部网单服务器修改爆率,【天龙八部3】网单一键安装服务端+GM工具+GM刷装备+视频教程 电脑单机版游戏...

【天龙八部3】网单一键安装服务端GM工具GM刷装备视频教程 电脑单机版游戏 资源介绍: 支持系统:WINXP/WIN7/WIN8/WIN10 32/64位 支持网络:单机 次更新后为正常开出宝宝,繁殖为单人繁殖。修改宝宝为打满12技能,还童资源&…

天龙八部天外服务器不响应,有生命的服务器 天龙八部3智能天外江湖

天龙3智能天外江湖 谁也不愿意在登录时敲出长长的帐号密码,却被告知“你被排在XX位,还要等待XX小时”;谁也不愿意拿着辛苦得来的稀世珍宝,却找不到出得起价钱的买主……玩网游时,我们总是会或多或少遇到这样的悲剧。单个服务器里人…

天龙八部服务器维护是什么意思,天龙八部3D今日维护内容更新说明

天龙八部3D今日维护内容更新说明,明天新的资料片也即将开测,那么在今日,开始进行服务器的更新维护,也是为了新的资料片来的时候,玩家可以更好的体验,那么下面就给大家来细细说一下这次更新的内容和维护说明…

天龙八部网单服务器技能修改,天龙八部3门派技能修改介绍

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 少林 伏虎拳 对该技能的攻击动作进行了修改 弥勒护身 释放不再消耗真气 明镜台 现在此技能可以对队友释放 金刚不坏体 减伤效果提高到了70% 天龙 正气浩然 释放不再消耗真气 静影沉璧 减少了此技能的打蓝效果 截拳式 现在这个状态…

天龙八部服务器位置,天龙八部3教你找到你都在哪些服建过角色

导读:当你在天龙八部中玩了不同服务器的很多号,有一天你突然不记得你很要找的一个号建立在哪个服务器上了,你狠悲哀的去查度娘,结果很多小伙伴给的建议是你一个个找吧,这样的回答相当的让人想哭有木有?今天…

手游天龙3d服务器维护,天龙八部3D手游今日更新维护具体内容介绍

天龙八部3D今日更新维护具体内容介绍,为了给广大玩家提供精彩丰富的游戏内容,保证游戏运行的稳定性并提升整体服务质量,天龙八部3D将于2015年8月12日周三进行例行维护,具体更新后的内容说明如下所示。 本次维护渠道: I…

逍遥天龙八部服务器技能修改,泣诉天龙八部3逍遥三大难 技能修改势在必行

如今的逍遥越来越难玩了,我是一个玩逍遥快5年的玩家了,我来说说对于逍遥的看法以及其他门派的看法,请你一定要读完我的全文再下结论。 注明:个人愚见、如果有说的不对的,请原谅。 逍遥三大难: 第一刷副本难…

天龙八部3d最新服务器,天龙八部3D妙笔生花新服务器开启公告

十年天龙路,两年手游情,陪伴我们的不只是游戏内的一个个boss,一个个NPC,更多的是陪伴着我们一起通宵战斗,一起挥洒青春的兄弟朋友。天龙的世界中,有我们值得怀念的青春,有我们舍不得忘记的回忆&…

天龙3d服务器维护,天龙八部3D4月6日维护服务器公告

亲爱的玩家,大家好: 为了给广大玩家提供精彩丰富的游戏内容,保证游戏运行的稳定性并提升整体服务质量,《天龙八部3D》将于2016年4月6日(周三)15:00----17:00,进行维护。 本次维护渠道: 安卓(龙门客栈 和平…

天龙八部3d最新服务器,天龙八部3D手游15年10月14日服务器维护公告

天龙八部3D手游15年10月14日龙门客栈与和平饭店服务器维护公告,亲爱的玩家,大家好,为了给广大玩家提供精彩丰富的游戏内容,保证游戏运行的稳定性并提升整体服务质量,《天龙八部3D》将于2015年10月14日周三下午3点到6点…

天龙八部3d最新服务器,天龙八部3DIOS正版服务器整合互通公告

亲爱的玩家,大家好。为了给每一个喜爱天龙八部3D的玩家提供更好更全面的游戏体验,享受到更多游戏的乐趣、挑战及结识更多志同道合的朋友,天龙八部3D顺应广大玩家的需求,开放整合互联功能。 我们计划在2016年4月14日上午8点到20点维…

Mac 配置Flutter开发环境遇到的坑

1. flutter doctor 命令无反应; 加sudo 执行; sudo flutter doctor执行完后, 在执行flutter doctor就好使了, 就很神奇;(还不行就重启再试试) 2. 创建项目提示没权限, 照提示命令赋予权限即可;(应该是前面sudo命令引起的, 但没找到其他好办法) 最后一个提示的没权限, 照提示运…

javascript 电话号码格式

在本文中,我们将了解在 JavaScript 源代码中格式化电话号码的最佳方式,以及在我们的 JavaScript 代码中格式化数字的好处。 JavaScript 中的电话号码格式 在 JavaScript 中,我们有多个选项可以有效地执行数字格式化。 大多数情况下&#xff…

戴尔计算机电源在哪里看,怎样使用戴尔电源为联想Thinkpad供电

步骤1:比较电源 可以在此处找到有关直流电源的一些初学者基本知识; http://www.appropedia.org/Low_voltage_connection_basics 电压几乎相同。而且,两个电源都可以消耗的功率几乎相同。引脚的极性也相同。 当寻找两个电源的连接器类型时&…

IBM大客户GE改购戴尔PC 联想股价应声下跌

联想集团(0992.HK)收购IBM个人电脑业务还没有通过美国政府的审查,昨天(15日)又传出了不利消息,IBM大客户通用电气(GE)打算改向戴尔订购电脑。该消息引发联想集团股价昨天上午一度下跌将近3%,收盘报跌1.09%。 据美国《商业周刊》引述消息人士的…

dell笔记本如何关闭计算机更新,联想戴尔笔记本Win10如何彻底永久关闭更新?

原标题:联想戴尔笔记本Win10如何彻底永久关闭更新? 使用Win10系统的小伙伴一直不喜欢Win10的自动更新功能,不仅更新,而且经常自动更新,打扰正常计算机的使用,也可能有更新的故障。以下小编将教您如何完全关…
最新文章