背景介绍

北京时间3月16日,索尼在GDC 2016上公布了其虚拟现实头盔——PS VR消费者版的售价:399美元(约合人民币2600元)。同时,著名电子游戏《孤岛危机》开发商Crytek发布了新一代游戏开发引擎(也是虚拟现实内容制作引擎)CryEngine V,并原生支持虚拟现实设备。而在此之前,Oculus、HTC也都先后召开过发布会,推出了自家的VR设备(Oculus和HTC VIVE)。

三大头戴显示器的相继亮相,游戏开发引擎的发布……让虚拟现实成为了2016年最大的风口。作为游戏行业的从业者,许多人从两三年前Oculus初亮相之际便一路跟随。本文的作者便是其中一员。

笔者所在的团队自2015年上半年便结合之前制作Xbox One体感游戏所积累的体感交互经验,开始进行VR游戏的预研工作。在这近一年的时间里, 一方面从外界感受到了一股虚拟现实快速发展的潮流,另一方面也体会到身边很多人对VR游戏的了解非常有限。现在我们自己的VR游戏Demo已经完结, 技术上验证了在当前的硬件条件下,开发高画质游戏的可行性。

当然,优质的VR游戏需要大家共同的努力, 我们也希望更多的人参与进来。在此把我们在开发过程中学习到的, 体会到的,以及所期望的进行一下总结,希望对大家有所帮助。

VR硬件原理及现状

----------------------------------------------------------------------------

狭义上的”VR硬件”,特指具有沉浸感的头戴显示器。它有三个基本特征:

全3D的立体显示:附合人眼观看现实物体的习惯,能够”以假乱真”

完全虚拟的画面:需要屏蔽外界光线的干扰,你所看到的都不是现实的东西。有些人可能觉得”增强现实(AR)”更高大上一些,但是对于游戏,我认为还是更倾向于VR。玄幻,魔幻,科幻,一切皆为虚幻。

不受限制的视角方向:视角方向跟随头部转动和移动,不同于之前的头戴式显示器,视野非常广。

当然,仅仅是这样的体验,并不能说是完美的”虚拟现实”,这也是很多人说硬件不成熟的理由。但是,在保证体验良好的的情况,目前的硬件已经满足做出高品质游戏的条件。下面对当前的硬件做一些技术分析:

VR显示的基本原理

首先,我们来一下满足上面提到的三个基本条件的最廉价产品,Google的Cardboard:

插入手机做为显示屏幕,通过分屏的方式处理双眼的画面,达成立体画面显示

借助纸壳屏蔽外界光线干扰,通过透镜就可以观看到手机渲染的虚拟画面

依赖手机内置的陀螺仪,可以模拟出头部转向时视角的变化。另外,凸透镜在一定程度上增加了FOV(FieldOfView,视场角)

Cardboad以低廉的价格,让很多人提前感受到了VR的魅力,并衍生出了很多塑料壳的版本。不过从体验上来说,Cardboard并不能算是一个合格的VR硬件,很多人在试玩过后,就自然而然地以为”VR就是那么回事”,“目前硬件还差得远”,“也就新鲜几分钟”等等,从一定程度上误导了很多人对VR的认知。

那Cardboard存在哪些问题呢?

严重的画面延迟:手机陀螺仪模拟的转向精度和响应速度都不满足VR的要求,造成渲染的画面跟不上转头的速度,加重了晕动症

糟糕的画面表现:手机性能不足以支撑高画质高帧率的3D画面渲染,只能呈现出一些简单的卡通风格画面,达不到”以假乱真”的程度,影响了沉浸感

缺乏自然的交互:由于手机的限制,目前没有配套的头部和手部的定位方案,从交互上很难做到让人满意的程度,只能依赖蓝牙手柄这样的传统输入设备

当然,还有一些其它的小问题,比如手机发热,起雾,过重,画面变形等等,这些虽然不是影响体验的主要因素,但在使用上也是挺烦人的。接下来我们看看Oculus针对这些问题是怎么解决的,或许这也能解释两者之间的价格差异为什么这么大。

不受限制的视野

如果需要达到逼真的视觉体验,视野必需尽量接近真实。这需要满足两个条件:一是接近人眼的FOV,二是跟随头部运动的视角。

