cf314的活动是必须在游戏里边吗? 9158哪个房间好玩里边正在玩的

最近玩cf无法保存游戏颜色质量,我是调烟雾头,必须要在游戏里面保存16位颜色质量,进游戏是32位,_百度知道
最近玩cf无法保存游戏颜色质量,我是调烟雾头,必须要在游戏里面保存16位颜色质量,进游戏是32位,
最近玩cf无法保存游戏颜色质量,我是调烟雾头,必须要在游戏里面保存16位颜色质量,进游戏是32位,我勾到16位点保存但是马上在进设置就还原32位了,桌面该调的我都弄了,烟雾头基本调法,都弄了,就是不能保存游戏里面的颜色质量16位,但是我马上换个号,不设...
我有更好的答案
我也是这样,纠结了3天终于找到原因了。。把战场模式那1-5改了
这样就可以保存了。。
采纳率:100%
额,好像游戏里的是没用的吧,我记得我得改了16色,可是后来又变32~一样的,外面调好了,游戏里面不调也没关系的吧
我以前都可以调,就是最近有活动领烟雾头才有这个情况,但我换个有烟雾头的号就可以调16位,基本无视白烟,
那可能就不是你的问题,而是TX的问题了。。。。。你也说了是领的烟雾头不是。。。估计这里有文章吧
我也一样 最近两天变成32位了
烟头都没有效果了
其他1条回答
为您推荐:
其他类似问题
颜色质量的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。为什么玩CF特别卡,就是游戏进度条就进一块,但是偶尔进去了,在游戏里边还不怎么卡,但是也卡,求高手指教啊。_百度知道
为什么玩CF特别卡,就是游戏进度条就进一块,但是偶尔进去了,在游戏里边还不怎么卡,但是也卡,求高手指教啊。
这种配置他们说不行,但是如果我单纯的就换一块好的显卡,会不会好用些呢,求高手指教啊,谢谢了.
我有更好的答案
很流畅,可是后来卡的动不了我也卡,不关配置的事。我刚才就在玩,前30分钟还不卡
来自:求助得到的回答
采纳率:25%
感觉显存有点低升级一下显卡
就单纯的显卡吗,看别的有问题吗,谢谢。
CPU可以,我家i3才2.26GHZ,我家显卡1G的,你也弄个1G或更大的,不然过几年出来4D游戏(猜的)又完不成了,或重新买电脑,台式电脑我不熟悉,笔记本推荐:DELL INSPIRON N5110我就用这款,正常使用不会死机,开机比较慢,但关机只需8秒。(我家的)
要是登录后
0-100% 要很久的话可能是硬盘有坏道
服务器的问题,有的服务器很卡,但进了游戏延迟却不高,有的服务器很快
您可以去下载一个快快游戏医生来测试一下,它会罗列你需要改进的东西
你是上海区的嚒????
其他3条回答
为您推荐:
其他类似问题
进度条的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。&figure&&img src=&https://pic2.zhimg.com/v2-a6ab51b4abffe_b.jpg& data-rawwidth=&800& data-rawheight=&555& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic2.zhimg.com/v2-a6ab51b4abffe_r.jpg&&&/figure&&p&【就文新发,本文最初于&b&2016年初&/b&发布于游民专栏】&/p&&p&  (经原作者授权,本文参考了哈利菠菜原载于巴哈姆特的专栏:《别再挥空气了!关于游戏中“打击感”三两事》。)&/p&&p&  “打击感”是个挺“玄学”的词儿。你经常能在玩家的交流中看到它的存在,但你会很神奇地发现谁也不能把它完全解释清楚,毕竟这个词包含一个“感”字,说白了就是一个相当主观的概念。打击感的孰优孰劣,经常会有人因为这个而争破了头。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-91882d1dae003aac070117dfc09817c4_b.jpg& data-caption=&& data-rawwidth=&285& data-rawheight=&160& data-thumbnail=&https://pic3.zhimg.com/v2-91882d1dae003aac070117dfc09817c4_b.jpg& class=&content_image& width=&285&&&/figure&&figure&&img src=&https://pic4.zhimg.com/v2-adb422a2d0ae10737ebc0dabaca16518_b.jpg& data-caption=&& data-rawwidth=&618& data-rawheight=&334& data-thumbnail=&https://pic4.zhimg.com/v2-adb422a2d0ae10737ebc0dabaca16518_b.jpg& class=&origin_image zh-lightbox-thumb& width=&618& data-original=&https://pic4.zhimg.com/v2-adb422a2d0ae10737ebc0dabaca16518_r.gif&&&/figure&&p&  就比如《猎天使魔女》和《血源》,客观上来说,这两者的打击感在业界都属上乘,但你非要在它们之间分出个第一第二,那就是个见仁见智的问题了,因为这两个作品的风格完全不同。《猎天使魔女》追求的是爽快感,打怪的时候怎么爽怎么来,要不然人家的主角为什么要设定成胸大屁股圆浑身上下散发着成熟御姐气息的贝优妮塔呢?&/p&&figure&&img src=&https://pic6.zhimg.com/v2-a02d054b330be7c1f6be808b54d6017c_b.jpg& data-rawwidth=&876& data-rawheight=&491& class=&origin_image zh-lightbox-thumb& width=&876& data-original=&https://pic6.zhimg.com/v2-a02d054b330be7c1f6be808b54d6017c_r.jpg&&&figcaption&嗨~小伙子们,想我了吗?&/figcaption&&/figure&&p&  再来看《血源》,这部追求古典动作游戏风韵(当然,还有难度)的作品,其目标就是要让游戏的打击感变得越“硬”越好——你会在游戏中发现主角挥舞重武器时的粘滞感很严重,当武器击中敌人时,敌人的硬直也能很直观地表现在画面上。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-16b153de3a78c5c6406a_b.jpg& data-rawwidth=&636& data-rawheight=&358& data-thumbnail=&https://pic3.zhimg.com/v2-16b153de3a78c5c6406a_b.jpg& class=&origin_image zh-lightbox-thumb& width=&636& data-original=&https://pic3.zhimg.com/v2-16b153de3a78c5c6406a_r.gif&&&figcaption&当猎人的武器触碰到怪物的时候,怪物的出招动作立刻被打断了,反馈得很及时也很准确&/figcaption&&/figure&&p&  玩《血源》,很难说你能通过它获得什么爽快感,但它确实能让你找回二十年前玩FC上一命通关的游戏时,那心跳加速的感觉。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-da383d5d4267939dfbd6fc_b.jpg& data-rawwidth=&876& data-rawheight=&399& class=&origin_image zh-lightbox-thumb& width=&876& data-original=&https://pic1.zhimg.com/v2-da383d5d4267939dfbd6fc_r.jpg&&&figcaption&你死了!&/figcaption&&/figure&&p&  不过对比另一些游戏,你就能明显感觉到它们在打击感上,和前面提到的这两部作品有一定的差距,而且这还不是风格的原因。比如下面这几种:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-e965df6f3a68f973f6dc5b_b.jpg& data-rawwidth=&876& data-rawheight=&443& class=&origin_image zh-lightbox-thumb& width=&876& data-original=&https://pic3.zhimg.com/v2-e965df6f3a68f973f6dc5b_r.jpg&&&figcaption&老头滚动条5&/figcaption&&/figure&&figure&&img src=&https://pic2.zhimg.com/v2-d3f60ee3b1a_b.jpg& data-rawwidth=&876& data-rawheight=&491& class=&origin_image zh-lightbox-thumb& width=&876& data-original=&https://pic2.zhimg.com/v2-d3f60ee3b1a_r.jpg&&&figcaption&割草无双&/figcaption&&/figure&&figure&&img src=&https://pic4.zhimg.com/v2-b0f2f0ea12b_b.jpg& data-caption=&& data-rawwidth=&550& data-rawheight=&400& data-thumbnail=&https://pic4.zhimg.com/v2-b0f2f0ea12b_b.jpg& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&https://pic4.zhimg.com/v2-b0f2f0ea12b_r.gif&&&/figure&&p&  最后这张看上去很喜感的图,来自原载于巴哈姆特的一篇专栏(原文地址:&a href=&https://link.zhihu.com/?target=http%3A//gnn.gamer.com.tw/1/125251.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【点我进入】&/a&),作者哈利菠菜(手机游戏《我满怀希望的有病信仰》的制作人)通过这个例子,用一种通俗易懂的方式告诉了我们,究竟如何才能把“打击感”这个看上去让人捉摸不透的东西,真正落到实处。&/p&&h2&&b&提升打击感的“三驾马车”&/b&&/h2&&p&  一般来说,提升打击感,需要从三个方面入手:攻击者、被攻击者、以及辅助的一些特效。&/p&&p&  先从攻击者来说。研究攻击者的运动轨迹是个非常有必要的举措。假如你对拳击手的出拳动作不甚熟悉,那么当你去做一款动作游戏的时候,就很有可能把他做成这个样子……&/p&&figure&&img src=&https://pic4.zhimg.com/v2-1e246dab5f4ee18c0a4f_b.jpg& data-caption=&& data-rawwidth=&550& data-rawheight=&400& data-thumbnail=&https://pic4.zhimg.com/v2-1e246dab5f4ee18c0a4f_b.jpg& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&https://pic4.zhimg.com/v2-1e246dab5f4ee18c0a4f_r.gif&&&/figure&&p&  制作这段动画的人最起码知道攻击者(这个奇怪的生物被叫做小龟……)需要有一个预先准备的动作(即向后蓄力的动作),这一点值得称赞。然而光从出拳的动作来看,你会不会觉得有一些僵硬?看上去小龟不像是一个人(姑且把他算人),而像是一台按一定规律运转的机器,特别的死板。更别提他那一拳还没打到那个翔绿色的球怪身上了。&/p&&p&  其实问题就出在小龟动作的节奏上。现在,请你伸出手,模拟一下挥拳的动作,就像下图一样:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-5bdef7c8998e4cdbc242c8d5b21735cd_b.jpg& data-caption=&& data-rawwidth=&640& data-rawheight=&360& data-thumbnail=&https://pic4.zhimg.com/v2-5bdef7c8998e4cdbc242c8d5b21735cd_b.jpg& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-5bdef7c8998e4cdbc242c8d5b21735cd_r.gif&&&/figure&&p&  你会发现,挥拳这个动作,每个阶段拳头的速度是不一样的。当你在蓄力的时候,拳头的速度慢,动作发生的时间长;而当你把拳头用力打击出去的时候,它的速度是很快的,发生的时间应该非常短。&/p&&p&  你再回头看看小龟的动作,太平顺了,这并不是一种正常的运动轨迹。而如果你把它改成下面这种:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-28c18a0adced761e792ad14a61068f9b_b.jpg& data-caption=&& data-rawwidth=&550& data-rawheight=&400& data-thumbnail=&https://pic2.zhimg.com/v2-28c18a0adced761e792ad14a61068f9b_b.jpg& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&https://pic2.zhimg.com/v2-28c18a0adced761e792ad14a61068f9b_r.gif&&&/figure&&p&  效果就好了很多,看上去小龟是在非常使劲地挥拳,打击感一下子就提升了不少。而且,“挥空气”这个问题也被修复了。&/p&&p&  “挥空气”是动作游戏的大忌,如果你的游戏让人觉得出拳甚至没有打到敌人身上,请问那是一种什么样感觉?那感觉就像是永远在地面上方5cm处凌波微步的国产仙侠游戏那样。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-fe0abfed671d0_b.jpg& data-rawwidth=&876& data-rawheight=&491& class=&origin_image zh-lightbox-thumb& width=&876& data-original=&https://pic3.zhimg.com/v2-fe0abfed671d0_r.jpg&&&figcaption&越今朝旁边这个人让我第一次知道,原来凌波微步是一个被动技能……&/figcaption&&/figure&&p&  当然,对于小龟这样设计比较简单的角色来说,攻击者只要做到动作流畅自然就已经足够,而对于那些复杂的3A级别作品,他们需要注意的地方更多,比如攻击者的表情、身上配饰的运动轨迹,还有他们的姿态等等。&/p&&p&  说完了攻击者,就该说说那个被打的人了。其实,对于动作游戏来说,它们才是体现打击感的重点所在,毕竟当你在战斗的时候,你的目光不可能聚焦在主角的身上,哪怕她是蕾蒂和崔西这样的大美女也不例外。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-9c22aafd7f4_b.jpg& data-rawwidth=&876& data-rawheight=&546& class=&origin_image zh-lightbox-thumb& width=&876& data-original=&https://pic2.zhimg.com/v2-9c22aafd7f4_r.jpg&&&figcaption&动作游戏里的美女们总是能让人脸红心跳&/figcaption&&/figure&&p&  简单来说,如果攻击在敌人的身上,让你产生“卧槽好疼”的感觉,那么这款游戏的打击感就算合格了。至于什么叫“疼”,可以参考如下几张图……&/p&&figure&&img src=&https://pic4.zhimg.com/v2-974f0094135aff91dea1f_b.jpg& data-caption=&& data-rawwidth=&500& data-rawheight=&294& data-thumbnail=&https://pic3.zhimg.com/v2-974f0094135aff91dea1f_b.jpg& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic3.zhimg.com/v2-974f0094135aff91dea1f_r.gif&&&/figure&&figure&&img src=&https://pic3.zhimg.com/v2-dcac_b.jpg& data-rawwidth=&206& data-rawheight=&156& data-thumbnail=&https://pic3.zhimg.com/v2-dcac_b.jpg& class=&content_image& width=&206&&&figcaption&好疼!&/figcaption&&/figure&&p&  从这几张图来看,要达到让人看上去疼的目的,基本有两种思路可以走:拟真和夸张。拟真,就是要做到打头头部会震荡、打手臂手臂会弯曲、打下肢敌人会摔倒。这种形式在格斗游戏里比较常见。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-7c4bcab678e7a5ade630eeb3b7f7f412_b.jpg& data-rawwidth=&384& data-rawheight=&181& data-thumbnail=&https://pic4.zhimg.com/v2-7c4bcab678e7a5ade630eeb3b7f7f412_b.jpg& class=&content_image& width=&384&&&figcaption&《真人快打》的截图&/figcaption&&/figure&&p&  但是想要达到拟真的效果,并不是那么容易。你需要逐帧去设计被打击者的反应,每个部位也要做出一套不同的反馈方案,这样的成本对于某些游戏公司来说是不能被接受的。所以这种情况下,他们就可以去尝试夸张的处理手法,而且有的时候,效果反而会更好。&/p&&p&  所谓夸张,无非就是让你的攻击能够让敌人断肢、喷血、翻白眼、做出扭曲的表情、向后飞出两米远等等,虽然这样的效果一点也不符合我们平时对于打人的固有印象,但做出来的观感是非常不错的。具体的例子可以参考《通缉令(刺客联盟)》、《海扁王》和《王牌特工》这样以暴力美学著称的电影。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-bd3c1b872d2dcc80748b01_b.jpg& data-rawwidth=&280& data-rawheight=&158& data-thumbnail=&https://pic4.zhimg.com/v2-bd3c1b872d2dcc80748b01_b.jpg& class=&content_image& width=&280&&&figcaption&被打的这人就是后来的星爵……&/figcaption&&/figure&&p&  于是,小龟的设计师也根据自身角色的“特色”(如果能说它真的有特色的话……),采用了夸张的手法,做出了新的效果图:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-ddef929e0bf76c_b.jpg& data-caption=&& data-rawwidth=&550& data-rawheight=&400& data-thumbnail=&https://pic3.zhimg.com/v2-ddef929e0bf76c_b.jpg& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&https://pic3.zhimg.com/v2-ddef929e0bf76c_r.gif&&&/figure&&p&  把这张图和最早的那个版本放在一起比较,是不是好了很多?攻击者有力度,被攻击者则有很强烈的反馈,完美!&/p&&figure&&img src=&https://pic2.zhimg.com/v2-876f0dd49f1addab9a3d_b.jpg& data-rawwidth=&876& data-rawheight=&491& class=&origin_image zh-lightbox-thumb& width=&876& data-original=&https://pic2.zhimg.com/v2-876f0dd49f1addab9a3d_r.jpg&&&figcaption&完美!&/figcaption&&/figure&&p&  但严格来说,一款动作游戏做到这个份上是不够的。虽然它在攻击者和被攻击者这两点上已经做到了合格甚至是优秀的级别,但是少了辅助特效的加持,还是会让人觉得它的感染力差了一些。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-d8bdc18d1e542cb606fa7b_b.jpg& data-rawwidth=&208& data-rawheight=&140& data-thumbnail=&https://pic3.zhimg.com/v2-d8bdc18d1e542cb606fa7b_b.jpg& class=&content_image& width=&208&&&figcaption&加特技&/figcaption&&/figure&&p&  游戏毕竟是游戏,要是和现实生活中的打架完全一样,那估计也不会有多少人会去玩它了。无论是《猎天使魔女》也好,甚至是被人诟病过打击感稀烂的《真三国无双》也好,当你在这些游戏里砍人的时候,你一定能看到四处跃动的火花,还有那不断提高的连击数。这些特效和数字,其实都可以一定程度上提高打击感。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-c305d3ff2421979dbd004ca2a9c16ece_b.jpg& data-rawwidth=&876& data-rawheight=&445& class=&origin_image zh-lightbox-thumb& width=&876& data-original=&https://pic3.zhimg.com/v2-c305d3ff2421979dbd004ca2a9c16ece_r.jpg&&&figcaption&《鬼泣》里满眼都是这样的特技&/figcaption&&/figure&&p&  这些辅助的特效,可能只存在于一些非常不起眼的地方。比如一些火花的出现时间可能只有不到0.5秒,但加上这个特效再和原版一对比,高下立判。原作者哈利菠菜在这里举了一个非常棒的例子:《星之卡比》。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-b50cfb3f81b374e5f0c314_b.jpg& data-rawwidth=&876& data-rawheight=&546& class=&origin_image zh-lightbox-thumb& width=&876& data-original=&https://pic4.zhimg.com/v2-b50cfb3f81b374e5f0c314_r.jpg&&&figcaption&看似萌萌哒的卡比,实际上有个别名:粉红恶魔……&/figcaption&&/figure&&p&  《星之卡比》虽然是一个较为休闲的横版过关类游戏,但在打击感方面做的却意外的不含糊。由于角色和怪物占用的像素块太小,它更多是通过环境的变化来提升观感,比如攻击敌人时画面整体的晃动、撞击砖块时所产生的火花、包括奔跑时身后出现的烟雾。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-3ebba4441fa3_b.jpg& data-caption=&& data-rawwidth=&490& data-rawheight=&272& class=&origin_image zh-lightbox-thumb& width=&490& data-original=&https://pic3.zhimg.com/v2-3ebba4441fa3_r.jpg&&&/figure&&p&  数值(连击数、伤血数据)同样也能帮助你的游戏变得更富动感。这其实是一个颇为投机取巧的手法,但是在手机、掌机这样画面不能算很出色而且平台的屏幕也很小的情况下,用跳动的数值来表现打击感,其实非常实用。当你攻击了对手,然后屏幕上爆出一串很大的数字,是不是有种特别爽的心理油然而生?&/p&&figure&&img src=&https://pic2.zhimg.com/v2-36b5f4c0d685e63317cca6cacb50d93f_b.jpg& data-rawwidth=&876& data-rawheight=&491& class=&origin_image zh-lightbox-thumb& width=&876& data-original=&https://pic2.zhimg.com/v2-36b5f4c0d685e63317cca6cacb50d93f_r.jpg&&&figcaption&整个屏幕都是数字——虽然看上去有些杂乱,但玩家的心里还是暗爽的&/figcaption&&/figure&&p&  但是千万别像很多初中生给学校活动做的海报那样,喜欢用那些预装在系统里的字体,这样太丑了!用在游戏里的字体是有要求的,要尽量粗大、显眼、醒目,但同时,对于某些对抗比较激烈的游戏来说,这些数字也不要太喧宾夺主。比如格斗游戏,如果巨大的连击数让你分神,万一断了连招那可如何是好?&/p&&figure&&img src=&https://pic2.zhimg.com/v2-679f5c64aed_b.jpg& data-rawwidth=&550& data-rawheight=&400& data-thumbnail=&https://pic2.zhimg.com/v2-679f5c64aed_b.jpg& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&https://pic2.zhimg.com/v2-679f5c64aed_r.gif&&&figcaption&一个错误的示范……&/figcaption&&/figure&&p&  终于,经过无数次的修改,小龟这张打怪图终于能够见人了:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-2c0b065f0a65e8ea9eb8_b.jpg& data-rawwidth=&550& data-rawheight=&400& data-thumbnail=&https://pic4.zhimg.com/v2-2c0b065f0a65e8ea9eb8_b.jpg& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&https://pic4.zhimg.com/v2-2c0b065f0a65e8ea9eb8_r.gif&&&figcaption&“Duang!”&/figcaption&&/figure&&p&  原作者哈利菠菜将文章收束在了这里,然而我觉得在特效这一块,还有一点是不得不提的,那就是音效。适当的音效对于提高打击感有着难以言喻的作用。就算你画面做得炉火纯青,攻击者和被攻击者的动作反馈也做到了极致,可如果打在身上的音效还跟打铁一样,试问你会是什么样的心情?&/p&&figure&&img src=&https://pic2.zhimg.com/v2-a6ab51b4abffe_b.jpg& data-rawwidth=&800& data-rawheight=&555& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic2.zhimg.com/v2-a6ab51b4abffe_r.jpg&&&figcaption&科比:不要每次提到打铁就想起我好吗!我都要退役了!&/figcaption&&/figure&&p&  在音效上栽过跟头的,最典型的例子就是《街霸x铁拳》了。其实原本《街头霸王4》的打击感,无论是从画面还是音效上来说都非常好,得到了业界和玩家的一致好评。但等到了派生作品《街霸x铁拳》里,打击的音效突然来了个180度的大转弯,让人听了觉得非常的“闷”,就好像一记重拳打在了沙袋上似的。&/p&&h2&&b&结语&/b&&/h2&&p&  可以看到,虽然打击感是个听上去很玄乎的词,但通过上文描述的这些方法,还是能够有效地让人感受到打击感的提升。不过说到底,这还只是个开始。就像开头提到的那样,好的打击感一定是多种多样的,它一定要和你的游戏风格和定位相契合,这才是最重要的。&/p&&p&  其实就像《上古卷轴5》,作为一部以自由度为最大卖点的沙盒类RPG游戏,它可能根本不需要把自己的打击感提升到《血源》或者《猎天使魔女》那样的高度,因为这会显的自己的游戏缺少重心。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-5bcd79acab1c5fd67e98f9_b.jpg& data-rawwidth=&876& data-rawheight=&546& class=&origin_image zh-lightbox-thumb& width=&876& data-original=&https://pic1.zhimg.com/v2-5bcd79acab1c5fd67e98f9_r.jpg&&&figcaption&《上古卷轴5》打击感不好——但是谁又真的在乎呢?&/figcaption&&/figure&&p&  说白了,打击感是要服务于游戏性的,无视游戏性而强行追求过分爽快的打击感,那么就有可能本末倒置,弄得一个赔了夫人又折兵的下场。&/p&&p&  各位也可以集思广益,说一说自己对于打击感有着什么不一样的看法,欢迎大家的交流和讨论。&/p&&p&作者:北方凛&/p&&p&传送门:&a href=&https://link.zhihu.com/?target=http%3A//www.gamersky.com/zl/column/817.shtml& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&姿势分子:“啪啪啪!”你真的懂什么叫打击感吗? _ 游民星空 GamerSky.com&/a&&/p&
【就文新发,本文最初于2016年初发布于游民专栏】 (经原作者授权,本文参考了哈利菠菜原载于巴哈姆特的专栏:《别再挥空气了!关于游戏中“打击感”三两事》。) “打击感”是个挺“玄学”的词儿。你经常能在玩家的交流中看到它的存在,但你会很神奇地发现…
&p&10个话题探讨:包括失败理论上是做产品不应该考虑的选项&/p&&br&&p&第一篇关于好的制作人和好的团队组合对产品的影响分析&/p&&br&&br&&p&这大概是行业相对真实的Q & A了:&/p&&br&&p&Q:游戏行业的风险主要来自于哪里&/p&&br&&p&A,产品判断失误和团队执行力差(或内耗),是做项目最基本的风险&/p&&br&&p&Q:那成功的关键是什么&/p&&br&&p&A:有一个好的产品制作人&/p&&br&&p&我们以前聊的做开发的两个优先级&/p&&br&&p&从我自己做事的角度,我觉得有两个事情是有超级优先级的:&/p&&br&&p&A,第一个是,有一个结构相对稳定,且实战经验和能力不俗的团队基础&/p&&br&&p&B,第二个是,领头的人决断力优先,团队在结构上分得清楚决策权重,以领头的人的市场和产品判断力为做事前提&/p&&br&&p&在做产品里:&/p&&br&&p&A,临时拼凑的团队出岔的概率100%,单轮换可行的团队都能把项目折腾死&/p&&br&&p&B,决策权含糊和混乱的团队,在产品方向上大部分都要互相反面制约,互相消耗,互相妥协,最终产品可能有的市场嗅觉就会让位于妥协后的经验优先的结果&/p&&br&&p&这两个都是创业做事最致命的死结&/p&&br&&br&&p&第二篇关于产品设计中的减法模型对突出产品价值性的影响分析&/p&&br&&br&&p&Ray Mazza(模拟人生游戏设计师)在谈到他们的游戏制作时,提到了一个很残酷的减法模型:&/p&&br&&p&大量的游戏原型和设计理念在制作进程中,因为各种原因,不断被优化和抛弃&/p&&br&&p&为了完成一款高标准的产品&/p&&br&&p&End game is maybe 10% of what you imagined in the beginning. But it’s the best 10%&/p&&br&&p&最终,只有一小部分想法会被保留下来,而保留下来的,都是让游戏体验更具价值的精华&/p&&br&&p&Ray Mazza: That’s a really good question. In the first scoping process, from all the designs that we had written and all the designs that we had planned to write, we probably cut 70% of that away.&/p&&br&&p&And then we did another iteration later on, once we were in production and had a better understanding of our velocity, and probably cut another 50%. And then, closer to the end of the project, when some things weren’t going as planned or just not turning out to be fun, then it’s maybe another 5 to 10%.&/p&&br&&p&So you end up cutting a lot. Part of that, though, is because our sights were too high, like they tend to be with a lot of projects. If we’d kept the original scope, we’d still be working on the&/p&&p&base game right now. One of the things I’ve learned becoming a seasoned designer is that you need to start simple. Otherwise you’re going to be wasting a lot of time upfront.&/p&&br&&p&It’s good to do expansive brainstorms. But to then go and scope right from there down to the core and the most interesting ideas, rather than planning to do it all. Because you will inevitably add more as you go, anyway – some of the cuts later on are to make room for new features that suddenly make sense as the rest of your game falls into place.&/p&&br&&p&So, four years, all the resources in the world. End game is maybe 10% of what you imagined in the beginning. But it’s the best 10%.&/p&&br&&br&&p&第三篇关于微型团队中的企业文化分析&/p&&br&&br&&p&我们是微型团队,所以我自己的逻辑就无比简单:&/p&&br&&p&A,要求会比较严格:&/p&&br&&p&-做事真诚&/p&&br&&p&-做事自律&/p&&br&&p&-有专业能力&/p&&br&&p&-有职业精神&/p&&br&&p&-三观正常&/p&&br&&p&B,尽可能提供回报:&/p&&br&&p&-尽量不无效占用团队的非上班时间&/p&&br&&p&-做好团队的投入评估,从薪酬和福利角度尽可能匹配团队的当前付出&/p&&br&&p&-为团队成员的成长和进化预留回报空间&/p&&br&&p&-将团队投入和产品成果紧密捆绑&/p&&br&&p&-把团队成员合伙人化,而不是工作螺丝钉&/p&&br&&p&事实上,用一句话就可以形容了:&/p&&br&&p&愿意为项目全力以赴的团队和成员,都值得我们营造好环境,竭尽所能去回报他的认同和追随&/p&&br&&br&&p&第四篇关于成熟市场对后来者以高品质产品突围的价值影响&/p&&br&&br&&p&仍然是King CEO Ricardo Zacconi,在King要进军Facebook平台时,那时候的领先者Zynga,Playdom(Disney),Playfish(EA),Wooga,6Waves已经垄断了用户市场形成了优势碾压的格局&/p&&br&&p&所以,他们理所当然被认为是一个不可能还有机会空间的后来者&/p&&br&&p&太迟了 It's Late&/p&&br&&p&但King仍然坚持自己的判断:&/p&&br&&p&A,这是一个已经养成的超级用户市场,包括用户基量,包括用户付费规模&/p&&br&&p&B,他们只需要拿出一款超级优质产品就可以参与切割市场了&/p&&br&&p&毕竟游戏业是靠产品驱动的&/p&&br&&p&用户只会跟着产品跑&/p&&br&&p&We were told, ‘Look, social games are gone. There is a winner and that’s it. Why are you starting in April of 2011? It’s late.’&/p&&br&&p&We said, We don’t think it’s late,” said Zacconi. “Now we are actually proven right, because there is now a large user base which loves to play games which are easy to play.&/p&&br&&p&然后King击败了Zynga,成为DAU和MAU遥遥领先的开发者&/p&&br&&p&顺便把优势移植到了移动平台&/p&&br&&br&&p&第五篇在二八法则盛行的市场下高品质是唯一的出路&/p&&br&&br&&p&King CEO Riccardo Zacconi在他们刚刚进军Facebook(那时候还不能与Zynga抗衡)时,提到两个非常重要的产品概念:&/p&&br&&p&A,产品质量都需要花时间打磨,你很难靠堆人战略来跳过打磨的进程&/p&&br&&p&10个人10个月开发周期,并不等同于100个人1个月的开发周期&/p&&br&&p&堆量是加劳动力可以实现的,但品质是拼凑不出来的,品质需要系统性的管控和打磨&/p&&br&&p&B,游戏业是产品型行业,市场走向由产品驱动,这个产品指的是超级产品&/p&&br&&p&完全符合二八法则&/p&&br&&p&B1,这个行业是由核心的开发和发行公司驱动的,增量和存量跟大部分企业没有明显关系&/p&&br&&p&B2,核心的开发和发行公司是由少量超级产品驱动的,跟大部分炮灰型产品也没有太明显的关系&/p&&br&&p&Two things. Q you can’t just speed up the process by putting more people at it.&/p&&br&&p&The second one is, it’s a hit-driven industry&/p&&br&&p&所以我上次聊到的:要赌就赌大一些的&/p&&br&&p&………………&/p&&br&&p&去年给自己命题之后,Social的嵌合执行逻辑整整困扰了一年半&/p&&br&&p&中间查阅了无数资料,画了无数原型图,完全不知所措。&/p&&br&&p&究其原因,大概是我自己觉得我做产品没有太多的机会,要赌就赌大一些的&/p&&br&&p&…………………………&/p&&br&&p&对我来说,其实我自己的产品机会是很有限的,所以我们的下一款产品Social Polis,我就会竭尽全力在Mass Market的框架下进行产品体验的冒险&/p&&br&&p&……………………………………&/p&&br&&p&最近一直重复在看Supercell和Machine Zone在F2P产品的设计上究竟是怎么用力的&/p&&br&&p&在原先设定的四大方法论词汇:Social-Emotion-Magic Moment-Gameplay&/p&&br&&p&两大最核心的致命属性:&/p&&br&&p&A,Mobile,懂怎么做游戏,但更要懂怎么去挖掘移动端的特征性&/p&&br&&p&B,Usability,易用性优先,违背易用性规则的策略深度和学习曲线,都要在易用性基础上重构,直到满足易用性标准&/p&&br&&p&所以,我们的词汇又丰富了一个:Mobile-Usability-Social-Emotion-Magic Moment-Gameplay&/p&&br&&p&虽然Mobile我们以前也常聊,但没有到方法论能指导的高度&/p&&br&&p&既然我只有非常有限的产品机会,那对于我来说,就会更大胆:&/p&&br&&p&既然要赌产品,那就赌大一些,赌我们有机会进入用户产品体验的头部位置&/p&&br&&p&赌我们有能力让Social来重新成就Gameplay&/p&&br&&p&Hello,Social Polis&/p&&br&&p&…………………&/p&&br&&p&当然在我给自己命题的选项里,Social Polis的Social设定还不是时间跨度最长的&/p&&br&&p&最长的是:&/p&&br&&p&陀思妥耶夫斯基在Crime and Punishment中通过索尼娅,在The brothers Karamazov中通过阿廖沙,试图以眼泪来漱洗一切的罪恶&/p&&br&&p&为了搞清楚这其中的教义逻辑&/p&&br&&p&系统研究了当时的俄罗斯历史环境,文学环境,东正教环境,存在主义哲学流脉,同期俄语作家的思维倾向,所有这一些不过是为了解剖陀思妥耶夫斯基【思考一个角色和不同角色生活博弈的方法论】&/p&&br&&p&这个前后跨度都十几年了&/p&&br&&p&…………………………………&/p&&br&&p&折磨了我整整一年半,在尝试了无数个行不通的死胡同之后,终于将我们Social Polis想要做的:将用户多维度深度嵌入关系链网格中的Social呈现逻辑,搞清楚了&/p&&br&&p&我们想做的仍然是这三块:&/p&&br&&p&A,涟漪效应&/p&&br&&p&B,蝴蝶效应&/p&&br&&p&C,跨人际维度的关联效应&/p&&br&&p&意图还是:&/p&&br&&p&A,以Social来反向优化Gameplay&/p&&br&&p&B,以关系链的深度嵌套来驱动用户的体验行为&/p&&br&&p&在纠结了无数个日夜之后,还是想明白了&/p&&br&&p&#每个人都深陷在自己和别人经营的局里#&/p&&br&&p&…………………&/p&&br&&p&这是我一年多来,最开心的事&/p&&br&&br&&p&第六篇开发者对自己的核心机制被市场借鉴的产业态度&/p&&br&&br&&p&前Popcap的产品创意灵魂Jason Kapalka在谈到行业对经典产品的借鉴和复制,那些产品的真正设计者是怎么想的时&/p&&br&&p&以自己和Cliff Bleszinski(Gears of War开发者)为例:&/p&&br&&p&他们并不烦恼产品机制被抄袭&/p&&br&&p&他们郁闷的是,那些山寨的人,舍本逐末没抄对,实质性的价值不抄,抄了皮毛…&/p&&br&&p&I was talking to Cliff Bleszinski, the Gears of War designer, and he was upset that people were stealing the roadie run mechanic from Gears of War, but not stealing the active reload mechanic, because he thought that was a really great thing that more people should steal. He wasn’t mad that they were taking any of his mechanics, he was just like, “Why didn’t you take this one? It was really good!”&/p&&br&&p&We get the same thing too, occasionally, and it is simple things like that, If someone rips off Bejeweled, sometimes they’ll do dumb things — like they won’t get the gravity of the gems right, so when they fall down they either fall down really fast, or really slow.&/p&&br&&p&It seems like a simple thing, but it could make a big difference, in terms of how the games feel. That’s one of those things where it’s like, “Dude, if you’re going to rip off the game, rip it off right. Get those things correct.”&/p&&br&&br&&p&第七篇失败理论上是做产品不应该考虑的选项之一&/p&&br&&br&&p&YC 新老板Sam Altman在斯坦福的创业演讲(20节课,每节大概50分钟):Failure still sucks,You should still try not to fail&/p&&br&&p&失败并不是很多人认为的Failure is great,失败本身就是一场灾难&/p&&br&&p&失败可能摧毁一切&/p&&br&&p&对任何的项目参与者来说,失败就是各种惨痛的无效损耗&/p&&br&&p&甚至你认为的所谓的失败教训,你都学不到,下次该掉坑里的同样会掉坑里&/p&&br&&p&基本上,有容忍失败的退路,就很容易原谅自己的不全力以赴了&/p&&br&&p&………………………………&/p&&br&&p&顺便分享一下他以前也谈过一个很酷的判断:&/p&&br&&p&成功=理念 * 产品 * 执行 * 运气&/p&&br&&p&其中运气的区间在0-10000的任何一个随机数&/p&&br&&p&所以他认为创业最好的理由就是:&/p&&br&&p&The best reason is you can’t not do it&/p&&br&&p&不然你是扛不住中间的各种不愉快的&/p&&br&&br&&p&第八篇老好人是团队管理的大忌&/p&&br&&br&&p&Tal Ben Shahar在哈佛大学做了24期长达20小时的【领袖心理学】演讲&/p&&br&&p&最后提了一个无比尖锐的问题:&/p&&br&&p&Is it possible to lead without getting your hands dirty?&/p&&br&&p&作为一个为企业承担责任的领导者,有可能当一个纯粹的老好人吗&/p&&br&&p&That it was not possible&/p&&br&&p&That to be a leader requires getting our hands dirty&/p&&br&&p&毫无疑问,你常常要去做一些对你来说无比艰难但为了能有更好的未来不得不面对的决定&/p&&br&&p&…………………&/p&&br&&p&如果你选择无视问题,问题就会反过来挖个深坑把你吃掉&/p&&br&&p&这是一个to live or not to live的问题&/p&&br&&br&&p&第九篇保障用心用力的一致性是做好产品的唯一关键&/p&&br&&br&&p&Instagram两位合伙人Kevin Systrom 和Mike kriegre在斯坦福大学的分享话题之一:创业做事,产品只占50%,而围绕为了产品能完成的其他配套元素是否做得好同样能正面和负面影响企业的未来&/p&&br&&p&这也是我自己这一年来一直在反思的问题:我以为我只要专注做好产品就够了,其实这才是最大的天真&/p&&br&&p&以前我更多考虑的是:我想做什么&/p&&br&&p&但事实上这是远远不够的,商业环境更残酷的是你如何保障【我想做什么】能够实现,任何一个额外的因素都能够瓦解掉【我想做什么】这个原始的逻辑&/p&&br&&br&&p&第十篇看不懂和看不上才是产品评估的常态&/p&&br&&br&&p&Lars Buttler的观点代表了地球人最真实的看项目的态度和逻辑:&/p&&br&&p&看缺点和看问题,这个我会,还很擅长,我能马上给你罗列一二三四五六不重样,要多犀利有多犀利&/p&&br&&p&至于看机会和看潜力产品,这个…我不会,谁知道下一个Supercell在哪里啊,囧&/p&&br&&p&I didn’t say it’s particularly easy to invest in gaming. I think it’s actually very hard. I also think it’s virtually impossible to predict which company will create the next worldwide megahit. It’s much easier to predict what will fail. It’s much easier to see when a team doesn’t jell or when an idea’s not great. To predict where a new Supercell will come from is virtually impossible. It makes early stage investing in games very difficult.&/p&&br&&p&本文整理自周末的朋友圈分享,欢迎交流探讨,郑金条,微信zhengjintiao&/p&
10个话题探讨:包括失败理论上是做产品不应该考虑的选项 第一篇关于好的制作人和好的团队组合对产品的影响分析 这大概是行业相对真实的Q & A了: Q:游戏行业的风险主要来自于哪里 A,产品判断失误和团队执行力差(或内耗),是做项目最基本的风险 Q:那成…
----------------------------&br&&br&本文同时发在我的 Blog,在那里或可获得更好的阅读体验:&br&&a href=&//link.zhihu.com/?target=http%3A//gulu-dev.com/post/-open-world& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&[知乎] 开放世界游戏中的大地图背后有哪些实现技术?&i class=&icon-external&&&/i&&/a&&br&&br&----------------------------&br&&br&首先肯定一下,这是一个非常有趣的问题。在这个答案里,我将尝试先回答主干问题,再对补充说明里的几个问题简单说一下。&br&&br&下面是本文将涉及到的一些相关技术的列表,(需要说明的是,这些技术单独来看并不复杂,实际动手实现并理解各种取舍以后,在项目当中针对具体的需求去设计和搭配才是关窍之所在)&br&&br&----------------------------&br&&br&&b&一、程序技术篇:算法和架构(Programming Algorithms & Architecture)&/b&&br&1. 无限循环的平铺地图(Infinite Tiling)&br&2. 可预测随机数和无限宇宙(Predictable Random)&br&3. 精度问题解决方案(Precision Problem Solving)&br&4. 超大地形的处理 (Terrain Visualization)&br&
4.1 古典算法(从 GeoMipMapping,Progressive Mesh 到 ROAM) &br&
4.2 层次的艺术(Quadtree 和 Chunked LOD)&br&
4.3 以GPU为主的技术(Paging,Clipmap 到 GPU Terrain)&br&5. id tech 5 的 megatexture (超大地表上的非重复性海量贴图)&br&6. 过程式内容生成 (Procedural Content Generation)&br&
6.1 过程式纹理(Procedural Texturing)&br&
6.2 过程式建模(Procedural Modeling)&br&&br&&b&二、内容制作篇:设计和创造(Content Design & Creation)&/b&&br&1. 随机地图类游戏 (Diablo II) 中地图的拼接&br&2. 无缝大世界 (World of Warcraft) 中区域地图的拼接&br&3. 卫星地质数据的导入,规整化和再加工(一些飞行模拟类游戏)&br&4. 超大地图的协同编辑:并行操作,数据同步,手动和自动锁的运用&br&&br&&b&三、异次元篇:我们的征途是星辰大海&/b&&br&1. 终极沙盒(EVE):当规模大到一定程度——宇宙级别的混沌理论与蝴蝶效应&br&2. 打通两个宇宙(EVE & Dust):发现更广阔的世界——宇宙沙盒游戏和行星射击游戏联动&br&&br&----------------------------&br&&br&## 一、程序技术篇:算法和架构(Programming Algorithms & Architecture)&br&&br&### 1. 无限循环的平铺地图(Infinite Tiling)&br&&br&我们就从最平淡无奇的无限循环平铺地图说起吧。这应该是最原始,也是最没有技术含量的开放世界构筑方式了。&br&&br&技术上由于过于朴素,也没什么好说的,就是在同一个坐标系内像铺地砖那样展开,坐标对齐即可,就是接头处需要注意一下,不要穿帮就行。但是千万别因为简单就小看这个技术哟,上面列表里面的不少技术都是在循环平铺的基础上发展起来的,下面我们就来瞧一瞧吧。&br&&br&按照维度的不同,循环平铺有下面三大类:&br&&br&a. 在一维方向上扩展的横版卷轴游戏(以动作类游戏为主)和纵版卷轴游戏(以射击类游戏为主)。这些类型的游戏里,为了避免循环平铺给玩家带来的重复的疲劳,卷轴游戏会添加一些随机或动态的元素,比如超级玛丽里的背景上云朵的位置,分出多个层次以不同速率卷动的背景层,等等。&br&&br&&figure&&img src=&https://pic2.zhimg.com/ba1ab15421cdadd00a30dd3c736e997d_b.jpg& data-rawwidth=&392& data-rawheight=&220& class=&content_image& width=&392&&&/figure&&br&&br&&br&b. 在二维方向上循环平铺的固定视角2D游戏。这一类游戏里,比较典型的就是 Diablo。暗黑中的随机地图生成,在本质上,就是叠加了一定的随机性,约束和边界条件的循环平铺效果。&br&&br&&figure&&img src=&https://pic3.zhimg.com/47a0c8c78f1adf3afcee_b.jpg& data-rawwidth=&550& data-rawheight=&413& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&https://pic3.zhimg.com/47a0c8c78f1adf3afcee_r.jpg&&&/figure&&br&&br&&br&c. 在 3D 游戏里循环平铺高度图,形成连绵不断的地形效果。这在早期的模拟飞行射击类游戏里比较常见,现在已经很难搜到图了,我在上大学的时候写的第一个地形渲染 demo 就是平铺的,可惜刚刚翻硬盘已经找不到了555。这一类游戏,在平铺时适当地辅以一些贴图的变化,可以在很省内存的条件下,做出非常不错的效果。&br&&br&找不到游戏内的图,拿下面这个高度图来凑数吧。请大家脑补一下,把下面这个灰度图立体化之后,一块一块像地砖一样循环平铺以后,3D渲染出来的连绵起伏的直抵地平线(好吧,直抵远裁剪面)的山脉的壮观效果吧。&br&&br&&figure&&img src=&https://pic2.zhimg.com/b9c4ebfd28bccc8475ac1d_b.jpg& data-rawwidth=&512& data-rawheight=&512& class=&origin_image zh-lightbox-thumb& width=&512& data-original=&https://pic2.zhimg.com/b9c4ebfd28bccc8475ac1d_r.jpg&&&/figure&&br&&br&----------------------------&br&&br&### 2. 可预测随机数和无限宇宙(Predictable Random)&br&&br&(本节内的描述和算法,部分参考了《Game Programming Gems I》 [“2.0 Predictable Random Numbers”](&a href=&//link.zhihu.com/?target=http%3A//www.gameenginegems.net/gemsdb/article.php%3Fid%3D75& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Graphics and Game Gems Database&i class=&icon-external&&&/i&&/a&) 一文,请感兴趣的同学自行查找原文通读)&br&&br&有个传说中的游戏叫 Elite ,不知道有没有同学玩到过。据说这游戏运行在32K内存的机器上,其中16K还是只读的ROM。这游戏据说拥有难以匹敌的游戏深度:近乎无限个行星,每一个都有各自的名字和特征。&br&&br&可预测随机数本身是游戏内运用非常广泛的一个技术,这里我们着重谈一下它在为游戏提供(微观上)更丰富的细节和(宏观上)更广阔的世界的作用。这一技术的最重要原则是,为了在一个游戏世界中给出无限空间的幻觉,我们需要满足两个分解条件,可以把它们成为宏无限(macro-infinite)和微无限(micro-infinite)”。前者涉及到问题的空间规模,后者则任意一个对象所支持的最小细节层次级别。&br&&br&----------------------------&br&&br&从实现上来说,如何设定随机种子是这个技术的核心。由于给定一个随机种子,生成的随机序列是完全可预测的,那么根据游戏内的一些时空的设定,通过对随机种子进行一些定制,得到在游戏内任意某个时刻和某个空间点上完全可预测的行为就是可行的了。&br&&br&最简单的是使用以下几个元素与随机种子配合计算:&br&1. 世界坐标(即 X Y Z 值,既可以表示空间中的某个点,也可以表示某个区域)&br&2. 系统时间(可以用真实时间,也可以用游戏内设计者定义的时间,如果是前者的话需要考虑离线时的处理)&br&3. 正态分布(在游戏里建一个查找表即可,这是最廉价的方案)&br&&br&这些因素加上对应的随机序列,已经可以营造出宏观上比较有深度的一个宇宙空间了。理论上,如果所有的随机性都是由给定的随机种子产生,而这些随机种子要么是游戏定义的常量,要么是查表得到,要么是均匀流逝,要么是由更高层次的随机种子生成,那么这样一层一层上溯到尽头的话,任何一个游戏内的宇宙,都可以归因到一个初始的种子,这个种子,就是决定论中经典物理学的所谓的&b&第一推动&/b&吧。其实如果真做到了这一点,我们大可以把这个种子交给玩家,在首次进入游戏的时候掷一个 2^64 骰子。这是真正的上帝创世的感觉,想象一下,上帝说,要有光,于是掷出了骰子,第一推动怦然落地,整个时空的巨大齿轮开始运转,在不同的时间点和空间点上,更多的随机序列被生成出来...&br&&br&&figure&&img src=&https://pic1.zhimg.com/50bde2249146cce4ea9c_b.jpg& data-rawwidth=&640& data-rawheight=&517& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/50bde2249146cce4ea9c_r.jpg&&&/figure&&br&&br&&br&这幅图来自于游戏 Frontier:Elite II(出自[这篇文章](&a href=&//link.zhihu.com/?target=http%3A//rakanalysis.wordpress.com//from-the-archive-frontier-elite-ii-a-retrospective-review/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&rakanalysis.wordpress.com&/span&&span class=&invisible&&//from-the-archive-frontier-elite-ii-a-retrospective-review/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&)),下面配的字样是:&b&“This picture doesn't even begin to show the scale of the universe.”&/b& 大家感受一下。&br&&br&----------------------------&br&&br&微观上本质上也是一样的,只是把发散的过程倒过来,变成了逐级收敛的过程。为了在某一个点上放大时,能得到尽可能细致,准确和一致的表现,我们需要对较低层次的世界定义更丰富的规则和约束,比如黑洞对周围的影响情况,双星体系的轨道,恒星的种类与行星个数之间的对应关系,不同恒星系结构下行星表面的大气构成,等等。这样才能较好地平衡多样性和独特性,带来更真实的模拟效果和更令人信服的游戏体验。&br&&br&----------------------------&br&&br&### 3. 精度问题解决方案&br&&br&当足够大尺度的世界被创建出来时,就会自然而然地遇到精度的问题。同时这也是补充说明中提到的一个问题,这里我们简单介绍一下几种实践中的解决方案。&br&&br&先描述一下问题吧,我们知道,IEEE754 中规定的32位浮点数中,有23位是用来表示尾数的。也就是说,对于接近1的浮点数,可能会带来 2E-24 左右的误差(大约是 0.)以现实单位计算的话,如果游戏世界是边长为100km的正方形,那么在这个正方形的最远角落里,我们的最小空间单位是约 7.8 毫米;而如果是中国这么大的面积的话,空间误差将达**半米**左右。那么可以想象一下,如果是宇宙级别的游戏,采用32位浮点数作为全地图精度,那么实际误差可能会有多么大。&br&&br&在实践中,这种误差可能会带来以下这些影响:&br&&br&1. &b&无法将相邻的对象对齐&/b&。这种情况,场景美术(关卡设计师)应该会比较头疼,这对于游戏的编辑器来说是大问题了。物件没法在引擎编辑器里对齐;在不同的平台上,对齐也不一样;甚至不同的编译器,同一个编译器的不同版本编出来的引擎;对齐都不一样 ... 所以说处女座不要做 LD :P。&br&2. &b&模型间的穿插和裂缝&/b& 本来封闭的墙角可能漏个洞,本来放在地上的石头变成了悬浮在空中。这实际上是上一种的变种。&br&3. &b&骨骼动画的抖动&/b& 由于世界矩阵往往参与骨骼动画的运算,误差可能会被逐级放大,在那些最远离根骨骼的骨头上(也是玩家最容易注意到的地方),抖动可能会发生得非常剧烈。&br&4. &b&物理模拟失真&/b& 一些柔体的模拟可能会直接失败,而刚体也可能会产生怪异的运动。碰撞系统也可能无法正常工作。&br&&br&所有这些一旦发生,都是很容易觉察的。一旦你发现在一个很大的坐标上有这些问题,而接近原点处问题却消失了,那么很有可能就是精度在作怪。而需要注意的是,出现这种问题,只和游戏中出现的数字的规模和跨度有关,和游戏选择了什么样的长度单位(如用毫米还是公里做单位)无关。&br&&br&----------------------------&br&&br&那么怎样使用有限的坐标精度来描述较大尺度的世界呢?&br&&br&最直接的方案是 &b&使用双精度浮点数 &/b&(64 位),如果这是可接受的选择,那么就不必费心引入后面讨论的复杂度了。&br&&br&其次是 &b&区域划分法&/b& 。我看到 &a data-hash=&1e2cccc3ce33& href=&//www.zhihu.com/people/1e2cccc3ce33& class=&member_mention& data-editable=&true& data-title=&@Milo Yip& data-hovercard=&p$b$1e2cccc3ce33&&@Milo Yip&/a&
同学已提到,不过这里出于完整性的考虑,再简单说一下。正如 Milo 同学所说,“把世界划分成不同的区域,在区域内的计算使用其局部坐标系统。”相对应的跨区访问,需要对应的“本地A -& 世界 -& 本地B”的坐标转换。&br&&br&还有一个方案是 &b&节点中转法&/b&。正如移动电话的基站用来承载和协调整个通信网络那样,我们在游戏的给定活动区域使用静态信标,所有的逻辑上与之相关的单位,都以该信标的坐标作为参考单位,这样也可以做到把数据访问局部化。相距足够远的两个物体(相当于上面的跨区访问)交互总是通过静态信标来完成(正如移动电话网络中发生的那样),这样的好处是相关的复杂度可以隔绝在这个中转系统的内部。&br&&br&此外
&a data-hash=&9a5b0b946e064a3a170f04c2d3563a78& href=&//www.zhihu.com/people/9a5b0b946e064a3a170f04c2d3563a78& class=&member_mention& data-editable=&true& data-title=&@凯丁& data-hovercard=&p$b$9a5b0b946e064a3a170f04c2d3563a78&&@凯丁&/a&
同学提到了一个&b&坐标转换法&/b&,“所有位置信息都以角色位置为中心做一次转换”。这正是 《Game Programming Gems IV》 [“4.0 Solving Accuracy Problems in Large World Coordinates”](&a href=&//link.zhihu.com/?target=http%3A//www.gameenginegems.net/gemsdb/article.php%3Fid%3D280& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Graphics and Game Gems Database&i class=&icon-external&&&/i&&/a&) 文中的方案。这个方案可以解决部分问题(主要是渲染相关的问题),但是仍有一些问题需要考虑,比如:1. (上面提到的)编辑器内操作的物体,在序列化到文件中时,精度丢失的问题。2. 大部分物理模拟通常需要一个角色无关,摄像机无关的全局坐标系。等等。&br&&br&----------------------------&br&&br&### 4. 超大地形的处理 (Terrain Visualization)&br&&br&终于说到对超大地形的处理了。可以说从上世纪九十年代起,超大地形的可视化,一直是3D游戏领域热门的话题。今天我们就借着这个机会,把相关的算法和实现理一理吧。&br&&br&考虑到篇幅太长的话,俺的手指头招架不住,再一个不少对这个话题感兴趣的同学可能压根就不是程序员,一些实现细节可能我就只是简单提一下,贴代码什么的还是算了,尽量保证整篇文章的信息浓度适中吧。&br&&br&----------------------------&br&&br&总的来说,这十多年来,地形渲染技术的发展史就是一部生动的对现代GPU的开发,利用和改进史。整个过程大致可以分成三个阶段:一开始,GPU处理顶点能力很弱,这个时期的各种精巧算法(如一些VDPM和后期的ROAM),**尽力在用CPU来降低顶点的总量**,避免一不留神压垮图形系统;后来,图形系统的能力上去了,人们开始更多地考虑到**把地形系统融入到通用的场景管理**中去,如四叉树八叉树什么的就是在这个阶段被广泛应用的;再往后,GPU已经很强大了,CPU由于要承担更复杂的游戏逻辑,越来越成了整个系统的瓶颈,这个阶段,人们琢磨的更多的是,怎么**利用GPU给CPU减负**了,一直到如今,由 GPGPU 带动起来的异构计算,也都是这个路数。&br&&br&----------------------------&br&&br&由于内容比较杂,超大地形这个段落,按上面的描述,咱们分为三个小段分开来讲吧。让俺先沏上一杯碧螺春,为客官一一道来。&br&&br&#### 4.1 古典算法(从 GeoMipMapping,Progressive Mesh 到 ROAM) &br&&br&&b&GeoMipMapping&/b& 是从纹理的 MipMapping 技术演化来的一个地表处理技术,原理上是根据任何一小块地形在屏幕上显示的实际尺寸(主要跟与摄像机的距离和起伏程度有关)来选择对应密度的网格,然后把不同分辨率的网格之间以某种方式拼接起来(没有这一步的话就会有裂缝),本质上是一种比较粗糙的区域 LOD 算法。顺便说一下,由于那时候针对顶点级的处理很多,导致这种T型裂缝很常见,以至于有个专门的名字叫“T-Junction”,针对这个的处理在当时也有很多方案。&br&&br&&figure&&img src=&https://pic2.zhimg.com/a009ae667fd9_b.jpg& data-rawwidth=&551& data-rawheight=&398& class=&origin_image zh-lightbox-thumb& width=&551& data-original=&https://pic2.zhimg.com/a009ae667fd9_r.jpg&&&/figure&&br&&br&这是俺刚刚到老硬盘里刨出来的大三时写的 GeoMipMapping 代码,编了一下居然还能跑起来。有点土,别介意:P 可以看到不同的 MipMap 级别是用不同的颜色渲染的,也可以看到接头处 T 型裂缝的处理。唉,这代码勾起了俺的青葱回忆啊,那就顺便再来两张 T 型裂缝的示意图和消除过程吧。&br&&br&&figure&&img src=&https://pic3.zhimg.com/14d993ba8c1bdde03a2e_b.jpg& data-rawwidth=&522& data-rawheight=&535& class=&origin_image zh-lightbox-thumb& width=&522& data-original=&https://pic3.zhimg.com/14d993ba8c1bdde03a2e_r.jpg&&&/figure&&br&&br&----------------------------&br&&br&&figure&&img src=&https://pic1.zhimg.com/cd4ebdf412bfe4538a6ddd1fb7b2a3fc_b.jpg& data-rawwidth=&612& data-rawheight=&495& class=&origin_image zh-lightbox-thumb& width=&612& data-original=&https://pic1.zhimg.com/cd4ebdf412bfe4538a6ddd1fb7b2a3fc_r.jpg&&&/figure&&br&&br&----------------------------&br&&br&&b&Progressive Mesh&/b& 是后来很流行的技术 Simplygon 的前身,原理上基本也是一致的,就是以某种方式渐变性地化简某个给定的 Mesh。&br&&br&渐进式网格有两种:视点无关的 (View-Independent Progressive Mesh,VIPM) 和视点相关的 (View-Dependent Progressive Mesh,VDPM)。两者的区别就是,前者预先离线生成好所有的渐变过程,运行时直接用就行(也是后来 Simplygon 采用的方案),而后者随着摄像机的位置和角度的变化,生成对应的简化模型。两相对比,VIPM的好处是运行时运算开销低,简化模型的效果好,缺点是费内存(因为数据都存下来了,当然后来增量的方式能省一些),而VDPM在当时是不错的选择,因为跟VIPM相比不用费额外的内存,而且对于视点(就是摄像机)变化不剧烈的应用,不需要每帧处理和更新对应的简化模型(普通的MMO类的一般一秒一次就够了),此外由于一些简单的遮挡剔除和背面剔除,能够比VIPM裁掉多得多的顶点(一般能多裁1/3到一半吧,在当时这可是头等大事)。&br&&br&总的来说,至少在当时,两者的应用都比较广泛,而到了后来,显存越来越大,总线却越来越紧张,VDPM这种典型的刷顶点的算法(比较费总线带宽)就逐渐失去了市场,这是后话了。&br&&br&大家可以在[这里](&a href=&//link.zhihu.com/?target=http%3A//www.cbloom.com/3d/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&3d Page (www.cbloom.com/3d)&i class=&icon-external&&&/i&&/a&)看到一些 PM 在地形渲染上的应用。图咱就不上了,大家可以到 Simplygon 的网站上去看。&br&&br&----------------------------&br&&br&&b&ROAM&/b& 可算作是上面提到的 VDPM 更进一步了。这个算法实际上借鉴了当时主流引擎的标配BSP的思路,想利用二叉树这个最简洁的空间描述数据结构,把(CPU端的)顶点消减发挥到极致。整个地表被组织成一个巨大的二叉树,有两个队列,一个是分割队列,一个是合并队列,分别用于处理摄像机移动时,增加进入视野的区域细节和消减退出视野的区域细节。精心设计的 ROAM 效果非常华丽(尤其是在线框模式下),你会看到在各种因素的影响(包括局部坡度,与摄像机的夹角,遮挡情况等等)下,各种三角形像魔术般的不断地变幻,生成和擦除超多的细节,效果非常魔幻。我印象很深的是当时连续打Quake3两个小时完全无感的我,调试这玩意的时候,每每不到十分钟眼就花了。&br&&br&网上找了两张比较典型的 ROAM 大家感受一下吧。&br&&br&&figure&&img src=&https://pic2.zhimg.com/07be8d1e331b9b1b7ebae1_b.jpg& data-rawwidth=&1003& data-rawheight=&749& class=&origin_image zh-lightbox-thumb& width=&1003& data-original=&https://pic2.zhimg.com/07be8d1e331b9b1b7ebae1_r.jpg&&&/figure&&br&&br&----------------------------&br&&br&&figure&&img src=&https://pic3.zhimg.com/d276affe4ed461cb33408e_b.jpg& data-rawwidth=&636& data-rawheight=&398& class=&origin_image zh-lightbox-thumb& width=&636& data-original=&https://pic3.zhimg.com/d276affe4ed461cb33408e_r.jpg&&&/figure&&br&&br&----------------------------&br&&br&&br&#### 4.2 层次的艺术(Quadtree 和 Chunked LOD)&br&&br&其实用于空间管理的树状结构有四叉树和八叉树(还有上面的二叉树),但地表通常以前者居多。是因为,从小范围来看,变化剧烈的地形是3D的,适合八叉树在xyz三个方向上扩展;但当尺度大到一定规模之后,地形通常退化为相对扁平的2D空间,就像摊平了的地球表面那样,在竖直的Z方向上变化相对不大,而XY平面则是可能无限延伸的。&br&&br&&b&Quadtree&/b& 四叉树很直白,具体的细节我就不讲了。值得一提的是四叉树往往也同时用于场景管理的快速剔除和查找,从理论上来讲,四叉树是一个平面上最迅速的用于剔除空间,定位一个物体,内存开销也是相对较低的数据结构。当用于地形渲染时,顶点剔除的效率也很高,我印象中仅次于高度优化的 ROAM。内存开销低主要是因为四叉树是可以完美展开到一个位数组里的,这样的话意味着整个树的利用率达到了百分之百——所有的空间都用来存储数据而不是维持结构。&br&&br&不过四叉树也不是啥都好,T型裂缝就比 GeoMipMapping 难处理,因为存在跨级的多段 T 缝,如下图:&br&&br&&figure&&img src=&https://pic2.zhimg.com/1b93ffaf7dfefee85af1_b.jpg& data-rawwidth=&326& data-rawheight=&311& class=&content_image& width=&326&&&/figure&&br&&br&&br&除此之外还有一些细节问题,这里就不一一说明了,地形的四叉树渲染还是有很多细节需要细心处理的,此处暂且放下不表。&br&&br&----------------------------&br&&br&&b&Chunked LOD&/b& 是一种杂合改良的 LOD,其实糅合了上面说的不少细节,本质上是一种分区块地消减细节的技术。所谓 Chunk 是批量处理的一种方式,只是一种粒度划分的单位而已,跟现在 Java 的 GC 里分区回收概念上差不多。&br&&br&下面是典型的 Chunked LOD 后的效果:&br&&br&&figure&&img src=&https://pic3.zhimg.com/f061aa7fd657ea01a4fbb4b5b7579c7a_b.jpg& data-rawwidth=&1015& data-rawheight=&378& class=&origin_image zh-lightbox-thumb& width=&1015& data-original=&https://pic3.zhimg.com/f061aa7fd657ea01a4fbb4b5b7579c7a_r.jpg&&&/figure&&br&&br&顶点多次过滤优化后的效果:&br&&br&&figure&&img src=&https://pic2.zhimg.com/fcaffd00ee8d67b93aa2701_b.jpg& data-rawwidth=&901& data-rawheight=&439& class=&origin_image zh-lightbox-thumb& width=&901& data-original=&https://pic2.zhimg.com/fcaffd00ee8d67b93aa2701_r.jpg&&&/figure&&br&&br&&br&效果在当时还是很惊艳的。通常不到50k的渲染数据量已经能有非常逼真的效果了。&br&&br&----------------------------&br&&br&#### 4.3 以GPU为主的技术(从 Paging,Clipmap 到 GPU Terrain)&br&&br&上面的基本上都是传统方案,这一节我们将逐渐过渡并挨个介绍一下以 GPU 为运算主体的算法。&br&&br&----------------------------&br&&br&所谓&b&分页&/b&(Paging)实际上是仿效虚拟内存的运行机制的一种方法。由于地表的顶点数据都是静态数据,适合常驻显存。当世界尺度较大时,显存没法一次放入所有数据,那么系统就像虚拟内存那样,把那些暂时没有用到的数据交换出去。随着游戏的进行,Paging In/Out 也在不断进行,辅以一定的异步机制,加载到显存的延迟可以被很好地掩盖。玩家的直观感受就是:哇,海量的细节。&br&&br&&figure&&img src=&https://pic1.zhimg.com/ea740fdbaed05c5102354_b.jpg& data-rawwidth=&996& data-rawheight=&798& class=&origin_image zh-lightbox-thumb& width=&996& data-original=&https://pic1.zhimg.com/ea740fdbaed05c5102354_r.jpg&&&/figure&&br&&br&----------------------------&br&&br&而 &b&Clipmap &/b&则比 Paging 更进一步,以金字塔的形式逐级把数据排列好,直接整体更新和渲染。从这里也可以看出 GPU 时代人们的思维方式的逐步变迁。从以前顶点级别(Vertex Level)的“锱铢必较”,到后来的一次多塞一点也无所谓,只要批次(Batch)少就 OK。下图可以看出 Clipmap 的基本思路。&br&&br&&figure&&img src=&https://pic2.zhimg.com/811bdc0e3fb8be4ab928d5_b.jpg& data-rawwidth=&1071& data-rawheight=&467& class=&origin_image zh-lightbox-thumb& width=&1071& data-original=&https://pic2.zhimg.com/811bdc0e3fb8be4ab928d5_r.jpg&&&/figure&&br&&br&----------------------------&br&&br&所谓的 &b&GPU Terrain Rendering&/b& 就是把高度图从内存里经由 2D Vertex Texture 搬到 VS 里去生成三角面,这样的好处是 CPU 和内存就被彻底解放出来了。只是访问上有一些限制,不像直接处理内存那样方便。具体的细节可以看这里:[GPU Gems 2: Terrain Rendering Using GPU-Based Geometry Clipmaps](&a href=&//link.zhihu.com/?target=http%3A//http.developer.nvidia.com/GPUGems2/gpugems2_chapter02.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GPU Gems - Chapter 2. Terrain Rendering Using GPU-Based Geometry Clipmaps&i class=&icon-external&&&/i&&/a&)&br&&br&在 GPU 上做还有个巨大的好处是可以借助 Gaussian Noise 即时生成更多的细节了。直接拿一小块预生成的高斯噪点图在需要的时候叠加一下,就能在没太大额外开销的情况下,增加各种细节。如下图所示:&br&&br&&figure&&img src=&https://pic3.zhimg.com/fba8d154a04fe4c1e3a8c24e4d8645fe_b.jpg& data-rawwidth=&418& data-rawheight=&194& class=&content_image& width=&418&&&/figure&&br&&br&----------------------------&br&&br&随着大家对 GPU 理解的深入,地形的处理又有很多的小技巧可以做,尤其是在 PS 里面,比如法线生成,动态uv展开,光照按需叠加/衰减什么的。不过呢据我所知没有什么非常别具一格的架构上的新思路了,所以就不再深入了。&br&&br&### 5. id tech 5 的 megatexture (超大地表上的非重复性海量贴图)&br&&br&&b&megatexture &/b&在当年(2007)是一个非常值得一提的技术。在这个技术出现之前,几乎所有的地表渲染用到的贴图都是若干张 blend 到一起后,以 tiling 的形式重复平铺在地表上的(包括比较典型的魔兽世界也是如此),这样的直接后果是图片的种类用多了耗资源,用少了又很容易感到单调和重复。而 megatexture 则是一张全局的超大贴图,从根本上避免了重复这个问题,理论上(实践上也是)能够生成非常壮丽和独特的地质风貌,是传统的刷地表无法创作出的效果。可以说这个技术让&b&真正的全景地貌&/b&成为可能。&br&&br&----------------------------&br&&br&技术上的细节puzzy老师写过一个 pdf,强烈推荐感兴趣的同学搜来看一下(可以搜“ **ID Tech 5 中&Megatexture&针对地形的D3D9
基本实现原理 - 姚勇**”),珠玉在前,我就不啰嗦了。就来一张效果图吧(好吧我知道能坚持看到这儿的同学,这图基本上肯定都看过了)&br&&br&&figure&&img src=&https://pic4.zhimg.com/cbca123634bdd402a1b1f_b.jpg& data-rawwidth=&845& data-rawheight=&474& class=&origin_image zh-lightbox-thumb& width=&845& data-original=&https://pic4.zhimg.com/cbca123634bdd402a1b1f_r.jpg&&&/figure&&br&&br&&br&全局超大贴图对一个开放性世界的价值不言而喻。想象一下,跟拿乐高积木拼接出来的视觉效果(传统的 texture blending and tiling)相比,一幅万米画卷上,每个像素都可以随意描绘,是一种什么感受。 比如,你可以相对轻松地实现“整个世界的地貌瞬间被密集核弹蹂躏了一场之后”的效果。如果你想模拟整个生态环境的变迁,在不同粒度上的整体性修改更是无价之宝。&br&&br&----------------------------&br&&br&### 6. 过程式的内容 (Procedural Content Generation)&br&&br&“过程式生成”是一个不是很恰当的翻译,实际上更贴近本意的说法是“以程序的手段生成”,这里我们简洁起见,仍使用过程式生成的字样吧。&br&&br&过程式的内容生成是随机技术的在视觉效果上的一个重要衍生。这个技术虽然到最近才被广泛应用,但实际上从技术角度讲,在很久以前就已经有比较成熟的实现了。我手头的 2003 年出版的翻译版 Game Programming Gems III 中 就有 4.16 和 4.17 连续两篇文章以“程序手段生成的纹理”作为主题。这是构建超大规模的世界的一个重要的技术工具,尤其是与上面的 megatexture 技术结合起来,可以创造出非常令人震撼的视觉复杂度。&br&&br&下面是 sourceforge 上一个开源的项目 [PCity - Procedural Modeling and Rendering of Cities](&a href=&//link.zhihu.com/?target=http%3A//pcity.sourceforge.net/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&pcity.sourceforge.net/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&)&br&&br&&figure&&img src=&https://pic1.zhimg.com/cbcc074d9af37573efa264_b.jpg& data-rawwidth=&500& data-rawheight=&350& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic1.zhimg.com/cbcc074d9af37573efa264_r.jpg&&&/figure&&br&&br&&br&可以看出,对于过程式生成来讲,只要有非常小的初始数据集(meta-data),可以在宏观上达到很大尺度和复杂度的视觉效果。&br&&br&过程式生成有两大分支,一个是过程式纹理,另一个是过程式建模(上面的 PCity 属于后者),下面我们分别来谈一谈。&br&&br&#### 6.1 过程式纹理(Procedural Texturing)&br&&br&人们发现,自然界中有很多视觉效果是可以用数学公式加上一些简单的随机性来模拟的,比如云彩,水流,火焰,木纹,大理石,草地,夜空,大气等等,程序生成的纹理效果大大丰富了普通纹理能表现的效果,就好像是物理引擎给游戏增加了活力一样。一个普通的噪点图,在不同的情境下,作为辅助参数来参与生成动态纹理,可以产生出近乎无穷无尽的变化。&br&&br&这是过程式生成的云,出处在[这里](&a href=&//link.zhihu.com/?target=http%3A//www.indigorenderer.com/content/cloud-render& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&indigorenderer.com/cont&/span&&span class=&invisible&&ent/cloud-render&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&)。&br&&br&&figure&&img src=&https://pic2.zhimg.com/a2d0cb4d450d87e0f78aa5_b.jpg& data-rawwidth=&640& data-rawheight=&470& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/a2d0cb4d450d87e0f78aa5_r.jpg&&&/figure&&br&&br&&br&这是过程式生成的外观,使用了 Allegorithmic 公司的 Substance Designer,出处在[这里](&a href=&//link.zhihu.com/?target=http%3A//blog.mediarain.com/2013/03/procedural-textures-using-allegorithmic-substance-designer/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Procedural Textures Using Allegorithmic Substance Designer&i class=&icon-external&&&/i&&/a&)&br&&br&&figure&&img src=&https://pic2.zhimg.com/d97d1b72b376c0f4a7b5_b.jpg& data-rawwidth=&600& data-rawheight=&397& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic2.zhimg.com/d97d1b72b376c0f4a7b5_r.jpg&&&/figure&&br&&br&&br&这里是一些分解材质,相当于过程式纹理的图素,出处在[这里](&a href=&//link.zhihu.com/?target=http%3A//www.3dtotal.com/team/Tutorials/yann_vaugne/alientut_1.asp& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&3DTotal Tutorials&i class=&icon-external&&&/i&&/a&)。&br&&br&&figure&&img src=&https://pic3.zhimg.com/3a78e82f759f3fa435cb6d748e1f8c8e_b.jpg& data-rawwidth=&660& data-rawheight=&289& class=&origin_image zh-lightbox-thumb& width=&660& data-original=&https://pic3.zhimg.com/3a78e82f759f3fa435cb6d748e1f8c8e_r.jpg&&&/figure&&br&&br&&figure&&img src=&https://pic2.zhimg.com/476d36fcd65a624a782c1c_b.jpg& data-rawwidth=&660& data-rawheight=&287& class=&origin_image zh-lightbox-thumb& width=&660& data-original=&https://pic2.zhimg.com/476d36fcd65a624a782c1c_r.jpg&&&/figure&&br&&br&&br&#### 6.2 过程式建模(Procedural Modeling)&br&&br&过程式建模特指以程序的手段动态建模。这是一个更大的话题,现在比较成熟的中间件的代表是 Speedtree,比如下面这个效果:&br&&br&&figure&&img src=&https://pic1.zhimg.com/4bcaa7624a40_b.jpg& data-rawwidth=&470& data-rawheight=&354& class=&origin_image zh-lightbox-thumb& width=&470& data-original=&https://pic1.zhimg.com/4bcaa7624a40_r.jpg&&&/figure&&br&&br&完全不同风格的纹理,模型的任意杂合,随意生成,效果也非常真实,非常适合做恐怖游戏。在 Speedtree 的网站上还可以看到长成茶壶的树之类的奇葩。我还记得有一年的GDC,在 IDV 的 Speedtree 的展台看到的一段华丽视频,就是各种藤蔓植物在几秒钟之内长满了一个峡谷内的整个大坝,电影级的效果非常震撼,不知道现在网上是否还能找到。&br&&br&----------------------------&br&&br&过程式建模是一项非常迷人的技术,我本人也曾被深深吸引,在上面投入过一段时间的精力。2010年时,我在开发一款飞行射击类的 MMO,当时接触到了 [Gamr7](&a href=&//link.zhihu.com/?target=https%3A//www.linkedin.com/company/Ftrk%3Dprof-exp-company-name& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GAMR7 | LinkedIn&i class=&icon-external&&&/i&&/a&) 的过程式建模技术,感觉很不错,在飞行类游戏中,地面物体的建模可以完全以程序方式生成,这个对当时的我来说吸引力太大了。那时我花了一个月把 Gamr7 的技术集成到自己的框架里,并在上海世博会期间,与 [Bernard Légaut 先生](&a href=&//link.zhihu.com/?target=https%3A//www.linkedin.com/profile/view%3Fid%3D518127& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Sign Up | LinkedIn&i class=&icon-external&&&/i&&/a&) 一起在世博会的法国企业馆展示了合作成果。摘两张当时的 PPT 吧。&br&&br&&figure&&img src=&https://pic3.zhimg.com/9a64e3a7f4cf451f65046d6_b.jpg& data-rawwidth=&697& data-rawheight=&311& class=&origin_image zh-lightbox-thumb& width=&697& data-original=&https://pic3.zhimg.com/9a64e3a7f4cf451f65046d6_r.jpg&&&/figure&&br&&br&截图中的素材基本上都是使用了过程式自动生成的(不是美术手放上去的),树是用 speedtree 生成的。&br&&br&&figure&&img src=&https://pic2.zhimg.com/d703c36c8829bcd54394cceffee951f9_b.jpg& data-rawwidth=&688& data-rawheight=&486& class=&origin_image zh-lightbox-thumb& width=&688& data-original=&https://pic2.zhimg.com/d703c36c8829bcd54394cceffee951f9_r.jpg&&&/figure&&br&&br&总得来说,过程式建模是一项&b&潜力远远没有得到释放&/b&的技术,现有的工具还处于比较原始的阶段。在当年 PPT 的技术展望(Beyond the Tech)一节中,我写到“(过程式建模带来的)&b&更高级的抽象使我们可以控制更高的复杂度,从而带来更丰富的细节&/b& (Higher abstraction makes much more details and complexities manageable) ”时至今日,受限于技术的发展,这仍只在某个特定的主题(如 Speedtree 的植被模拟和一般的城市模拟)内有效。对于随机性的粒度,我们仍缺乏有效的手段去控制。当年展望时的两大 Expectation(一个是建立起模式和库抽象从而满足不同层次上的复用需求,另一个是如何统一过程式技术中的无序和有序,有效地控制随机性的粒度),现在据我所知仍是所缺甚多,颇为渺茫。当然了,对有志之士,这也不失为一大探索方向。&br&&br&## 二、内容制作篇:设计和创造(Content Design & Creation)&br&&br&聊完了程序方面的内容,我们来简单讲讲超大规模世界在设计和制作方面的一些情况。这方面因为我不是专家,只是做一下简单的介绍,不足之处,还请专业人士指正。&br&&br&### 1. 随机地图类游戏 (Diablo II) 中地图的拼接&br&&br&在暗黑二,暗黑三和类似的游戏“火炬之光”等游戏中,通过巧妙的拼接,理论上可以通过组合,生成近乎无限大的地图。&br&&br&这是暗黑三第二章里所有地图的可能的部件形状:&br&&br&&figure&&img src=&https://pic3.zhimg.com/60bec5a77fca5dc757902ca_b.jpg& data-rawwidth=&500& data-rawheight=&100& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic3.zhimg.com/60bec5a77fca5dc757902ca_r.jpg&&&/figure&&br&&br&这是拼接之后的样子:&br&&br&&figure&&img src=&https://pic4.zhimg.com/5fb656b3e25e2e62b36d22fb_b.jpg& data-rawwidth=&500& data-rawheight=&138& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic4.zhimg.com/5fb656b3e25e2e62b36d22fb_r.jpg&&&/figure&&br&&br&除了拓扑结构上可以任意排列组合以外,在每一个分片上预留足够多的通用接口也很重要。比如一扇拱门,可以是闭合不可交互的状态,也可以通向下一个直角走廊,也可以是通往一个副本的入口。&br&&br&&figure&&img src=&https://pic2.zhimg.com/11d07faf7de61e5a95efc42f2c0a9cad_b.jpg& data-rawwidth=&377& data-rawheight=&246& class=&content_image& width=&377&&&/figure&&br&&br&要注意标准化的组件如果太多也会让玩家觉得单调和重复感过强,火炬之光在这一点上就做得不错。下图是火炬之光生成好的地图样貌:&br&&br&&figure&&img src=&https://pic2.zhimg.com/bedf54acebad_b.jpg& data-rawwidth=&562& data-rawheight=&552& class=&origin_image zh-lightbox-thumb& width=&562& data-original=&https://pic2.zhimg.com/bedf54acebad_r.jpg&&&/figure&&br&&br&&br&可以看到效果还是很不错的,一眼看过去已经不太有重复感了。&br&&br&### 2. 无缝大世界 (World of Warcraft) 中区域地图的拼接&br&&br&无缝世界类游戏的区域拼接和上面的随机生成类游戏的区域拼接是很不一样的。&br&&br&&figure&&img src=&https://pic3.zhimg.com/ce2cd240a21f544ce1e575e8f3113d4e_b.jpg& data-rawwidth=&647& data-rawheight=&473& class=&origin_image zh-lightbox-thumb& width=&647& data-original=&https://pic3.zhimg.com/ce2cd240a21f544ce1e575e8f3113d4e_r.jpg&&&/figure&&br&&br&可以看出,不同的区域之间有着很长的接壤线和完全不规则的边缘。在这种情况下,为了简化制作,大部分边界区域以高山作为阻隔。你几乎不怎么会看到有建筑横跨两个不同的区域,原因也是在此。&br&&br&在沙盘制作时,通常的做法是在整个世界地图(对应的世界编辑器)中规划好每个区域的范围,也就是分区分块。每个区域由不同的设计师在场景编辑器中分开制作。在制作当前场景时,与该场景接壤的几个场景的最新版本都会加载上来,编辑器中可以提供一些方便的工具,便于在接壤处对齐。主要是高度的对齐和贴图的融合。前者通常的选择是高度上用 Smooth 工具平滑过渡到邻接场景,后者通常最简单的处理方法是真正的过渡点两边使用同一种贴图即可,实际的美术风格过渡(如果需要的话)在邻接地图的接壤线附近完成。&br&&br&一些贯穿不同地图的元素(如河流等)可能需要世界编辑器的参与来指定水平面的高度和区域范围之类的参数,但这一类元素通常不会太多,因为它们没有明显的 Gameplay 贡献,反而加剧了不同场景之间的耦合。&br&&br&如果游戏有动态的天气/环境氛围系统,那么不同场景之间需要做一些平滑的过渡,这些程序用普通的插值实现就可以了,设计师一般只用关心当前场景内的表现即可。当然有的游戏这个过渡做的不好,玩家体验非常生硬,也是有的。&br&&br&&figure&&img src=&https://pic4.zhimg.com/dd626dd98dc8a4e748f3407_b.jpg& data-rawwidth=&478& data-rawheight=&348& class=&origin_image zh-lightbox-thumb& width=&478& data-original=&https://pic4.zhimg.com/dd626dd98dc8a4e748f3407_r.jpg&&&/figure&&br&&br&总得来说,这一类无缝大地图的复杂度主要是在编辑器的协同方面(后面我们会再提到),实际的创作复杂度较前面的随机地图生成为低。&br&&br&----------------------------&br&&br&### 3. 卫星地质数据的导入,规整化和再加工(一些飞行模拟类游戏)&br&&br&超大规模的开放性世界地图,还有一类是直接使用卫星地质数据以加强整个世界真实性的。据我所知,育碧出品的 Tom Clancy's H.A.W.X. I & II (就是国内翻译的 鹰击长空 I & II)就是使用了 GeoEye 的商业级高分辨率卫星地图。&br&&br&既然用了真实的卫星地质数据,这一类游戏同样能生成非常震撼的效果,也就不用多说了。找两张截图大家感受一下吧:&br&&br&&figure&&img src=&https://pic4.zhimg.com/ec729b132d78e7ce40f14fe1efb1d8df_b.jpg& data-rawwidth=&844& data-rawheight=&472& class=&origin_image zh-lightbox-thumb& width=&844& data-original=&https://pic4.zhimg.com/ec729b132d78e7ce40f14fe1efb1d8df_r.jpg&&&/figure&&br&&br&这一类的缺点是不能模拟真实世界中没有的环境(当然拿去再创作的不算)。&br&&br&&figure&&img src=&https://pic2.zhimg.com/fd28ccd7e9a4aee822e79abe214ff119_b.jpg& data-rawwidth=&840& data-rawheight=&525& class=&origin_image zh-lightbox-thumb& width=&840& data-original=&https://pic2.zhimg.com/fd28ccd7e9a4aee822e79abe214ff119_r.jpg&&&/figure&&br&&br&这种真实数据的数据源就没什么好说的了,我简单说一下导入后的处理。通常导入后的贴图需要美术在色彩和明暗上二次加工一下,得到和游戏匹配的整体氛围。需要提供比较精确的工具给美术进行高度图和高分辨率纹理的拟合。此外通常这一类地质数据是没有 NormalMap 的,需要提供工具生成一下。&br&&br&还有就是,河流和湖泊这一类水体的处理,3D游戏通常在渲染效果方面对水面特效照顾得比较多。如何生成跟真实环境相匹配的河流和湖泊是一大难点。因为一般游戏里是有一个绝对水平的特效面片的,而如果给真实环境中得来的高度数据上配一个这种特效面片,通常无法跟真实的贴图相吻合(尤其是在山脉和峡谷等地形中的水体)如何提取真实的高分辨率贴图中的水面信息,自动生成对应的3D}

我要回帖

更多关于 浩方正在获取房间信息 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信