你们看了这篇就知道我当时为什么要离开大宇了

  • 工长君
    http://pal.17173.com/content/2015-07-14/20150714103041880.shtml


    【技术贴】实例分析《仙剑六》的优化问题

    仙剑执行效率为什么这么低?我作为一个较为熟悉Unity3D的学生(对,因此如果有一些错误观点,请毫不客气的指出来,我会虚心学习),就把仙剑6中一眼就能看出的一些奇葩制作方法给大家讲述讲述.
    一.我TM为什么会入仙剑6.
    本来是不打算买的,但是不小心看了洛妹子的海报,女扮男装,并且长得很像以前喜欢的一个妹子,由此令回忆起了往事,感慨万千,又好奇女子身份被拆穿时是怎么个故事发展,所以买了。
    至于往事,是这样的:我曾经喜欢过的一个妹子,她是个蕾丝,然后我送她去机场接她女朋友,然后我默默离开了。故事完毕。
    虽然我因此而入了仙剑6纯CDKEY版,但是在买之前,我首先把巫师3的钱付了,然后才入的仙剑6,不然我心里会很过意不去。
    二.关于Unity
    Unity是一个易于上手的引擎。但不可否认,它在渲染和执行效率方面,同虚幻和CryEngine等大型商业引擎比起来,还是不行。哪怕是现在已经进化到了第5代,依然不及上述两款大引擎。
    它的主要优势在于:
    编程语言主要采用了C#和JS, 而虚幻和CryEngine采用的C++,Lua.对于程序员的要求要低很多。
    你能很方便的购买到第三方扩展包,来实现你希望实现,但是你没那个能力或精力去实现的功能。这些扩展不只是美术资源,更多的还有程序上的扩展。
    它能达到的性能“下限”是很低的,只要控制得当,运行一些画质一般,美术风格独特的画面,对配置的要求是极低的。然而大型引擎在这上面,由于默认已经加入了很多高等特性,工作流程上很多部分已经脱离了对底层的把控(例如可视化编程,节点化的材质编辑器),因此他们虽然在高画质下,效率远超Unity,但在低画质下,是很难达到Unity的运行水准的。
    总结起来:Unity就是一个对开发人员要求低,更加适合去做一些画风独特但画质一般(画风和画质,一定要分开)的游戏。
    三.仙剑为什么看上去画面糟糕:
    仙剑完全没有用上全局光照,只使用了SSAO,甚至连光照贴图都懒得烘(最低特效下,没有任何阴影,而如果轰了光照图,最低特效下也应该存在),而且还是Unity自带的那一堆廉价特效包里面的SSAO。而全局光照,已经在Unity5中开始支持。
    没有调节材质。嗯,其实是根本就没有材质。通篇只有Diffuse材质,默认水材质和粒子效果用的材质。其中粒子效果用的材质极其混乱,很多一眼就能看出来自Unity商城中. 若材质是合理调节后的,那么对于一个主角而言,身上的布质,皮质,皮肤,金属部分,是有非常明显的反射区分的。




    ref.jpg (不做材质,什么质感都是放屁)
    总结起来:美工只会画贴图。所以想做次世代之前,还是稍微请一两个对传统渲染懂行的人,他们对于材质的理解,不是一个二维美术一晚上就能理解到的。
    四.仙剑为什么执行效率低。
    滥用点光源
    游戏中给我最大的感触就是,这尼玛点光源已经滥用到一个境界了。首先每个角色头上一个点光源。其次一个地牢场景中,一条路上全是点光源。而且这些点光源都是Important的,它们会进行像素级别的渲染,产生投影。这在CryEngine中都是大忌,更别说一个Unity。然而这些效果之薄弱,恐怕普通玩家根本就看不出来吧?但是你看不出来,不但表电脑就没计算这些玩意。就更别提特效中为了凸显特效华丽的点光源了。战斗中爆卡?这就是原因之一。




    (仙剑6中的点光源应用)




    (巫师3中的点光源应用。如果点光源代表了画质,那么巫师3画质真他妈没情怀!)

    没做Culling和LOD
    在有些大型场景中,远处的物体依旧在渲染,并且丝毫没有降至。但是由于游戏有景深,其实远处的细小物体根本就看不清除。这极大浪费了性能。没做lod的最好证据,就是远处贴图有明显的贴图重复感。




    (这是unity商城中的一个第三方解决方案。看不见就不要渲染,这才是优化的正道,也是最需要费心思的优化,从场景设计之初就要考虑到这些)
    华而不实的物理系统
    衣服和头发,相信大家早就已经看出来了。但实际上一个画面已经烂到这种境界了,你倒是别用布料系统的好,纯粹浪费。其次,大家可以稍稍按一下W键,然后立刻松开,是否发现,主角稍稍有一个往回走的位移?这表明什么?对,仙6的角色移动并不是数学计算的,而是尼玛纯物理的。主角脚上有特定的碰撞体,有物理材质提供的摩擦力计算。但是其实你能感受出来?另外一个证据,我在客户端里面发现了布娃娃系统。但是你在游戏中哪个地方看到了这东西的实际运用?
    滥用真反射
    还记得在洛家庄第一次讨论龙晶的时候么?越祁在龙晶旁边做动作时,镜头是没有任何运动的,但是尼玛上面的反射居然动了!意思是什么?对,这个龙晶的材质是带真反射的。。。一个如此小的东西,甚至连个微距的特写就没有,居然就做真反射。我简直不敢想象到底有多少地方是大量利用了真反射,但是其实你玩家根本没看到的。




    (邪教组织崩塌的那个迷宫。远处随便一个水晶都是真反射,真实吊到不行)
    总结起来:大量使用了AAA大作才会使用的技术,但是表现力几乎为0,同时还不靠Culling和LOD进行优化,导致远处一个细小的物体,也耗费大量计算。按照我对Unity中的工作流程的理解,想要把这些全部都解决,得在场景中一个区域一个区域的优化,并且还考虑到是否需要额外程序支持,而这些程序支持是否会导致整个工作流程的变化。所耗费的时间不会压于把游戏场景重做一次。所以,想等优化,慢慢等吧。
    五.其他很挫的地方
    数值:不开修改器这真是人能玩的?倒不是说打不过,而是这战斗耗时完全是恶意拖延游戏时间。
    自动存档功能:开发者已经懒到一个剧情完后自动存一下的功能都没做。这才是我真的要使用修改器跳剧情的原因。至于应龙关中死亡一次……呵呵,我已经在此处放弃这个游戏了。根本不想再玩第二次这个boss战,还不如去玩神庙逃亡。
    UI卡顿:原因只可能是一个,UI全是最高分辨率下的的整图(你自己感受一下Windows下首次打开一张1920*1080的图是否需要大约0.5的时间?仙6暂停界面的UI可不止一张图),还要附加数据读取,所以打开会卡一阵。程序员能懒到这个境界,我也是献上我的膝盖了。如果真的优化得当,UI的内存消耗会低不知道多少, 也因此UI所消耗的全部素材基本都可以驻留内存中(也必须要),只实时读取一些诸如头像,道具ICON等东西。如果这些玩意其实都是固定的话,驻留内存也无妨,毕竟PC游戏。
    六.仙6的优化
    就算找国外大牛进来,估计至少得先准备个100W的医疗费防止他人吐血身亡吧。连我一届学生仅靠玩这个游戏,都能找到这么多的奇葩设计,更别说别人还要打开开发工程文件,一个一个看。而且这次销量因为神优化和神公关估计已经只能勉强回本了,再加上我刚才推测的几乎会翻倍的优化工作量,想要达成真正良好的优化(仙6这个画质连比鬼泣4都差一大截。真要达到神优化,理论上8800GT就应该得60贞运行),估计是根本不可能的事情(亏本),除非开放商真的有情怀。
    但一个将就能运行的优化,应该还是能很快放出的。剧情过完赶紧卖号吧。由于我绑定的账号是我的电话,因此我不打算转手卖了。
  • M
    MHDHR
    这位我记得是戏服
  • p
    peipei6955
    文中说的是真的话,这制作组也太省钱了,完全请实习生做的?
  • y
    yuuu
    你说的道理我都懂,但谁能告诉我鱼为什么那么黑
  • 万劫夜
    不,这一定是cdpr专门组织的对仙剑6的恶意分析,请大家一定不要受这些境外邪恶势力的蛊惑
  • 万劫夜
    不,这一定是cdpr专门组织的对仙剑6的恶意分析,请大家一定不要受这些境外邪恶势力的蛊惑
  • 万劫夜
    不,这一定是cdpr专门组织的对仙剑6的恶意分析,请大家一定不要受这些境外邪恶势力的蛊惑,太重要了必须说三遍
  • h
    hellgate22
    2015年7月14日 11:47天盟心理咨询中心
    卧槽,这么有技术含量,分析得这么透彻,那问题来了TM你开发的游东西在哪呢?!没人用你吗?!还是你觉得国内企业太差看不上你狗眼?!别在这种反仙剑的大潮之下,顺风显示自己多NB,有意思吗?!等逆转了局势,你会不会再写一篇致歉信呢??从入手游戏理由就看出来(好假,快换一个),玩游戏是假,不过是想顺风顺水做个娱乐喷子,还真的很职业的:有意思的开头中穿插一个令人感叹的小故事,在感情上博取观众同情,并表明自己有“知识”,知识就是力量,之后点出主要矛盾,让自己的说法更有说服力,从多方面将矛头直指仙剑制作团队。文章十分完美,手段高明,不知道你的烈士论文能不能写,哦,不对,在国内!这种环境!里该说,抄,得如此针砭时弊
    1回复分享
  • h
    hellgate22
    2015年7月14日 11:48天盟心理咨询中心
    转移矛头这件事,谁都会,不用你当众显示!
    回复分享
  • 怀
    怀沙汨罗
    你永远都不能确定仙孙和闲情狗的下限
  • p
    peipei6955
    还好当年玩过古剑3试玩版后就决定一定要先看s1的口风再玩国产……
  • p
    peipei6955
    我记错了,是古剑2试玩版。我对国产游戏很不了解的……汗
  • o
    onlv星骸
    不喜欢U3D
  • K
    Kesons
    楼主,等着收法院传票吧!
  • a
    askalon
    仙剑6和鬼泣4比画面?跟鬼泣3比都不好说
  • m
    myhd
    说实话我看不懂这些专业知识名词等,但只要是黑仙剑的我都愿意耐心读完。
  • 6
    66666
    说这些屁话有啥用,本来光栅化3D画面完全就是靠美工和预渲染,再直白点说就是靠钱堆。

    没钱没技术还整天吹的乌拉乌拉,还不如坐个2D galgame算了。
  • 抠鼻屎男
    you can you up不就是仙孙最爱的说法么?只要你没做出个玩意出来你就没资格评价
  • C
    ChrisSnake
    不管是什么人做的 你游戏出厂前都不自己试试的?
  • C
    ChrisSnake
    不管是什么人做的 你游戏出厂前都不自己试试的?
  • C
    ChrisSnake
    不管是什么人做的 你游戏出厂前都不自己试试的?
  • o
    oz01
    当然我没用过u3d
    无论如何mesh视锥体裁剪不过几行代码的事,u3d就算不自带,也应该很容易实现吧?
    剑6这样的rpg场景能有多大,lod真的有价值?
    滥用点光源?u3d4起码应该支持延迟渲染吧?那几个点光源算个啥
    阴影的情况我没玩过这游戏不知道实际如何,我估计最多也就是最近处的点光源产生角色的阴影,开销大不大,不好说,反正用我自己的引擎做的话,显然这不是个事,这么简单的东西我不认为u3d做不好
    “没做lod的最好证据,就是远处贴图有明显的贴图重复感。”实在不理解这和lod有什么联系,不同lod的mesh用同一张帖图并不奇怪
    前面这些可能只是我水平不行,不能理解u3d的高大上,不过“华而不实的物理系统这一段”,总感觉这篇文章的作者的水平也就是个u3d用户
    这点物理效果能有多少计算量,根本可以忽略不计
    滥用真反射?不知道这游戏怎么做的,如果是我的话,单独把角色多渲染一次,这开销不会很大,就算整个场景重新渲染一次,在pc上也不是多大的事
  • v
    verona
    其实我有点想不明白,北软压根没技术没人才做情怀6,为什么不干脆外包出去?国内的各种外包工作室那么多价格那么便宜,经验又丰富,外国厂商用了都说好,情怀6外包给工作室做,自己出几个管理人员把把关,总部像卡婊做新DMC那样当个甩手掌柜就行。做好了那是北软高层英明神武,做烂了有外包工作室背锅,结果肯定比现在要好啊。
  • 肚肚魔
    问题是怎么解释仙剑6执行效率低下的问题。。。
  • c
    chirlley
    我记得s1就有个闲情狗,之前古二发售的时候贴了个闲情的地址说这里是理性公正评价古二的地方
  • o
    oz01
    天知道,但是我知道这人写了一大堆,起码一半是扯淡,另一半我不懂u3d,不敢乱说,不过所有这些问题我这种纯业余的都能避免,没理由专业的会跳进去
  • ペチャパイ
    仙剑现在就是个互动电视剧,你真做成异度之刃了销量妥妥宝石
  • o
    oz01
    剑6场景规模很大?
    视锥体裁剪有时候也未必有很大效果
    尤其mesh面数不高的时候
    材质这样纯粹就是美工的喜好,其实也没什么可说的
    u3d的性能真不行的话,那就不会有这么多手机游戏了
  • o
    oz01
    现在有没有运行时gpu占用率的测试
    尤其是每个核心单独列出
    我总感觉是drawcall爆表了
    或者skin用cpu算的
  • q
    qwxbtgb
    外包了还怎么情怀啊。
  • 汪达
    雇几个大学生多便宜啊
  • h
    hourousha
    PC上除非用DX11 render path,否则unity3d的skin都是CPU算的。
  • o
    oz01
    绕开u3d看来是正解
    我显卡是gt405,gt4系列里唯一的dx10显卡gpu的skin那么难么?
    我前几天用了几个小时就搞定了
  • t
    trentswd
    我记得楼主就贴过
    不过古剑闲情黑古剑很多是粉丝团体间的争斗
    楼主贴应该单纯为了黑古剑……
  • c
    chirlley
    闲情那堆纯粹就是国产单机的毒瘤,不黑不吹
  • h
    hourousha
    简而言之,unity3d的skin或者是用DirectCompute计算的。因此就没考虑DX9 path,更重要的是DX9没有Stream Out功能,无法适应unity的渲染框架
  • o
    oz01
    为什么skin要用通用计算着色器
    这么说手机版也都是cpu skin?
  • l
    luneknight
    别忘了鬼泣4可是7年前的游戏
    仙剑的战斗能赶得上鬼泣吗
  • 你好s1
    U3D在手机,网页上好用不代表在PC上好用啊。

    你看U3D有啥大型3D PC游戏么

    目前最有名的就是炉石传说了(还不是大型游戏)。在早期优化也是烂的一逼,而且暴雪用它更多的是考虑移植安卓 IOS方便。