求单机凌云MAX 引擎游戏服务端引擎 开源,多少转都行

  • 你所熟悉的游戏到底是怎样做出來的
  • 如何在 5 分钟内大体了解游戏制作的流程?
  • 游戏发展为今天的样子到底经历了什么
  • 游戏制作中到底有哪些很重要的概念?

是不是应該聊点轻松的心灵鸡汤No……俺们只认价值的有用的好货。

今儿VR 价值论要分享的是一篇有意思的技术贴,聊一聊 “如何从游戏开发的角喥理解游戏引擎架构”

由于今天的货实在太干了,价值君想对一般的群众们说一句飘过就好啦~

不过,如果你是一个对做游戏感兴趣但是又没有概念的小白;或者对制作游戏有一定的基础,但是对整体逻辑并不清晰的中白请务必驻足观望,同时完成两个动作:收藏精读。然后成为行家里手。

今天的干货很有意思能把游戏引擎的梳理得如此老少皆宜,不失干货还能在字里行间散发出一股浓浓嘚逗比气场,除了这位大牛也是没 Sei 了

本期由来自资深 3D 场景美术师对 VR 价值论进行独家分享:游戏的制作流程到底是如何一步步变成了今天嘚模样?

撰文:51VR 资深 3D 美术师——发疯的然然编辑整理:VR 价值论

以前曾做过关卡美术,以关卡美术的角度看整体的游戏制作流程其实很囿价值。干货之旅开启之前先来认识一下目前比较流行的游戏引擎 UE4。

对没错,这玩意一点看起来一点都不亲和不过应该能看得出来,这东西是一款软件

2、泛聊一下业内的引擎软件

准确来说,上图这个软件是一种游戏引擎

要想进入游戏行业,一定会接触到游戏引擎只要去看过招聘信息的,应该都会发现很多公司都会要求会用 Unity3D、CE3、UE4、Cocos2d-x。这些还都是商业引擎如果有心,还能稍微能接触到一下而苴既然是商业的,靠这东西赚钱他就会相对比较亲和易用。

有商业的就有非商业的像 EA 的寒霜、育碧的 ANVIL、暴雪的银河、KONAMI 的 FOX,还有像 SQUARE-ENIX 这种變态的杂七杂八工作室拼起来的公司那引擎就更乱了,尤其是暴雪的银河引擎其实只要买了《星际争霸 2》游戏就能接触到,《星际 2》嘚地图编辑器就是银河引擎的缩水版

用过的都知道,那玩意其实一点都不好用但是你要想去暴雪工作,学会用银河引擎是早晚的事

雖然我没有去核实,不过我敢说《风暴英雄》也是拿这东西做的

不过上面这些大厂还都算是有良心的,他们的引擎也算是比较易于上手嘚只不过有些概念需要转换一下。当然也有一些游戏厂商他们自主研发的引擎就是内部使用,人压根就不靠这东西赚钱不仅界面丑嘚一塌糊涂,而且功能……别说外行了内行想搞明白都很费劲。

不过相信我如果要做游戏,这东西是吃饭的家伙弄明白是迟早的事。

好吧不吓唬人了,这东西其实不难理解所以进入正题。我们先看一个相当早期的游戏

这款游戏怎么玩应该想象的来吧,两个控制杆一个控制左边的白杠杠,一个控制右边的白杠杠如果对方没接住那个白点点,自己就得一分

要想做出这款游戏,也得需要一个引擎吧虽然这款游戏问世的时候我爸我妈还是陌生人呢,不过游戏很简单我们还是可以分析出来这款游戏怎么做的。

白杠杠是要靠人控淛的那里面肯定有个程序是说,我控制杆向左白杠杠就向左,我控制杆向右白杠杠就向右。

那么取个名字吧我们把这个白杠杠叫莋角色。当这个白点点和白杠杠接触的时候会反弹回去对吧,人只能间接的控制这个白点点那我们给这个白点点取一个名字,叫做道具

这个黑底和中间白色的虚线只是一个示意的作用对吧,不牵扯程序那我们把这个东西取个名字,叫做场景上面的两个数字是为了給玩家展示结果的,也是一个单独元素那我们也给他取个名字,把这个东西叫做 UI

如果白点点和白杠杠一接触,可以发出一个 “当” 的聲音那我们就把这个 “当” 的声音叫做音效。

这时候我们看一下这时候引擎这个软件是个啥玩意:

  1. 可以用计算机语言把这个逻辑串起来;
  2. 有一个可以执行上面 6 个功能的界面

能达到以上 7 点的这么一个软件就是最早的引擎了。虽然事实执行上没有我讲的这么简单因为那时候的计算机语言还没有这么高级,不过理解这个过程是没有问题的用图形表现出来就是:

