VR·鬼打墙
在桌面放上三个小方块,
等哥们带上vr设备以后,偷偷拿掉其中两个。
但是戴着设备的人眼里还是这样的,有三个并排的小方块:
但是他每次伸出手去摸小方块的时候,摸来摸去还是同一个。
摸右边的,
摸中间的:
摸左边的:
这个的原理在于,修改了vr里面的rendering,手的方位和真实世界的景物都被细微修改了。
因为手的移动是跟视觉反馈结合在一起的,虽然视觉上感觉物体在正前方,但当手伸过去靠近物体的时候,发现手的移动方向和看到的不一样,人就会慢慢调整手的方向,直到摸到物体。
类似的,如何在小房间里玩大地图VR游戏。
怎么才能在狭小的房间玩大宫殿的VR游戏,可能跑几步路就撞到墙了。
因为大家走路的时候 每一步歪上一点角度其实自己是感觉不到的。
所以就有了这么一个项目,
左上角是虚拟世界里走的路径,右上角是实际走的路径。
这是一个室内场景,由Unity 2018渲染而成,虽然模型大都比较粗糙,但是光影看起来也可圈可点,那么,重点来了!这个场景里,其实既没有真正的光照,也没有我们通常理解的“反射”和“阴影”,所有的光照阴影都是烘焙成贴图,直接贴在模型上的,反射主要用了屏幕空间反射,就是说如果看不到一个东西,那他就不会出现在反射里……正对着摄像头的那面玻璃的反射看起来非常清晰,嗯没错,那是直接在玻璃的另一边加了一个摄像机,并且把摄像机渲染的结果放到玻璃上……那么这个问题其实应该改一改题目,不应该是“有哪些骗人眼睛的技巧”,而应该是“有哪些不是骗人的确实的技巧”……
以上
即便巫师三这种的大作,效率和客户端体积并不代表无节制的放任。
注意看刀砍开人物的一瞬间,模型其实是被替换成通用的一个血人。
这里并不是所有处决都会用到这个替身法,只是在分尸的情况下,人形怪都会用到通用的。
如果是BOSS(还没证实巫师三里是不是,反正我们当时就是这样做的)可以特殊待遇一下,给它专门制作一套碎尸···
大多数的arpg游戏,人物在场景中的移动是确实在移动,只不过摄像机是永远跟随你,看起来反而是场景在移动。
而在太空中飞行的游戏,就不太一样了
像这种开阔空间的场景,很难设置一条真正意义上的路线让你运动(因为只是交代作战环境在太空中,但是并不想让你抵达某个星球。)
所以如何让飞船看起来是行动的呢?答案就是场景参照物。(开头飞出机舱的确实是移动了,但是到了空以后就静止了)
拿这个Cosmos Warfare vr说吧,虽说灵感就是来源于瓦尔基里,但是因为平台不一样,体量不一样,还是花了不少心思的。
首先一张天空盒打底做背景,然后在远处放一些雾片贴图,这里因为手机性能问题,无法使用体积雾,效果差了eve一条街,但是该放还得放,用来产生远近感。
另外做一些陨石和略过的大型母舰(母舰要离得摄像机近一些,好产生对比的位移感),这些东西都是向后移动的,包括一些星星点点。
最巧妙的一个地方就是远处的那颗星球,除了填充背景的画面功效外,它是有这自转的,而注意了:
星球如果偏左,就会由右向左转;星球如果偏右,就会由左向右转。
具体的感官表现就是通过它的转向营造一种飞船向前行动的错觉,因为占了画面的1/2所以速度感交代的最多的物体就是它了。
当然我们也试过向着上述中反方向转,结果反而是倒着在飞。
正是如此,如果没人太注意这些小细节其实不大会发现飞船其实是静止的这件事情。
当然,还是受平台约束(手机VR嘛),不然还能填充更丰富的内容,让效果更逼真。
这种视觉上的震动效果,给人感觉就是整个场景都在晃动。
其实嘛,这就是最简单的瞬间改变摄像机的位移手法,营造震动的效果。
上图鬼泣4的画面中,除了纵轴的超轻微抖动外,还有一个摄像机拉近的过程做特写。
用细微抖动来交代多HIT的命中表现,而拉近镜头特写(镜头四周还有模糊效果)作为终结技的交代,两者结合特效和音效,一气呵成,让动作的表达淋漓尽致。
4.实时验算过场
战神中用到的很多,就是在切换场景时,其实传统游戏做法应该是切入loading页面了,但是战神中并没有,只是会触发一段无法跳过的剧情或者是行走一条长路。
场景渲染总量还是有一定的限制的,哪怕不是同屏表现内容,也不是无尽大的,但是为了切换顺畅,就特意做一段验算动画事件,或者路径(欣赏风景)这种手法,实现无缝加载新场景的效果,看似很自然,其实背地里做了一些羞羞的事情。
在一些单机第一人称射击游戏中,有没有注意到是看不到脚的。
对,你怀疑的没错,因为没必要看到的东西是可以省去不做的,实际上它可能就是两双手而已···
并且摄像机的位置并不在头部,而且胳膊的长度和比例均非常人比例。
如图,你可以自己比划一下这个动作,眼看前方(假设前方有个敌人)
你会发现,这种角度的持拳,你压根是看不到拳头在哪。
而游戏不能这样做,否则前方空空如也,都搞不清是干嘛。
所以会降低一定的摄像机高度,并且延长胳膊的位置(肩膀的位置往前移)
好让手部的动作处于画面中下方,能让你看清楚你正在做什么,然而实际上打架,除了防御时会用来遮挡面部,不然全程举这么高,不累慌么。
1.2D精灵粒子(感谢评论区指出!!!)
很多游戏的树木其实只是一个静态的2D图片,然后你在游戏里面走动的时候,那些静态的2D图片在不断的调整Z轴,使树的图片正面永远朝向你(还是不明白吗?想想向日葵的性质?)。这类素材在手游上尤其见得多。端游CSGO里面的燃烧瓶火焰效果其实也是这样做的,CSGO只渲染了一个2D的火焰燃烧效果,但是通过不断调整Z轴使得这个2D效果一直正对着摄像机(玩家),具体可以看下图我用红线划出来的地方,这就是2D图片密度不够,导致中间有间隙,从而露馅了。
手游,例如绝地求生刺激战场的烟雾弹和远景的树木房子其实都是这样的。
请仔细观察上图 左下角的树木和右上角树木的区别
2.无限滚动条
很多游戏里面都有无限滚动的滚动条,或者一些横版过关跑酷类游戏的底板都会无限滚动,其实他们是做了一个具有重复特征的图片,然后按一定的时间频率来不停的移动,移动距离就是这个重复特征的高或者宽,如下图所示,这是我自己做的一个《男人就下一百层》的小游戏中,侧边墙面的滚动。
https://www.zhihu.com/video/9873309511727390723.法线贴图技术
拿王者荣耀小乔这款价值上百的缤纷独角兽皮肤来看。这款皮肤的扇子部分有着凹凸不平的纹理,如果将这个凹凸不平的效果直接做在模型上,那么就会导致模型的多边形面数增大,影响游戏性能。而有了法线贴图技术,我们只要把模型做成平整光滑的样子,然后再通过法线贴图的RGB通道来读取出原始贴图对应像素上XYZ坐标轴上的法线偏移角度(还记得初中物理学光的反射吗),根据这个法线角度计算出此处的反光量和反射方向等等,从而使得此处的平面光滑模型看起来具有层次感和凹凸感。由于在Z轴上法线通常是不会偏移的,因此Z轴对应的B通道比较多,所以法线贴图看起来都是蓝色的。
我们可以看到原始的扇子上是没有明显同心圆层次的
5.静态反光(灯光烘培)
指的是将反光效果直接事先通过灯光烘培系统烘培到贴图上,然后无论场景光源怎么变化,实际模型上的反光效果都不会有任何变化(因为反光效果已经固化在了贴图上),这也是为什么王者荣耀等手游画质看起来普遍很假的一个原因,毕竟手机的GPU性能有限。
我们可以看到整个场景在没有任何光源的情况下,小乔模型的胸部和腹部仍然有反光效果,这是因为贴图本身固化了反光效果,和shader着色器共同作用产生的材质效果看起来就像真的有反光一样。
(细心的同学注意到了这个模型的面部怎么没有贴图,而且没有眼珠子???嗯你可能猜到了,眼珠子也是贴图的一部分,永远是一个固定的黑色圆点,包括嘴巴也是,所以你看LOL,王者荣耀之类的游戏人物永远是一副面瘫的样子,囧~)
6.伪抗锯齿
众所周知,抗锯齿是一项非常消耗显卡和显存的操作,但是像茂密的树丛,可能有几千甚至上万片树叶,要对他全部做抗锯齿,需要多重采样以及各种算法计算,可能显卡吃不消,因此游戏开发者可以采取反其道而行的办法,比如说进行模糊和虚化来消除锯齿。
为了启动机器上的unity,找到以前王者荣耀资源包导出的模型,我的老爷机卡了半天才打出的这个答案,你们看完之后不赞一波吗(๑ŐдŐ)b
最后留给大家一个小问题,CSGO观战模式下,在某个点位看天空会出现“极昼”现象,猜猜这是怎么回事呢?
有好事者把《生化危机4》的摄像机挪了挪,然后留下了不少有意思的画面。
1、首先是开头,两个西班牙警察小哥开车送三光去目标地点调(tu)查(cun)。中途其中一个小哥内急下车解决。
游戏中的镜头是这样的:
但实际上就算往下移也没什么,因为真的什么都没有。
2、然后就是这个无线通讯的画面了。游戏中,Hunnigan会多次通过这种方式与三光取得联系:
三光也不时通过言语进行一番挑逗。不过把镜头稍微转一下:
近在咫尺都把不到,三光你说自己是不是没女人缘(总统千金表示有话说)。顺便,Hunnigan是没有下半身的模型的。
20岁这位也是如此:
当然少不了我们的教主:
3、第一次与巨人交战前,有一个过场是“村民合力将巨人拖了出来”。
但实际上巨人是直到最后一刻才出现的,在这之前村民们拖的都是空气。
4、装备界面。
不同次元的2D UI、3D道具箱以及人物模型叠加起来形成了咱们在游戏中实际看到的样式。
5、游戏中必须去到的一片熔岩区域。
镜头拉远后长这样:
6、一次脸都没露过就被火箭筒击坠的直升机飞行员Mike:
很多游戏都有火车关卡,看上去是角色在飞驰的火车上战斗,特别带感。
但为了制作起来更简单,这一类火车关卡往往是采用火车不动、场景动的骗人技巧,让场景向后不断移动,给人一种火车向前行驶的错觉。
不过这样骗人也有缺陷。那就是火车只能走直线,玩家很容易发觉这趟火车跑起来四平八稳,真实感上不免要打些折扣。
直到2009年《神秘海域2》那个经典的火车关卡面世。
这一关里,火车依次通过了森林、湖泊、隧道、雪山四个场景,道路蜿蜒曲折,脚本演出和场景过渡都非常自然,营造出强烈的真实感。神海2虽诞生于09年,但这一段就是放在现在也相当出彩,称得上业界标杆。
那么,神海2火车关到底是怎么做出来的呢?我社最近的一篇文章就解释了这个问题。
https://www.zhihu.com/video/980095346331992064起因是YouTube上的一位游戏播主Freako最近制作了一期视频。他使用游戏中的调试菜单还原了神海2火车关真正的运行方式,揭示了藏在这个经典关卡背后的设计思路。
Freako通过调整摄像机的位置发现,神海2里的火车是实际运动的。它在一个巨大的场景中沿着环形轨道不断循环,以这种方式解决了静态火车只能走直线的问题。
接着,他又加速了游戏时间,发现游戏场景不会随着时间推移而改变,四个场景并非直接相连。
火车首先会在一个巨大的环形轨道中不断循环,只要玩家不在火车中前进,场景就不会变化。而且这个场景非常大,火车跑上一圈需要很长时间,玩家就很难发现场景其实是重复的。
但这样一来,就引出了另一个问题。如果这4个场景不是连在一起的,场景之间的切换如何能不被玩家看出破绽呢?
Freako再次通过调整机位找到了答案。
顽皮狗将切换场景的触发点精妙地放置在过场动画中,比如从湖泊场景切换到隧道场景这里,会有一段德雷克开门的动画,此时以玩家的视角,是看不到外界环境的。就在这一瞬间,场景开始切换。
几乎每一次场景切换都会伴随过场动画,而此时,火车、飞机、角色的位置都是固定的,玩家的位置对动画没有任何影响。由于衔接和过渡做得好,玩家很难看出破绽。
比如从森林进入湖泊:
比如从隧道进入雪山:
想要实现这一套东西,远没有看上去那么简单。顽皮狗的一位负责人曾在GDC2010的演讲中提到,由于火车关没有采用常规的静态关卡,从角色移动、敌人AI到武器瞄准坐标等基础设计几乎全都要推倒重来。
为此,他们甚至开发出了一套名为动态物体遍历系统的技术,专门用于运动场景中。这一系列的复杂设计也使火车关成了神海2整个开发流程中最早开始并最晚结束的一部分。
自神海2之后,这种让火车“动起来”的技术在游戏界似乎正变得越来越成熟,比如《刺客信条:枭雄》的火车任务似乎就采用了相似的手段(只不过远没有神海2这么精致)。
回到“开发游戏时,有哪些欺骗人眼睛的技巧(trick)?”这个问题,它乍一看好像是游戏开发者投偷懒,非要骗玩家。
但要想实现神海2这样的火车关卡,可以说高端的技术和细腻的设计缺一不可。即使知道了实现方法,这一套操作也是小规模公司学不来的。正因如此,即便你已经知道了它是骗人的,也依然会被它的一气呵成所折服。
首先快乐和价钱可能没有很大关系。
花钱买来的东西可能带给我的是满足感和获得感,并不一定是快乐。
而且总觉得,挣钱使我快乐,花钱好像没那么快乐。。。。
图书馆很安静,拿一个水杯,备一点茶叶,泡上一杯茶,一本书,开始我的心灵之旅。
浩瀚的书海,任我选择。
不管是文史哲,还是自然科学类的,我都会看看,了解这个世界,了解自身。
最近在图书馆发现了很多好书,并且发现大多数的书,都可以在图书馆找到,包括网络小说。
既避免了买书不读的苦恼,又可以有几乎无穷的挑选空间。
因为正常上班期间下班图书馆就闭馆了,所以我又寻找到第二件快乐的事
我们这里有个开到晚上十点半的新华书店。
主要图一氛围,办了个年卡,平均一天一块钱,二楼雅座,放着音乐,提供免费的饮水。读不完的可以借一本回去接着读。
有时候,我坐在那里不读书,只是歇着。有时候睡一觉,有时候观察周围的同好,有时候下楼观察路来路过的行人,写一个人物素描。有时候点起一支烟和门口的大爷聊聊天。
悠哉悠哉。
偷得浮生半日闲,一白天的喧嚣,任务,蝇营狗苟,都沉淀或者远离。
这就是我想要过的生活。
之前在网上看到一组关于程序员的漫画,觉得用来回来这个问题很贴切!侵删
-----------------------------------------我是分割线-----------------------------------------
请各位大佬支持一下我的这篇原创问答:
在某省厅任职,受单位委派,在某大山深处农村扶贫。
真实体会到什么叫做世人皆苦。
1:海拔1800米的山上,128户农民世世代代以种植中药材为生。最近的公路在海拔700米的山腰。山体几成垂直状,垂直高度1100米,修上去需要新建道路14公里,仅仅修一条毛路(不包含硬化和安装安全设施)需要投资5600万元。修路难度十分大,经常有滑坡和塌方。三分之二以上的路段需要砌挡墙。当地是国家级贫困县,县委书记县长都来看了,苦于没钱,一直没有修路。后来我们找到资金修了一段,发生滑坡和塌方事故,紧急停工。现在正在重新论证,确定方案,确保万无一失之后再开工。
山上原来没电,我们到了之后协调上级机关化缘,花费130多万元给他们通了电。130多万元,30万元的设施设备安装费用,100万的人工运费。所有的铁塔、水泥桩、电线、水泥全部靠人工背上去。
山上的农户每年上千吨的中药材,都是人背马驼弄下山,每天一个来回,基本全年无休。
那一村子的人,祖祖辈辈,哪个不苦?
下图是施工现场。深山老林,悬崖峭壁,绝大部分路段都要用石头修建挡墙,所以造价特别高。
2:两兄弟,左边的是哥哥,右边的是弟弟。
猜一下哥哥多少岁?才40多岁。是不是看起来像50多岁了。
两兄弟住在后面的木屋里,房子是父亲从别人手里买的。只看得到一角,其实已经快要垮了。
哥哥已成家,有一个小孩10左右,在山下上小学,周一到周五住校,每周生活费5块钱。那孩子有农村人的那种淳朴,但是也有小孩子的顽皮。夏天了,还穿着一双长筒水靴。有次去小学打球乒乓球,他给我买了一瓶矿泉水,我不要,硬要给我喝。最后走的时候把我的乒乓球送给了他。
两兄弟都是贫困户。哥哥患有口腔病,牙齿全部掉光了,只能吃流质食品。因为常年进食流食导致营养不良,身体虚弱无力,无法外出务工。妻子忍受不了贫穷逃跑了。现在靠务农为生。
弟弟30多岁,没成家。早年在外务工,现在在家务农。兄弟两相依为命。
不好意思,不能放小孩子的照片,感觉于心不忍。
想想十几年都只能吃流食喝稀饭,苦不苦?
3:70多岁的老人,与老伴相依为命。儿子快50岁未成家。儿嫌家贫,多年未归。两个老人没有固定收入来源,自种自收。
70多岁的年龄,吃穿住无着落,儿子面都见不到,苦不苦?
4.在贫困地区扶贫,见过了太多太多贫困的人,再怎么心如钢铁都被化了。所以针对扶贫工作,我是真觉得太有必要了。有些老百姓,真的过得太苦了。
只希望自己能时刻保持赤子之心,永远记得自己是农民的儿子。希望将来能为这些人做一点事情,让这样的事情少一点。
感谢大家的鼓励。
其实我也是农民的儿子,我以前也见过穷人。但是我家不像这个地方,这个地方是连片贫穷。我相信任何一个人看到整片地区的人都处于这种贫困状态,才能真正体会到什么叫做世人皆苦吧。
评论里讨论最多的就是修路不划算。我多说几句。
单纯从花钱的多少来说,将128户易地搬迁确实花不了5000多万。但是搬家并不能让他们摆脱贫困。
很多人有一个本末倒置的认识,大家都以为贫困户贫穷是因为他家房子在山上,所以他贫穷。其实这种认识太片面。
他们贫穷的本质,是他们缺少生产资料,或者是生产资料不能转化为经济效益;另外一种贫穷的原因就是他们有生产资料,也能转化为经济效益,但是他们刚性支出远远大于自身所拥有的生产资料转化成的经济效益,入不敷出,就变贫穷了。
分别举一个例子。比如一个家庭在农村没有任何土地(土地被水冲毁、自然灾害泥石流、滑坡等),那他家唯一的生产资料就是农户自己的体力,或者说他们家根本就没有生产资料;第二种,比如他们家有土地,但是壮年劳动力全部去世或者生病,导致土地没人耕种,这种就是有生产资料但是没办法转化为经济效益;第三种就是家里有地也有人耕种,但是家里有人生大病每年需要医药费几十万导致家庭贫穷。
以上土地只是一个比喻,也可以替代成其他生产资料。
那么我们来看一看,如果单纯的移民和给资金,能不能让群众彻底摆脱贫困呢?
显然是不行的。把老百姓从他常居住的地方搬走,即使给他建了房子,他有土地吗?他们还是没有生产资料。就算再补一笔资金,可以想见的是,补助资金肯定不会太大,政府也没有那么多钱来无限制的补助贫困户不是?那么这笔钱,他到了城镇能用多久?城镇的消费水平他们是否跟得上?
也就是说单纯的搬迁和给钱并不能从根本上解决贫困。解决贫困的最好办法是让其家庭发展产业,并将产业转化为经济效益。这才是长久的办法。
结合到实际,就是三个方面,第一是要让群众有生产资料,第二是让他们的生产资料转化为经济效益,第三是对大额刚性支持予以短时间的补助。生产资料方面,大部分群众都是有土地的,如果没有土地,那就用集体经济组织带动,让他享受集体经济组织的生产资料。关键是第二步,怎么将生产资料转化为经济效益?那就需要将他们生产的农产品运出大山,减轻他们的成本,增加他们的利润。这就涉及到修路。所以修路是解决他们这个地方长期贫困、整体性、区域性贫困的基础。第三种就是家里有大病、残疾的,可以适当的、小范围的给与政策保障。
如果扶贫只是单纯的给钱给物,那是没有任何意义的。因为经济的流动性注定了贫困户的钱会流向社会。只有发挥他们的能动性,让他们自己有创造财富的能力,才能保证他们真正脱贫。而政府要做的是,帮助他们挖掘潜能,寻找资源,带动他们自己自力更生。
虽然我们投入了近6000万,看似很大一笔资金,但是这些资金投入,无论是近期、中期还是长期都是利于老百姓的。近期看,修路需要附近的老百姓出力,他们可以获得劳务报酬,可以顺便带动一部分家庭增收脱贫;中期看,修路能够减轻上面中药材种植成本,老百姓利润更高;远期看,公路沿途群众都能受益,以后山上的资源也有了开发的基础,能够带动整片大山的群众脱贫。
把6000万分给128户,只有这128户能脱贫;修路,能让整个山区脱贫。