上图左很直观地说明了人眼的FOV特点:双眼的覆盖范围是不同的,两只眼睛加起来可以超过180度。当然,在平面的液晶屏上很难做到这种效果,所以目前的主流VR硬件(不包括Cardboard)大多是用凸透镜做到了100~110度左右的FOV,虽然没有达到自然视野的程度,但相对于传统FPS游戏(FOV50~60度)来说,是个巨大的进步,直接影响到UI设计,交互,性能,场景设计,镜头等方面。为了解决近距离通过透镜观看画面的变形问题,我们需要对画面进行反向的变形校正:

然而,在很多Cardboard游戏上,正常双视口渲染的画面,经过BarrelDistortion变形这一步是省略掉了的。

FOV越大,光线的折射率也就越大,光线的散射现象也就越明显,给人的感觉就是画面边缘的像素出现了重影。

所以,变形后还需要对色散问题进行校正,即ChromaticAberration,这样通过透镜观看时才不会出现色彩分离的奇怪现象。

空间定位能力

头部的运动追踪,Oculus增加了一个外置的红外摄像头用于头显的空间定位,它同时也可以用于双手控制器(OculusTouch)的定位。

当然,这种定位方式也存在FOV的问题,只适合桌前的小范围运动。对于大范围的移动,HTCVive的Lighthouse技术更有优势,可以在5x5m的范围内自由移动:

空间定位技术的引入,直接改变了游戏的操作方式,从”指令式”操作逐渐变成类似”体感”操作的自然交互体验,UI也就不再拘泥于2D,开始向3DUI转变。

主流VR硬件参数

这里有一张表格,可以大体上说明2016年的主流VR硬件的参数(DK2和GearVR是很多人都体验过的,做为对比也加进来):

硬件 分辨率 刷新率 FOV 特定控制器 平台
Oculus DK2 1920x1080

(Pentile)

75 100 —- PC
Oculus Rift 1080x1200x2 90 100 Oculus Touch PC

Oculus

HTC Vive

(SteamVR)

1080x1200x2 90 110 SteamVR

Controller

PC

Steam

SONY

PSVR

1920x1080

(RGB)

60/120 100 PS Move PS4
Gear VR 2560x1440 60 96 Touch Pad Android

Oculus

从中表格中提供的数据,结合一些现场体验可以分析出一些关键信息:

三家VR设备的FPS和FOV差异并不大,这方面在体验上差距很小。PSVR的120FPS是60帧插值出来的,并不是实际的渲染帧数

三家VR的控制器都趋于一致:双持手柄,有空间定位能力,可以模拟双手操作。这就为我们进行VR游戏的交互设计提供了很好的指引,引擎层面可以进行统一抽象,不用再为每个设备单独设计

分辨率相对于DK2都有改善,但受限于OLED屏幕技术和硬件性能限制,还达不到视网膜屏的程度,像素点肉眼仍然可见,但已经不会影响游戏画面的观看

PSVR由于受限于PS4的机能限制,无法在分辨率上占有优势,但是可以通过像素排列和镜片技术减少纱门效应(ScreenDoorEffect),即像素间空隙(OculusDK2上非常明显)

每家的硬件都会依赖一个内容发行平台,与主机游戏的运作思路很像,这也决定了VR游戏的设计思路

另外值得关注的是GearVR,算是最早商业化的平台硬件,提供了比Cardboard更好的体验,但同样受到机能的限制。预测手机VR方案几年后会推动VR设备的普及,毕竟手机是人人都有,买个配件的成本还是可以被很多人接受的。

Motion-To-Photon延迟

有一个参数是表中没有的,那就是延迟。我们先来给出定义:从用户开始运动到看到屏幕上产生相应变化所需的时间:

从上图可以看到,从传感器采集,经过线缆传输,游戏引擎处理,驱动硬件渲染画面,液晶像素颜色切换,到人眼看到对应的画面,中间经过的每一个步骤都会产生延迟。要想达到理想的状况,需要硬件和软件优化的紧密配合。目前公认的可以被多数人接受的VR延迟是20ms,很多VR硬件只是传感器和液晶屏的时间就已经超出范围了。

对于VR硬件来说,低延迟才是核心竞争力。但目前延迟缺少一个测试和评估标准,所以很难通过公开的数据评估每个设备的体验效果。如果以20ms为一个临界值,可以说其它品牌的VR设备大部分都不合格。

VR体验目前的主要问题

----------------------------------------------------------------------------