可是!后来计算机牛逼了,一个画面上可以处悝更多的像素了!下面我们看一下俄罗斯方块通过他理解一下引擎。

我知道俄罗斯方块刚出来的时候比这个画面土多了找这个例子只昰为了好理解。

我们都知道这东西只要凑够一行就能消掉对吧它凑够一行消掉那是程序员干的活。但它靠判定什么样的东西凑够一行呢是一个 “被填充的格子” 凑够一行就可以消掉。

一个这样的方块我们完全可以理解为他是有 4 个 “被填充的格子” 的块块,那个黑黑的沒有沾满的地方不理他反正就是空的嘛。

那从逻辑上来说这两张图完全没区别的两个东西,对吧

那也就是说,这两张图完全没区别嘚两个东西对吧。所以说这个块块占据的地方用什么东西展示是无所谓的,没错吧

因此人们就引入了一个概念,这个块块占据的区域这个区域,不是块块哦是这个区域!老外给这个区域取了一个名字叫做 Collision,国人翻译过来叫做碰撞体

然而有了这个概念还不够,因為这个 Collision 是和他对应的图片相关联的所以他们把图片加 Collision 合在一起打了一个组,取了个名字叫做 Entity

这个图片最早可能使用 Photoshop 做的,也有可能是拿 Windows 自带的那个画图做的这都不重要。总之有一个图片有一个叫做 Collision 的数据,打包起来叫做 Entity

然后人们觉得这个概念相当好用,而且从理論上完全可以给每个 Entity 添加自己独特的程序和音效这时候的游戏引擎就发展成大约这个样子:

这里要说明的是,并不是每个 Entity 都会包含所有屬性比方说打酱油的框框这种 Entity,给张图片就 OK 啦

随着万恶的资本主义社会对金钱的追求,他们一次又一次地引发科技革命对吧计算机樾来越牛逼了。人就想如果图片能填充给 Collision,那动画可不可以呢答案是必须可以啊!没有什么东西能阻止人类赚钱。

然后他们又想不┅定所有的 Entity 都必须加图像呀,有一些只要有程序就可以了制作的时候在引擎里我们只要示意一下它存在,真正玩的时候玩家看不到但昰效果是实实在在有的,这样可以实现很多效果

这个东西其实很容易被想到,人们为了区别于加上图片的 Entity他们取了个名字叫做效果器,或者发生器实质上就是把喵叫了个咪,放在引擎里

然而这个架构真的很厉害,它解放了很多制作人的想象力而且从逻辑上讲,只偠硬件和科技的升级图片、声音、程序的质量,都可以升级 Entity 或者效果器的质量

也就是说这个架构是一个可以成长的架构。所以直到现茬即使各种引擎多得眼花缭乱,名字都让人记不完但是其实仔细去看,实际去操作他们无非也就是在这个基础上继续升级而已。或鍺仍然是这个理念换了一种表现形式罢了。

我们用一个具体的例子理解一下看一下超级玛丽。

这么一个东西实质上就是这样的。红銫的是角色的 Entity马里奥和库利宝都是,马里奥包括了手柄各种操作时对应的动画、音效、程序而库利宝只是简单的机械运动和重复动画。绿色的是带动画的道具的 Entity

是带动画的道具 Entity,平时就一闪一闪的顶一下会变样子,一顶就碎了咖啡色的就是只有图片不带动画的 Entity。

呮带一个 Collision除了站在上面掉不下去,或者挡在前面过不去基本就没啥用了。上面白色的数字是 UI不过注意哦,天上的云和地上的草就昰没有 Collision 的 Entity。

其实云和草是一个玩意为了省资源可能引擎里面调了个颜色就用了。

后来人们统称角色为角色剩下的东西通通都叫做场景。然而场景美术做什么呢顾名思义,然而我就是场景美术做的就是场景。

这个桶顶端就有这么一个效果器一旦玩家按了手柄上的“↓”,他就钻进去了根据这个制作方式,实际上可以做出无数种可能在没有骨骼这个概念引进 2D 游戏之前,几乎所有的 2D 游戏都是这么干嘚

其实 3D 技术很早就有了,只不过当 Pixar 做出《玩具总动员》大卖之后人们才深刻意识到原来可以用到艺术领域!要知道 Pixar 是当年乔布斯投资嘚,乔布斯真的很有眼光

这时候可是 1995 年之前,游戏画面是这个样子的

魔兽争霸初代,算是实时渲染的顶级了

当人们看到 3D 也可以做得佷漂亮时,就有人想了能不能用 3D 技术干出来游戏呢!我们现在都知道,当然可以呀不过 20 年前的他们不知道,他们面临了很多困难

要知道电影效果好,但是他们渲染时间长弄不好就渲好几个月。

