大型3D游戏的关卡(或者说副本、战场)的制作有一些难点,主要是:

  • 要求制作人员有很好的空间感。包含总体布局、对象的比例关系;把握不好的话,不单影响美观。更影响玩家的体验;
  • 关卡制作是一个比較综合的工作:须要策划、美术很好的沟通协调。有时也须要程序加入一些逻辑功能。老外有Level Designer,而国内的Designer主要负责写文档,画平面设计图。这就常常出现来回返工。

    特别是在一些PVP战场类的副本的制作,玩法对路线的长短、一些功能建筑的位置等细节要求都很高的情况下,往往要不断的測试、调整才干确定终于方案;

  • 高品质的关卡制作成本很高。一个像样的关卡的成本够买一辆奔驰应该没问题;但是在实际的项目中,常常看到奔驰、宝马就无奈的被丢弃了。就像丢垃圾一样。
以上仅仅是说的“制作”环节中的难点。还没包含所谓的关卡设计:玩法设计、美术概念设计等。总之。关卡要做好。不easy。
今天翻阅UE4的Sample的时候,看到一个“Leveldesign_Workflow”的样例,挺好的,可视化的演示了“太阳神殿”这个DEMO场景的“制作”过程。这个关卡使用了4次迭代,完毕终于效果。

这样一个工作流程,很值得借鉴。特别是关卡高速模型的建立和验证,能够减少返工、浪费的风险。

1st Pass: Prototype

在UE4中,能够使用Geometry Brush或者简单的Cube、Spahere等简单几何体,高速的建立出关卡的大致布局。不同区域的空间感、对象的比例关系、主要的光照。都要建立起来;假设有一些游戏逻辑的话。在这个阶段也要开发出来。这阶段的目标是Playable,要真实能測试。经过重复測试、调整。在美观、游戏性上都过关之后,再走下一步。

2nd Pass: Meshing

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

在原型过关之后。美术就能够依照概念设计和原型中的比例来制作模型和贴图了。

模型、贴图一般在3DS MAX或者MAYA等第三方软件中制作,做好之后,导入引擎。并替换到关卡之中。

顺带说一下贴图的问题:模型的大小也很重要,老外制作关卡的时候,对于贴图的精度都把握的很好:每平方英寸多少切图像素。都是在项目规范中定义的。

“在一个贴图粗糙的地面上摆着一个精致的花瓶”vs“在粗糙的地面上摆一个相同粗糙的花瓶”。两种对照。前者更破坏玩家的代入感,画面会显得很很的“计算机”。

3rd Pass: Ligting

对于次世代来说,没有光,再好的戏也出不来。

在这个环节要细致调整灯光设置和Post Process,尽量达到终于效果。

配合总体范围的营造,还能够加入一些粒子效果,比如火把上燃起的火星等。

4th Pass: Polish

最后是抛光。调整、添加细节,营造某种特定氛围或者生活气息之类的。

次世代关卡制作流程:使用Unreal Engine 4的更多相关文章

  1. Unreal Engine 4 系列教程 Part 10:制作简单FPS游戏

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

  2. Unreal Engine 4 系列教程 Part 5:制作简单游戏

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

  3. Unreal Engine 4 RenderTarget制作Live Camera效果

    Unreal Engine 4 RenderTarget制作Live Camera效果 先上效果: Live Camera我不知道怎么翻译.反正意思就是将一个摄影机的Image渲染到一个2D平面上. ...

  4. 剖析Unreal Engine超真实人类的渲染技术Part 1 - 概述和皮肤渲染

    一.概述 1.1 数字人类的概要 数字人类(Digital Human)是利用计算机模拟真实人类的一种综合性的渲染技术.也被称为虚拟人类.超真实人类.照片级人类. 它是一种技术和艺术相结合的综合性模拟 ...

  5. 用Unreal Engine绘制实时CG影像

    转自:http://www.unrealchina.net/portal.php?mod=view&aid=225 近年来,对实时CG的关心热度越来越高,但要想弥补与预渲染方式的差异并不是那么 ...

  6. 从Unreal Engine 3到Unreal Engine 4

    Unreal Engine 4公布好长好长时间了.直到近期才有时间细致去看一下. TimSweeney老大一句话"IF YOU LOVE SOMETHING, SET IT FREE&quo ...

  7. 剖析Unreal Engine超真实人类的渲染技术Part 2 - 眼球渲染

    目录 三.眼球渲染 3.1 眼球的构造及理论 3.1.1 眼球的构造 3.1.2 眼球的渲染理论 3.2 眼球的渲染技术 3.2.1 角膜的半透和光泽反射 3.2.2 瞳孔的次表面散射 3.2.3 瞳 ...

  8. Unreal Engine 4 系列教程 Part 1:入门

    原文:Unreal Engine 4 Tutorial for Beginners: Getting Started 作者:Tommy Tran 译者:Shuchang Liu 本篇教程将引导你安装U ...

  9. Unreal Engine 4 系列教程 Part 2:蓝图教程

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

随机推荐

  1. HTML DOM getAttribute() 方法

    http://www.w3school.com.cn/jsref/met_element_getattribute.asp

  2. Automation testing tool comparison - UFT & CodedUITest

    Ease of Use - Recording and Playback Functionality UFT provides 4 models to record a new test. Norma ...

  3. POJ 2110 二分+暴搜

    题意: 给你一个矩阵 ,你能往各个方向走(不走出去就行),每次只能上下左右走一格,问路径上的点权最大值和最小值的差最小是多少. 思路: 首先 二分最后的答案, 暴力枚举当前的区间是啥. DFS 就OK ...

  4. jquery easyui a标记方法传值问题

    今天开发一个功能,其操作的按钮式是一个点击的a标记,并且是动态生成的,其点击方法需要传参数具体代码如下 {field:'time',title:'日程时间',width:200,align:'cent ...

  5. 《剑指offer》二进制中1的个数

    一.题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 二.牛客网提供的框架 class Solution { public: int NumberOf1(int n) { } ...

  6. Conservative GC (Part two :MostlyCopyingGC )

    目录 MostlyCopyingGC 概要 堆结构 分配 new_obj()函数 add_pages()函数 GC执行过程 mostly_copying()函数 promote_page()函数 pa ...

  7. 题解 P2504 【[HAOI2006]聪明的猴子】

    这道题要坑死人啊... 第一次做40分,其他RE,改了一次之后就变成20分了... 究其原因,是有一个数组(dis)开的太小了,于是最后本蒟蒻就随手开了个五百万,然后,就AC了. 看到有一篇题解说求距 ...

  8. Spring Cloud学习笔记【四】断路器Hystrix

    雪崩效应 在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应.服务雪崩效应是一种因 “服务提供者” 的不可用导致 “服务消 ...

  9. ArcGIS api for javascript——图层-创建定制的切片图层类型的图层

    描述 本例展示了如何创建一个定制图层,该图层访问来自WEB服务器的地图切片.这种方式最通用的用途是检索ArcGIS Server 9.2切片缓存或web上的其他地图切片服务.尽管本例使用的是一个Arc ...

  10. ArcGIS api for javascript——加载图标

    描述 这个示例展示了如何能用一个动画图片显示地图正在加载.在这个示例中,图片是一个小的动画GIF.当地图第一次加载或用户缩放和平移地图时显示图片.当所有图层加载完成图片消失. 这个示例是通过event ...