VR游戏在当前的硬件条件下,仍然存在一些问题。我们做为开发者,必须搞清楚每个问题产生的原因,能够解决的解决,不能解决的回避,在此基础上才能做出良好的体验。

晕动症

“晕”可能是第一次体验VR的多数人最直接的感受,就像晕车晕船般的感觉。很多人可能只是因为这个原因就会放弃对VR游戏的期待,掉入”VR目前不成熟”的圈子里。那为什么VR游戏那么容易晕?

1。你没动,画面动了:VR游戏体验者通常身体是静止不动的,如果游戏中看到的是各种加速/旋转/震动等,正常人都会受不了,跟晕车晕船的原理是一样的

2。你动了,画面没跟上:这就是上文提到的延迟,很多时候,硬件附合要求了,游戏却帧数不够,同样也会造成严重的延迟现象。

3。体质原因:比如有人有恐高症,放到一个悬崖边的虚拟场景里,也会触发心理和身体的反应。

原因1可以从游戏设计上进行回避,但是目前来说很多需要跑步和跳跃的游戏受限比较大。原因2的话,主流硬件在延迟上都是满足要求的,做为开发者更多的是需要做好性能优化。原因3,从我们组的几个人感受来看,随着体验次数的增加,症状会越来越轻,这表明人的身体是可以适应的。而且,适当地增加一些让身体有所反应的游戏场景,也不失为一种乐趣。

缺乏好的交互方式

VR头戴显示器看以看作是一个显示输出设备,那对于游戏来说,还有另外一种重要的硬件:输入设备。在VR游戏中,键鼠的操作方式首先就可以放弃了,因为看不到,只能盲操作。游戏手柄的话算是一种折衷方式,但并不能发挥出VR的潜力。理想的输入设备其实是双手,这也是最自然的方式。遗憾的是,不管是Kinect,还是LeapMotion,都无法完美地支持双手交互的精度。所以,目前主流的VR控制器还是以双持手柄为主,预计要2016下半年才开始上市。在拿到OculusTouch之前,我们尝试了基于Kinect体感的VR交互方式,虽然并不完美,但已经能够看出未来的交互设计雏形了。

GPU性能不足

BarrelDistortion变形后带来一个问题:中心区域像素分辨率的损失,也就是说中心区域的像素被放大了,边缘区域的像素被压缩了。但是人眼对于视野中心的像素清晰度非常敏感,为了保证清晰度,需要把原始渲染分辨率提高,以保证变形后的画面能够达到液晶屏的像素密度。

以OculusRift为例,屏幕分辨率为2160x1200,渲染分辨率需要长宽各提高到140%,即3024x1680,再加上90FPS的帧率要求,每秒需要渲染的像素达到了4。5亿个,相当于当代主机(XboxOne,PS4)游戏的7倍,与4k分辨率游戏所需要的硬件差不多。为了保证体验,他们规定了一个最低配置,叫做OculusReady的标准:CPUi54590,内存8G,显卡GTX970。

虽然PS4的渲染性能远远达不到GTX970的程度,但是相对于PC来说,它可以提供一致的体验,这对VR来说非常重要。毕竟就算你的游戏画面再好,如果一玩就晕得想吐,那也不会是一个好游戏。不过好在离VR普及还有一段时间,足够让OculusReady的PC成为大众配置了。

佩戴舒适度

很多近视玩家会担心不能使用,其实主流的显示设备都可以戴眼镜观看。至于戴着舒不舒服,那需要在工业设计上进行迭代优化。就目前来看,SONY家的头显最舒服,Oculus家的手柄最舒服,HTC家的功能最强。除了平台独占的VR游戏,多数会同时兼容三家的设备,所以从体验上来说,差别不会太大。

VR游戏与传统3D游戏的开发差异

----------------------------------------------------------------------------

VR游戏在开发制作上的差异,远远没有很多人想象的那么大,更多的是设计上的思路转变。所以,想要开发VR游戏,前提是能够开发一个3D游戏,核心还是游戏本身,VR只是体验上的增强。如果要写一个”VR游戏开发教程”,那么其中90%的东西,与VR并没有直接关系。但是,这10%的差异,却是VR的核心竞争力,因为它可以带给你”前所未有”的体验,为我们进行游戏玩法创新提供了非常大的发挥空间。

玩法