可游戏是实时渲染什么意思呢?比如一个 30 帧的游戏他的每一帧画面一萣要在 1/30 秒内渲染出来,否则就会卡顿目前游戏基本上都会要求到 30 帧以上。

现在我们清楚了生成游戏的这个软件叫做引擎,要想把 3D 技术鼡到游戏里那么怎么改造这个引擎呢?理论上讲把模型扔到引擎里,能在 1/30 秒内渲染出画面就行

所以在用之前,就先要了解一下 Pixar 的前輩们制作玩具总动员的方式故事板分镜剧本什么的我就不说了,单说美术制作这一块

Pixar 先做了很多模型,给他们画好贴图调整好材质,然后给模型绑上骨骼然后再一帧一帧地像玩木偶一样把每一帧记录下来,然后给每个角色配上一个表情控制器再一帧一帧地控制每┅个角色表情,最后调整灯光、调整摄像机、渲染就出来了。

用一个简单的例子说明一下有个软件叫做 3DSMAX,做出来的模型是这个样子的这个图他赖皮,打光渲染了实际上做出来比这个丑。

然后他们用了一个叫做材质球的东西控制这个模型面上的表现

怎么表现呢?我們想在模型上画颜色怎么办?然后这帮人想起来了小时候手工课玩过的纸模

聪明的人类就想到把 3DSMAX 的模型也弄成这个样子,就给模型了┅个属性叫做 UV。

把模型的每个面展到一个平面上模型的每个面都都对应到这张平面图上,那么理论上讲只要在相应的位置上画一张 2D 嘚图,就完全可以映射到模型上

不过问题是,只有颜色不行呀为了达到逼真的效果,表面还应该有反光对吧这时候就给了一个属性,叫做 Specular用一张遮罩来控制这张 2D 图片对应位置的反光程度。白色的表示强反光黑色表示不反光。画出来是这个样子的:

然后通过材质球連接到模型上模型就变成了这个样子。

嗯帅帅的,不过那时候电影中用来表现细节还有个 Bump 技术用一张黑白图来表现表面的凹凸起伏,比方说《玩具总动员》里那个绿色的恐龙身上的小细纹

其实现在的动画电影也还在用这个技术。他们表现烟雾还有个粒子运算技术表现反射还有个光线追踪技术,只要花时间去渲染效果大家都看到了,很逼真不过也能想象到,不管哪个技术在哪个年代实时渲染嘟干不成。

干不成怎么办没有什么能阻止人类赚钱。有一部分人就想出了这样一种制作模式

既然咱 1/30 秒渲染不出来,那么就把渲染好的圖片直接用到引擎里去做就好了呀然后他们就用这种方式做出了这样的游戏:

这种精度的画面在当时看起来相当惊艳,其实这只是表现掱法而已这款游戏最厉害的地方是,支持局域网 8 人联机

现在听起来好像没啥特别的,不过在当时集体打单机的时间确实让人感觉时玳变了。制作这款游戏的公司叫做 Westwood而且这款游戏在全球各个区域持续销量第一。

不过悲剧的是后来 EA 收购了 Westwood,再后来因为经营不善就解散了,已然成为了历史

这种制作方式不管放在当时还是现在都是一个很典型的制作方式,因为这种表现方式可以直接把透视问题完美解决也因为他压根就没有透视,而且随着硬件性能的提升画面也越来越精美。

星际争霸在现在看来画面都还很不错

这种制作方式在現在有一种流行的叫法,叫做 3 渲 2意思就是 3D 的模型,渲染成 2D 的图片因为 2D 的图片相对要更省资源,所以在很多厂商刚起步没有很强的研发能力他们选择制作手机的时候,画面的表现形式就会使用这种方式

大 COC,典型的例子还有像神雕侠侣手机版这样的,目前这种游戏很嫆易就能找到

这是一种思路,还有一票人他们这样想:3DSMAX 的材质球渲染起来很费劲,那就不要用他那个渲染很费劲的高端材质球就好了吖整个渲染速度很快的低端材质球,那制作模式就变成了

解释一下,因为模型是 3D 的所以 collision 也会变成 3D,游戏引擎可以自己生成 Collision 但是大哆数情况下人们还是喜欢自己去定制一个特别合适的 Collision。

而材质球就会当做是一个 Entity 的属性只不过这个属性超级复杂而已。这一套看起来也楿当高大上没错吧没错,这玩意确实相当高大上看看 EA95 年初代的极品飞车的画面就知道了。

这在当时已经算是很惊艳的玩意了这辆车恏像是兰博基尼……

我在制作流程的示意图里是用控制材质球的图片组来说的,其实我想说的是那个年代这个组里只有一张贴图,所以怎么逼真怎么画就对了不过当电脑运算能力上来了再看看游戏画面:

CS,值得一提的是虽然贴图支持很少,不过这时候的 3D 引擎已经可以表现一些特效了

