游戏角色模型导入游戏引擎模型需要制作到什么程度?

游戏引擎是什么?怎样开始做一个游戏,需要用到哪些技术?
我想利用寒假制作一个游戏,(之前上课用c#什么的做过连连看,但是是winform),对于制作一个游戏完全没有想法?请指教。
开发一个游戏,特别是三维游戏,要包括很多共同的内容:如图形的渲染,物理的计算,关卡和地图编辑,UI,游戏智能,网络通信等等。游戏引擎就是把这些功能封装起来,提供给游戏开发者一个高层的接口,使开发人员能用更高层的眼光来进行设计和开发;而且,写好一个引擎,能开发类似的新游戏,减少重复的劳动。比如,图形渲染部分,也是一个游戏引擎最重要的部分,如果直接使用DirectX或者OpenGL开发游戏,你需要考虑的就是一个个三角网格(或者多边形网格)顶点格式,纹理贴图的存储,光照方程等等底层的内容;而使用游戏引擎,把一个场景中物体抽象出来,你只需要告诉,用那个模型文件,物体的在场景的什么位置等比较高层的信息,绘制的工作就由引擎完成。游戏引擎另一个重要的部分就是提供一些工具和脚本的支持。所以不少游戏开发者是在写脚本而不是C#,C++这些语言,这样的效率会高很多。
我刚毕业出来的时候也是做游戏的(ios平台),使用cocos2d框架。其实那个东东(cocos2d)某程度上也可以说是引擎了,提供方便的图像绘制,音效,输入输出,物理模拟等等。 其实我觉得要开始做一个游戏,首先要明确游戏是“玩什么”,而不是“用什么做”。正如有人能用路边石头画出蒙罗丽莎,有人用金银做的笔直线也画不出来。 我的经验是这样:先要有一个策划案,去确定你游戏的目的,比如马里奥去魔城救公主,那么现在就有两个人物,一个场景和一个任务了!(视觉,精神目标)然后,怎么才能达成救公主的任务呢?只要马里奥走到公主面前就可以了。(交互操作)没有障碍的话怎么能叫“救”公主!加个高台,挖个断层,再来个敌人!(挑战性,获取成功感)敌人不会动?太可怕了。让它来回巡逻。(人工智能)如果多个敌人巡逻怎么办?马里奥其实是官二代,说打就打!(逻辑)好了,上面是随便的一个策划案,做出来的话大概就是简化版的马里奥第一关,操作角色向前走,越过障碍,踩扁敌人,最后到了公主面前。 c#也可以完成吧,就是绘图,键盘输入,判断碰撞。至于2d3d,管他那么多,游戏的影都没看见就自己烦死了,多不值得,不如把注意力放到核心上面。
某小妖口头禅,在文中如果出现TMD、NND、2B、狗屎……之类,请自动屏蔽,仅为口头禅,与人身攻击神马的无关。 游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。大部分都支持多种操作平台,如Linux、Mac OS X、微软Windows。游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。 =========分割线================以上答案来自百度对于游戏开发者来说,引擎可以理解为一个封装好的盒子,它的功能是提供调用接口,好让一些复杂的事情通过这个盒子之后变的简单。 举个例子,我们要在计算机上渲染一个3D的场景,而从实际上来说,显示在你的电脑屏幕上的只是一张带有深度感觉的2D图片。(不能理解的翻相册,看看自己的照片,您老不论多么3D的脸庞,印在照片上之后都是一个平面,就在那张纸上。之所以你还是觉得自己看起来是立体的,是因为有了深度感的颜色变化和光影变化。)对于游戏场景来说是一样的。 首先美术创建了许多3D模型,而这些3D模型分解起来就是许多的三角形包围出来的密封体。然后在这模型基础上,美术绘制了一层叫做贴图的东西,这东西很像人的皮肤,于是……一个模型就诞生了。 接着,我们发现,通过画法几何,3D几何等学术内容的一大堆算数结果……(这点是凑字数的,看不懂没关系,我也不懂)我们得到一个结论,我们在这个模型的前面摆上一个摄像机,摄像机的视角是扇形范围内的一小块,在这一小块范围内,我们能看到的内容,我们先称之为摄像机视角。不难发现,物体的背面,我们是看不到的(除非你丫转视角),两个物体之间的前后关系,是通过遮挡关系来实现的,除此之外,这个视角下的内容符合我们一切所熟知的光学原理……漫反射、反射、折射、光吸收、投影……想想你的高中物理知识,你不难得到结论:想要描述一个物体,我只需要描绘关于这个物体的全部光信息就可以了。 那么…………我们得到了一套可以通用的算法,我们把这套算法称之为绘制物体时所需要的算法。 转头看来代码层……如果你每去创建一个物体,都用这种反锁的方式去写一套算法给这玩意儿……你不觉得你很脑残么……于是,就有了这个封装盒子。当然,绘制一个3D图形只是这个封装盒子其中一部分功能。 我们一般把引擎分为:客户端引擎和服务器端引擎。他们分别提供不同的借口,来解决不能的问题。 客户端引擎是我们接触的最多的,它关联的内容包括,骨骼动画、材质、shader、特效、渲染………………等等等。 but!!! 这个非常重要,我因为我见过很多2B跟我在这儿瞎得得! 引擎并不包含功能,或者是引擎并不包含逻辑。比方说,你TM要写一套组队功能,对不起,引擎不管你这事儿。 ================================以下是对程序猿同学的建议程序猿分很多岗位。对于不同开发需求,会要求程序猿会不同的语言和开发工具。e.g:游戏引擎程序猿一般要求是会C++,但是熟知数学、3D数学、至少你要明白四元数是个什么玩意儿,如何做矩阵叉乘。 客户端程序猿是看开发需求,一般要求是C++、C、或者是脚本语言,例如python。 页游程序猿,主要是服务器端程序猿和前端程序猿,前端程序猿的要求一般是as架构。 手游程序猿……以前是JAVA,现在是了解APP平台和APP开发工具,还有些什么玩意儿,不是很清楚。 此外,会有公司要求你熟悉引擎,比如说,熟悉BG、GB,UE,CE。还有一些引擎本身支持跨平台。例如UE,他支持家用机平台开发,手游开发,客户端游戏开发,等等。 但总体来说万变不离其宗,看好C++走遍天下都不怕~
游戏引擎就是个现成的软件,里面有很多已经好多写好的函数,有现成的用可以省不少力气,而且有二维三维的图形、动画、声音等有专门模块编辑。3d游戏引擎的话,BigWorld是挺多游戏开发用的,不过也可以自己做引擎。
做游戏还是要从策划开始,制作过程中肯定是要编程和美工的。(自己用过Stonetrip 的shiva引擎做过小游戏,这款引擎是lua构建的,可以跨平台发布)
游戏引擎是什么?问题问的还是蛮好的,首先要知道游戏引擎是啥。有C\C++基础的话建议学习使用 Ogre ,跟着官方的Tutorial写点代码,然后自己去写个完成度比较高的Demo。2D的话就Cocos2dx吧。零基础的话Unity大法咯,随便拖几下也能出点东西。怎样开始做一个游戏?可以参考这个 - 需要用到哪些技术?C/C++ : 这个绝对是做游戏的屠龙宝刀。OpenGL/DirectX: 图形的API必须学会一个。图形学:这个觉对视做游戏的葵花宝典。线性代数:图形学的基础。推荐书《Ogre3D Beginner's Guide》《游戏引擎架构》《Real Time Renderring 3rd》《Game Code Complete 4rd》
学会做软件先,游戏就是软件的一种而已。推荐尝试下unity3d,好东西
如果只有一个寒假的时间的话,我就只推荐1个引擎了。不要被
同学说的吓倒,用这个引擎,你不需要知道3D、Shader、C++、骨骼动画,你甚至都不需要知道初中以上的数学知识。当然,只用小学数学知识也够了。这个引擎就是:你看,我没有骗你吧,这是个2D 引擎,所以你不需要了解任何3D 知识。当然,Shader 之类的还是需要的,只不过那是引擎需要知道的,你不需要知道。下面是几个特点:支持 Linux、Mac OS X 和 Windows;采用 Lua 语言,你如果学过 C# 的话,学习 Lua 大约需要0.5~7天(超过7天的话,就不要学编程了)就能上手了;语法简单,范例众多;部署容易。基本上就是一个可执行文件;文档很干净,有中文版:开源。Lua 是最快的脚本语言,她足够小,足够简单,足够专注。摘一点东西:下面是一个完整的 L?VE "hello world"源代码。运行这个代码,屏幕上会显示一个 800 x 600 的窗口,然后在黑色背景的窗口中显示一些白色文本。
function love.draw()
love.graphics.print('Hello World!', 400, 300)end绘制一个矩形:love.graphics.rectangle("fill", 20, 50, 60, 120 )当然,如果你一定需要Shader 的话,当然也是有的:另外,如果你学习 Lua 超过7天的话,我还有一个引擎介绍给你。那就是 Flash。
我做了一个游戏,卖得特好,想做二代,发现大多数一代的代码都能直接用二代做完了,另一家公司想做一个差不多的,给我一笔钱,拿我的代码换皮他们觉得我的代码太难读了,让我帮他们整理一下文档和接口,这个很麻烦,但我觉得要是整理出来可以一直卖钱整个市面上全是同一个类型的游戏,太无聊了,我终于明白是我毁了整个行业
最基本的就是一组API或者工具包让你更容易创造和操控在屏幕上运动和显示的物体。了解引擎然后开始开发游戏最快的方式就是使用一个引擎,如果有C#基础,可以下载FlatRedBall,然后按照Tutorial做一个游戏,只需要一下午你就能了解引擎和游戏的工作原理然后开始做游戏。
你会c#,那么就听说过 开发框架 了。和那个东西一样。如果知道cms那就更好理解了,连前台模版都现成的。想做什么网站,就很简单的事情了。游戏引擎也一个道理。游戏引擎什么语言,你就掌握什么语言总是错不了的。
已有帐号?
无法登录?
社交帐号登录如何在 5 分钟内成为游戏引擎的行家里手?
编者按:本文转载自转载自微信公众号 VR 价值论(vr-value),转载时已获得作者授权。
本文您将了解到:
你所熟悉的游戏到底是怎样做出来的?
如何在 5 分钟内大体了解游戏制作的流程?
游戏发展为今天的样子到底经历了什么?
游戏制作中到底有哪些很重要的概念?
是不是应该聊点轻松的心灵鸡汤。No……俺们只认价值的有用的好货。
今儿,VR 价值论要分享的是一篇有意思的技术贴,聊一聊 “如何从游戏开发的角度理解游戏引擎架构”。
由于今天的货实在太干了,价值君想对一般的群众们说一句,飘过就好啦~
不过,如果你是一个对做游戏感兴趣,但是又没有概念的小白;或者对制作游戏有一定的基础,但是对整体逻辑并不清晰的中白,请务必驻足观望,同时完成两个动作:收藏,精读。然后,成为行家里手。
今天的干货很有意思,能把游戏引擎的梳理得如此老少皆宜,不失干货,还能在字里行间散发出一股浓浓的逗比气场,除了这位大牛,也是没 Sei 了
本期由来自资深 3D 场景美术师对 VR 价值论进行独家分享:游戏的制作流程到底是如何一步步变成了今天的模样?
撰文:51VR 资深 3D 美术师——发疯的然然,编辑整理:VR 价值论
作者心里话:
以前曾做过关卡美术,以关卡美术的角度看整体的游戏制作流程,其实很有价值。干货之旅开启之前,先来认识一下目前比较流行的游戏引擎 UE4。
1、啥叫 UE4?
彻底晕了。
对,没错,这玩意一点看起来一点都不亲和,不过应该能看得出来,这东西是一款软件。
2、泛聊一下业内的引擎软件
准确来说,上图这个软件是一种游戏引擎。
要想进入游戏行业,一定会接触到游戏引擎,只要去看过招聘信息的,应该都会发现,很多公司都会要求会用 Unity3D、CE3、UE4、Cocos2d-x。这些还都是商业引擎,如果有心,还能稍微能接触到一下。而且既然是商业的,靠这东西赚钱,他就会相对比较亲和易用。
有商业的就有非商业的,像 EA 的寒霜、育碧的 ANVIL、暴雪的银河、KONAMI 的 FOX,还有像 SQUARE-ENIX 这种变态的杂七杂八工作室拼起来的公司,那引擎就更乱了,尤其是暴雪的银河引擎,其实只要买了《星际争霸 2》游戏就能接触到,《星际 2》的地图编辑器就是银河引擎的缩水版。
用过的都知道,那玩意其实一点都不好用。但是你要想去暴雪工作,学会用银河引擎是早晚的事。
虽然我没有去核实,不过我敢说《风暴英雄》也是拿这东西做的。
不过上面这些大厂还都算是有良心的,他们的引擎也算是比较易于上手的,只不过有些概念需要转换一下。当然也有一些游戏厂商,他们自主研发的引擎就是内部使用,人压根就不靠这东西赚钱,不仅界面丑的一塌糊涂,而且功能……别说外行了,内行想搞明白都很费劲。
不过相信我,如果要做游戏,这东西是吃饭的家伙,弄明白是迟早的事。
3、最早的引擎
好吧,不吓唬人了,这东西其实不难理解,所以进入正题。我们先看一个相当早期的游戏。
这款游戏怎么玩应该想象的来吧,两个控制杆,一个控制左边的白杠杠,一个控制右边的白杠杠,如果对方没接住那个白点点,自己就得一分。
要想做出这款游戏,也得需要一个引擎吧,虽然这款游戏问世的时候我爸我妈还是陌生人呢,不过游戏很简单,我们还是可以分析出来这款游戏怎么做的。
分解一下:
白杠杠是要靠人控制的,那里面肯定有个程序是说,我控制杆向左,白杠杠就向左,我控制杆向右,白杠杠就向右。
那么取个名字吧,我们把这个白杠杠叫做角色。当这个白点点和白杠杠接触的时候,会反弹回去对吧,人只能间接的控制这个白点点,那我们给这个白点点取一个名字,叫做道具。
这个黑底和中间白色的虚线只是一个示意的作用对吧,不牵扯程序,那我们把这个东西取个名字,叫做场景。上面的两个数字是为了给玩家展示结果的,也是一个单独元素,那我们也给他取个名字,把这个东西叫做 UI。
如果白点点和白杠杠一接触,可以发出一个 “当” 的声音,那我们就把这个 “当” 的声音叫做音效。
这时候我们看一下这时候引擎这个软件是个啥玩意:
可以做一个角色;
可以做一个道具;
可以做一个场景;
可以做一个 UI;
可以加音效;
可以用计算机语言把这个逻辑串起来;
有一个可以执行上面 6 个功能的界面。
能达到以上 7 点的这么一个软件就是最早的引擎了。虽然事实执行上没有我讲的这么简单,因为那时候的计算机语言还没有这么高级,不过理解这个过程是没有问题的。用图形表现出来就是:
4、万恶的技术革命
可是!后来计算机牛逼了,一个画面上可以处理更多的像素了!下面我们看一下俄罗斯方块,通过他理解一下引擎。
我知道俄罗斯方块刚出来的时候比这个画面土多了,找这个例子只是为了好理解。
我们都知道这东西只要凑够一行就能消掉对吧,它凑够一行消掉那是程序员干的活。但它靠判定什么样的东西凑够一行呢?是一个 “被填充的格子” 凑够一行就可以消掉。
一个这样的方块,我们完全可以理解为他是有 4 个 “被填充的格子” 的块块,那个黑黑的没有沾满的地方不理他,反正就是空的嘛。
那从逻辑上来说,这两张图完全没区别的两个东西,对吧。
那也就是说,这两张图完全没区别的两个东西,对吧。所以说这个块块占据的地方,用什么东西展示是无所谓的,没错吧?
因此人们就引入了一个概念,这个块块占据的区域,这个区域,不是块块哦,是这个区域!老外给这个区域取了一个名字叫做 Collision,国人翻译过来叫做碰撞体。
然而有了这个概念还不够,因为这个 Collision 是和他对应的图片相关联的,所以他们把图片加 Collision 合在一起打了一个组,取了个名字叫做 Entity。
这个图片最早可能使用 Photoshop 做的,也有可能是拿 Windows 自带的那个画图做的,这都不重要。总之有一个图片,有一个叫做 Collision 的数据,打包起来叫做 Entity。
然后人们觉得这个概念相当好用,而且从理论上完全可以给每个 Entity 添加自己独特的程序和音效。这时候的游戏引擎就发展成大约这个样子:
这里要说明的是,并不是每个 Entity 都会包含所有属性,比方说打酱油的框框这种 Entity,给张图片就 OK 啦。
5、2D 游戏井喷了
随着万恶的资本主义社会对金钱的追求,他们一次又一次地引发科技革命对吧,计算机越来越牛逼了。人就想,如果图片能填充给 Collision,那动画可不可以呢?答案是必须可以啊!没有什么东西能阻止人类赚钱。
然后他们又想,不一定所有的 Entity 都必须加图像呀,有一些只要有程序就可以了,制作的时候在引擎里我们只要示意一下它存在,真正玩的时候玩家看不到,但是效果是实实在在有的,这样可以实现很多效果。
这个东西其实很容易被想到,人们为了区别于加上图片的 Entity,他们取了个名字叫做效果器,或者发生器。实质上就是把喵叫了个咪,放在引擎里。
然而这个架构真的很厉害,它解放了很多制作人的想象力。而且从逻辑上讲,只要硬件和科技的升级,图片、声音、程序的质量,都可以升级 Entity 或者效果器的质量。
也就是说这个架构是一个可以成长的架构。所以直到现在,即使各种引擎多得眼花缭乱,名字都让人记不完,但是其实仔细去看,实际去操作,他们无非也就是在这个基础上继续升级而已。或者仍然是这个理念,换了一种表现形式罢了。
我们用一个具体的例子理解一下。看一下超级玛丽。
这么一个东西,实质上就是这样的。红色的是角色的 Entity,马里奥和库利宝都是,马里奥包括了手柄各种操作时对应的动画、音效、程序。而库利宝只是简单的机械运动和重复动画。绿色的是带动画的道具的 Entity。
是带动画的道具 Entity,平时就一闪一闪的,顶一下会变样子,一顶就碎了。咖啡色的就是只有图片不带动画的 Entity。
只带一个 Collision。除了站在上面掉不下去,或者挡在前面过不去,基本就没啥用了。上面白色的数字是 UI。不过注意哦,天上的云和地上的草,就是没有 Collision 的 Entity。
其实云和草是一个玩意,为了省资源可能引擎里面调了个颜色就用了。
后来人们统称角色为角色,剩下的东西通通都叫做场景。然而场景美术做什么呢?顾名思义,然而我就是场景美术,做的就是场景。
这个桶顶端就有这么一个效果器,一旦玩家按了手柄上的“↓”,他就钻进去了。根据这个制作方式,实际上可以做出无数种可能。在没有骨骼这个概念引进 2D 游戏之前,几乎所有的 2D 游戏都是这么干的。
6、3D 技术
其实 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,再后来因为经营不善,就解散了,已然成为了历史。
这种制作方式不管放在当时还是现在都是一个很典型的制作方式,因为这种表现方式可以直接把透视问题完美解决。也因为他压根就没有透视,而且随着硬件性能的提升,画面也越来越精美。
帝国时代 1 / 2
星际争霸,在现在看来画面都还很不错
暗黑 1 / 2
这种制作方式在现在有一种流行的叫法,叫做 3 渲 2。意思就是 3D 的模型,渲染成 2D 的图片。因为 2D 的图片相对要更省资源,所以在很多厂商刚起步没有很强的研发能力,他们选择制作手机的时候,画面的表现形式就会使用这种方式。
大 COC,典型的例子。还有像神雕侠侣手机版这样的,目前这种游戏很容易就能找到。
这是一种思路,还有一票人,他们这样想:3DSMAX 的材质球渲染起来很费劲,那就不要用他那个渲染很费劲的高端材质球就好了呀。整个渲染速度很快的低端材质球,那制作模式就变成了。
解释一下,因为模型是 3D 的,所以 collision 也会变成 3D,游戏引擎可以自己生成 Collision ,但是大多数情况下人们还是喜欢自己去定制一个特别合适的 Collision。
而材质球就会当做是一个 Entity 的属性,只不过这个属性超级复杂而已。这一套看起来也相当高大上没错吧,没错,这玩意确实相当高大上,看看 EA95 年初代的极品飞车的画面就知道了。
这在当时已经算是很惊艳的玩意了。这辆车好像是兰博基尼……
我在制作流程的示意图里是用控制材质球的图片组来说的,其实我想说的是,那个年代这个组里只有一张贴图,所以怎么逼真怎么画就对了。不过当电脑运算能力上来了再看看游戏画面:
CS,值得一提的是,虽然贴图支持很少,不过这时候的 3D 引擎已经可以表现一些特效了。
魔兽争霸 3,这时候虽然贴图支持也不多,不过特效已经可以做得很好看了。
包括魔兽世界也是这一套制作方式。特效非常漂亮,不过这实际上完全可以看做是一个拥有粒子效果的 Entity,可以理解为 Entity 的属性又增加了。
这已经是 10 年前的事了,那时候还用不了 Specular 技术。因为电影中的 Specular 直接和光线追踪挂钩,而光线追踪是个运算大坑,作为艺术家的游戏制作团队事实是不敢轻易去触碰工程师干的活的,所以看到的那些光影效果其实完全都是画出来的,技术是无法阻碍艺术家对完美的追求的,只不过追求的结果有点假而已。
7、3D 技术的发展
很快,人们在细节表现方面就有了突破,可以表现细节的贴图不再是只有 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 打印机打印出来,拼起来是个火箭筒还是个坦克就随你便了。
并且理论上讲,只要你做得够精细够符合工程学原理,给一枚导弹,就能把飞机炸下来。不过我还是建议不要做这种危害社会的事情……
同时,现在的音效也可以把交响乐很轻松地塞到游戏里。当这么多的功能全部整合到引擎里,就是我们现在看到的引擎模样了。
不过,当理解了游戏制作最基本的逻辑,再去看不管哪一款引擎,事实上就是找到它的那个功能而已。
题图来源:
有好的产品或者项目希望我们报道,猛戳这里
全新爱范儿 App 现已适配
Android 及 iPhone
使用微信扫码关注爱范儿微信公众号
关注爱范儿微信号,连接热爱,关注这个时代最好的产品。
想让你的手机好用到哭?关注这个号就够了。
关注玩物志微信号,就是让你乱花钱。

我要回帖

更多关于 引擎3d模型下载 的文章

 

随机推荐