与主机游戏类似,注重核心体验,即Camera,Control,Character。可能很多人会觉得VR游戏只适合做FPS,其实并不是这样。只要保证沉浸感良好,什么类型的都可以做,RTS,MOBA,AVG,MMOG等等都可以。需要关注的核心点是Camera和Control,这直接关系到玩起来晕不晕,能够玩多长时间。只有保证操作体验和沉浸感过关,游戏的玩法才有意义。

当然,VR给我们也提供了一些新的特性,可以用于玩法设计中:

由于头部运动追踪的存在,点头和摇头的操作是可以被识别的,这就意味着很多Yes/No的操作可以直接通过头显输入。

头部的朝向可以灵活变化,当你”盯”着某个物体看时,可以针对这个行为做出相应指令,具体可以参考GearVR上的Land’sEnd。

由于360度视角方向不受限制,我们可以在背后做一些场景改变,让每次转头看到的场景都不一样,既能做成惊喜,也能做成惊吓。

头部不仅仅可以转动,还可以配合身体小范围移动,比如SummerLesson中凑近NPC,NPC会害羞…Vive的一个上帝视角Demo可以蹲下看到地底下打地道的小兵。

VR渲染可以调整WorldScale,即世界单位缩放,相当于动态调整自身相对于场景的比例,既可以做成巨人的视角,也能做成蚁人的视角。

因为VR世界中的单位可以与现实不一样,那么一些类似”缩地术”的功能也变成现实,通过身体小范围的移动,达到虚拟世界中的大范围移动效果。

双手控制器的存在可以模拟一些抓,扔,摸,打等的操作,捡起一个道具上下左右仔细看也是很有意思的一件事,可以把迷题设计在道具的隐藏角落里。

VR中有了双手的存在,很多解迷机关就不再是简单的按一个键,各种零件组合,机械,绘画等对于双手控制器来说都是很棒的操作体验。

控制器的握持感,非常接近于游戏中的手持武器,比如枪械,比如刀剑,这比握着一个鼠标或者手柄的感觉强多了。得益于高精度的传感器,做出具有竞技性的操作玩法也不是不可能。

双手具有天然的空间感,一些建造类的玩法也非常适合,比如MineCraft,比如Besiege等,UE4甚至尝试了在VR中进行场景编辑。

由于3D音效的加强(下面会提到),“听音辨位”就可以做得更真实,各种潜入类玩法非常适合。

另外,由于沉浸感的增强,恐怖游戏和XX游戏带给人的感官刺激会放大,这就不用展开了,试过就知道。

图形

如果以OculusReady的硬件标准,基本上可以预期的画面表现力差不多相当于上代主机的画面,即Xbox360和PS3后期的水平。我们试做的VR游戏Demo,在项目启动时的规格比较高,GTX970+OculusDK2的硬件下,经过优化可以流畅运行,下面是最终版的技术选型,给大家做参考:

PhysicallyBasedMaterial:物理光照材质算是主流技术了,但是相应的性能开销也会大一些

SphereReflectionCapture:反射效果和各种高光材质就靠Cubemap了

BakedStaticLighting+BakedAmbientOcclusion:即能用静态光照就用静态的

GlobalDynamicShadowMaps:仅仅是主角和大件遮挡物

InstancedStaticMesh:对于性能的提升非常明显,大量的优化是基于Instanced技术

Bloom+ColorGrading:多数的后期镜头效果在VR中并不适用,因为是通过双眼直接观看,并不像传统游戏那样通过”摄像机镜头”观看。而且,为了性能,能关的都关了…

FXAA:理论上来说TemporalAA更适合消除远处的SpecularAliasing,但是会导致近处HUD的文字和纹路受到影响,解决之前先用FXAA代替。

当然,如果具有足够的优化功力和场景设计技巧,也不排除GTX970+OculusRift流畅运行的可能,但这并不适合多数的团队。

美术制作方面,有些资料会说NormalMapping和BillboardParticle不再适合VR渲染,其实并不是这样的。这些效果只是在近距离观看时才会发现很假,远处随便用,不用担心在制作上与传统3D游戏的差异。近距离的话,只能使用ParallaxMapping和MeshParticle之类保证不穿帮,但是极少数情况需要这样,跟场景和特效设计有关系。总体上来说,美术的制作与传统3D游戏差异并不大,除了UI。

图片来自EIPC的ShowdownDemo

交互

由于目前主流的VR操作设备已经趋于统一,大家都有这么几个特征:

可以模拟双手的空间位置和旋转

通过手柄上的按钮触发指令型操作,如抓住,发射等