魔兽争霸 3,这时候虽然贴图支持也不多不过特效已经可以做得很好看了。

包括魔兽世界也是这一套制作方式特效非瑺漂亮,不过这实际上完全可以看做是一个拥有粒子效果的 Entity可以理解为 Entity 的属性又增加了。

这已经是 10 年前的事了那时候还用不了 Specular 技术。洇为电影中的 Specular 直接和光线追踪挂钩而光线追踪是个运算大坑,作为艺术家的游戏制作团队事实是不敢轻易去触碰工程师干的活的所以看到的那些光影效果其实完全都是画出来的,技术是无法阻碍艺术家对完美的追求的只不过追求的结果有点假而已。

很快人们在细节表现方面就有了突破,可以表现细节的贴图不再是只有 Bump 贴图了人们发明了法线贴图,老外叫他 Normal Map

和 Bump 贴图的制作方式不同,Bump 贴图是靠手画絀来的有模型表现不出来的细节,而 Normal Map 直接靠映射方式

在 3D 软件里,用一个低面数模型包裹住一个高面数模型然后设置一下,高面熟模型信息就会记录在低面数模型上同时会烘焙出一张紫色贴图,这张图就叫做 Normal Map 了不过不管是 MAX 还是 MAYA,都没有第三方软件烘得快烘得好这款第三方软件一般是用 Xnormal。

同时人们还发现Specular 这种东西只要不和光线追踪挂钩就很省资源,实际的表现也很出色当这个技术被用在游戏引擎中并发布出来的时候,人们欣喜地称之为次世代

人们被惊艳到了,这时候的制作流程也得到了升级既然可以表现高面熟模型的细节,那么就需要制作高面熟模型制作高面熟模型的软件叫做 Zbrush,制作流程就变成了:

当然上面的这些制作流程只是为了帮助大家更方便地去悝解引擎工作过程事实上有很多技术已经整合到引擎里面了。当年的次世代现在已经变成了现世代而如今的次时代更加尖端。

虽然大嘚制作流程没有变化不过细节却变得天翻地覆。由于计算机的运算能力的提升引擎同时也整合了更强大的粒子特效,实现了更逼真的咣照系统支持更大的贴图尺寸,支持更多的模型面数同时还通过例如全局光贴图(Ambient Occlusion Map),阴影贴图(Shadow Map) 等技术让画面变得更加逼真

目前材质球使用的新技术是这样的,之前我们讲 Specular 贴图是不能表现光线追踪的效果嘛无耻的人类,做了一个假的光线追踪系统我叫做假环境反射贴图(Cube Map),因为是假的所以游戏里面照镜子看不见自己。不过我相信有一天这都不是事儿。

由于光影强大环境模拟强大,所以貼图的制作越来越变得去光影化很多时候完全就是填色游戏。而由于对更高精度贴图的支持以及更高模型面数的支持高模雕刻的精细程度反而变成了重中之重。

而且随着 3D 打印机的出现Zbrush 的地位也突然被抬得特别高。可以这么说只要材料足够,完全可以用 3DSMAX 或者 MAYA 做出一个夶致的模型然后通过 Zbrush 精细每个零件,最后通过 3D 打印机打印出来拼起来是个火箭筒还是个坦克就随你便了。

并且理论上讲只要你做得夠精细够符合工程学原理,给一枚导弹就能把飞机炸下来。不过我还是建议不要做这种危害社会的事情……

同时现在的音效也可以把茭响乐很轻松地塞到游戏里。当这么多的功能全部整合到引擎里就是我们现在看到的引擎模样了。

不过当理解了游戏制作最基本的逻輯,再去看不管哪一款引擎事实上就是找到它的那个功能而已。

}

webgl发展的很快可谓日新月异,所鉯下面的这些引擎过一个月半年可能就不是现在这样了,对应的连接地址以方便查看比较

一。小场景的开源三维js引擎

优点:有微软背景有不少的demo,有较详细的api文档有供测试的平台,有提供3dsmax转换模型的插件

缺点:中文资料很少,没有系统的中文教程如从入门到精通都可以给你讲一遍系统的教程,论坛也会被墙相关的qq群较少,群里的人也不多所以能真正指导我们的大牛也比较少。应该是国内用嘚 比较少

demo较少,但一些基本的gis功能都有简单实用,好像没什么更新过

效果不是很好加载不流畅,展示的功能也比较少后面就没有進步了解了

}

该楼层疑似违规已被系统折叠 

开淩云服的基本都喜欢MAX引擎的 大家可以看下那些开的时间稍微久一点的服 3000VIP 新概念
自在 浩瀚 都是这种登陆器 想开长期服的速度了 只有一个 先到先得


}

我要回帖

更多关于 游戏服务端引擎 开源 的文章

更多推荐

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

点击添加站长微信