仍然保留传统的”摇杆”,但比较少用到

这里有一个OculusToyboxDemo的演示视频,能够很好地说明VR下的人机交互是什么样子的:

图片来自Oculus的ToyboxDemo

视频演示:Toybox Demo for Oculus Touch - Inside Look

可以预见到,基于双手的物理交互会越来越多,也就意味着物理模拟在VR游戏中的应用会更普遍一些。

同样的,UI的设计已经不再推荐2D平面化,更加倾向于3D的效果,如科幻风格的全息投影,或者使用实体模型。或许,以后VR游戏中的”UI”改由3D美术来制作了。

图片来自网络

音效

传统的3D游戏音效,一般是通过音量变化判断距离远近,通过频率变化判断相对移动。以空间定位为例:

左右:通过左右声道的音量差异区分

前后:通过多声道的卫星音箱或多声道耳机区分(不适大多数人)

距离:通过音量的衰减判断

高低:冒似没什么好办法…

在VR中立体声耳机是可以随着头部转动的,这就意味着,我们可以通过两个声道配合转头来判定上下左右前后

图片来自OculusConnect_Introduction_to_Audio_in_VR.pdf

同样的,头部除了转动之外,还可以小范围移动,不用通过走动就能判定声音的远近。以前相当于背景音的环境音效,现在也能分辨出大概的方位

图片来自OculusConnect_Introduction_to_Audio_in_VR.pdf

因此,在VR游戏中,3D音效会被越来越多的人重视起来,甚至发展出新的玩法,比如Pastoral这个游戏。

有兴趣的同学建议搜一下这篇文章: VR中的声音听起来体验如何?和传统音频有什么区别

想听一下效果的,,可以看一下这个Demo: Spatialized audio demos in VR

VR游戏后续发展期望

----------------------------------------------------------------------------

主机平台现在有一类游戏,以高画质剧情体验为主,操作非常简单,俗称”游戏电影化”。目前VR圈也有很大一部分人在尝试VR电影的制作,但是基于360度视频的拍摄手法在VR的沉浸感并不是很好,而且传统的电影拍摄手法也不适合VR视频制作。所以,电脑制作的3D动画类电影在VR化方面具有先天优势,再结合VR头显的一些输入特性,甚至会产生”电影游戏化”的产品。另一方面,以UE4为代表的游戏引擎,实时渲染的画面效果已经达到了CG级别,在技术上具备了制作实时渲染电影的能力。可以预见到,未来的VR互动电影与VR游戏,它们之间的边界会变得十分模糊。

EPIC’sInfi(微博)ltratorTechDemo

下面这个是国外的VR主题公园THE VOID,相信不久的将来,这种体验可以像电影院一样普及。

自动播放开关自动播放

THE VOID 全球首家虚拟现实主题公园 预告片

<>
  1. THE VOID 全球首家虚拟现实主题公园 预告片
  2. 带虚拟现实属性的机窗
  3. 震撼的Unity 5.4电影级实时渲染技术演示Ada...
  4. VDGER分享主题公园六旗于虚拟现实过山车
  5. 【pangolin】空间定位系统实拍测试视频
  6. 视频: 智囊:情节1 -VR虚拟现实_VR资源网(VR...
  7. 【创客星球】宝马百年庆典主题 下一个100年
  8. InMind VR Trailer
  9. 迪士尼宣布将建造“星球大战”主题公园
  10. 315晚会二号消费预警:警惕智能硬件漏洞
  11. 英国又一主题公园将推出虚拟现实幽灵列车
  12. 超大的虚拟现实体验中心

随着技术的进步和成本的下降,VR和AR会跟智能手机一样进入我们生活的方方面面。对于VR游戏来说,很多人也跟我有一样的梦想,希望在有生之年,可以把它变成现实:

揭秘VR游戏开发:与传统3D差距仅10% 低延迟是核心相关推荐

  1. 走进VR开发世界(4)——走进VR游戏开发的世界

    注: 原文2016年2月发表于公司内部社区, 最近才由同事转载出来, 删去了文中引用的一些内部文章和视频. 在这里我也只是把外网版本转过来, 留做备份. 背景介绍 我们组在2014年下半年尝试开发了一 ...

  2. 走进VR游戏开发的世界

    原文地址:http://geek.csdn.net/news/detail/76504 我们组在2014年下半年尝试开发了一款Xbox One平台的体感游戏,2015年上半年进行收尾工作的同时,结合之 ...

  3. 100天学会VR游戏开发

    最近看了一篇关于VR的文章,没事干就在翻译,希望对其他人有所帮助. 第一次翻译,不足的地方还请包含和纠正. 原文链接: https://medium.com/@skynite/100-days-of- ...

  4. 虚幻引擎VR游戏开发基础教程

    虚幻引擎VR游戏开发基础教程 了解如何使用 Oculus Quest 2 的蓝图在虚幻引擎 4 中从头开始构建基本的 VR 机制 课程英文名:Unreal Engine VR Development ...

  5. 从零开始丨使用Unity3D进行VIVE VR游戏开发

    从零开始丨使用Unity3D进行VIVE VR游戏开发 SteamVR插件的导入 使用Unity3D进行VR游戏的开发,首先需要具备以下条件 1 拥有一台显卡不低于GTX960性能的主机 2 拥有一部 ...

  6. Silverlight C# 游戏开发:L5 3D基本的灯光

    Silverlight C# 游戏开发:L5 3D基本的灯光 我们在设计和开发3D的时候最常用的就是灯光,它有的时候比摄像机还要重要,一些花哨漂亮的表现主要通过灯光实现,相比场景中只有一个的主要摄像机 ...

  7. 视频教程-Layabox3D游戏开发入门-微信3D小游戏案例 -微信开发

    Layabox3D游戏开发入门-微信3D小游戏案例 有多年Unity程序开发经验,有策划和美术设计的经验.愿意在csdn这个平台和大家一起分享! 金龙 ¥29.00 立即订阅 扫码下载「CSDN程序员 ...

  8. 区块链游戏开发颠覆传统游戏开发的 5 种方式

    区块链技术已在许多行业中使用,但它尤其扰乱了游戏行业.区块链游戏开发并不是一个新概念,但还是比较新的.公司现在正在寻找在他们的游戏中使用区块链技术的方法. 区块链游戏开发颠覆传统游戏开发的一些方式 包 ...

  9. 项目三:基于vizard软件的VR游戏开发

    项目三:基于vizard软件的VR游戏开发 [知识点笔记] 1.了解 Vizard 的所有模块内容: 参阅 Vizard 命令索引(help>Introdution>welcome> ...

最新文章

  1. 信鸽 ios tag推送 php,iOS 关于信鸽推送点击推送通知的处理
  2. eclipse 切换svn账号
  3. JSON Undefined 问题
  4. [react] React15和16别支持IE几以上?
  5. java 序列化异常_关于spring:Java序列化异常消息
  6. 第5章 广义与一般线性模型
  7. 【QT】Qaction和触发函数建立连接的方法
  8. layDate时间控件
  9. 算法笔记练习 题解合集
  10. 数据库面试题及优化手段
  11. python中三角函数计算
  12. Java笔记17:JAVA常用函数
  13. HDU 5234 Happy birthday 最多蛋糕
  14. 掌握微信小程序 this 指向,轻松编写高质量代码
  15. 为什么自建 UI 框架?
  16. MyBatis-Plus DML与乐观锁
  17. 我的世界java版的马难以驯服_我的世界:这几种生物很难驯服,最难搞定的就是它了!...
  18. 从0开始安装OpenMediaVault
  19. Spark RDD案例(五)经纬度转换为地理位置
  20. JVM内存模型总结,有各版本JDK对比、有元空间OOM监控案例、有Java版虚拟机,综合学习更容易!

热门文章

  1. 【java】判断一个数是奇数还是偶数
  2. 假设某专业有若干个班,每个班有若干学生,每个学生包含姓名和分数,这样构成一棵树,如图1所示。假设树中每个结点的name域均不相同,该树采用孩子兄弟链存储结构,其结点类型定义如下:
  3. oracle natural join qualifier,自然连接(natural join)
  4. 中科大和东北大学计算机考研,中科大计算机研究生一个月补助多少阿
  5. 熔断器 java_防雪崩利器:熔断器 Hystrix 的原理与使用
  6. 【Python网络爬虫】百度贴吧/豆瓣小组
  7. 解决IDEA.java文件显示不正常,左下角显示J问题(项目路径导入错误!)
  8. 财务人员python教程_财务有必要学python吗
  9. 解决数据迁移过程中主键冲突的问题
  10. iot-Scada免费Scada组态软件系列教程4-二次开发与版本部署