内容中与蓝图系列相同的部分将会被省略。

一、游戏设计

1.1 项目中将要实现的东西

Play Mechanics

  • walking
  • jumping
  • shooting(target)
  • opening doors

System(系统)

  • Health(血条)

当遇到伤害时,血条会减少。可以通过捡去血包恢复Health。

Level Hazards(关卡难点)

  • Steam jets(蒸汽,玩家触碰会受到伤害)
  • Spinning Fan(旋转的锋利风扇)
  • Instant kill zones(Pits?Spikes?)
  • Time Limit(时长限制)

Game Objectives(游戏目标)

Primary objective(主要目标)

  • Get High score

Secondary objective(次要目标)

  • Shoot target
  • Stay alive
  • Complete level

Game rules(游戏规则):

  • 如果玩家射中目标,他们将获得积分、速度加成或时间加成。
  • 如果玩家接触蒸汽或风扇,他们就会失去生命值。
  • 如果一个玩家接触到一个生命值拾取,那么他们获得生命值。
  • 如果一个玩家失去了所有生命值,那么他们在关卡开始时重生,分数和时间保持不变。
  • 如果玩家到达目标区域,则他们完成关卡并获得最终分数。
  • 如果一个玩家的时间用完了,那么游戏结束。没有得分的唯一选择是退出或重新开始。

关于地图的设计,我们可以使用简单的草纸,也可以用visio或是draw.io来绘制,其他的也都可以。下面是简单的一个地图设计,即便我们会在后面对齐进行修改。但是在最开始的时候,有一个自上而下的地图会有好处。

 1.2 Player Metrics

Player Metrics是决定你角色的参数,例如速度,跳跃的距离高度等等。

  • 角色速度
  • 角色跳跃(高度?持续按下跳跃键会跳的更远吗?次数?)
  • 子弹速度
  • 子弹反弹
  • 子弹重力(抛物线还是直线射击)

这些事情在开始灰盒前很重要,只有知道这些参数,在放置障碍物或是其他事件中,不会出现问题。如果你在关卡设置好后,修改了参数,那么关卡也要进行相应的调整。

我们先创建一个射击模板,然后创建如下的目录结构。 同时我们在关卡目录下,创建一个default关卡。

接着我们进入第一人称的蓝图中,修改一些参数,了解一些可用参数。

  • 最大步行速度无需修改
  • 跳跃Z速度为500
  • 空气控制0.2
  • 重力标速无需修改
  • 跳跃最大数量无需修改
  • 跳跃最大按压时间0.25(当我们持续按下时,会跳的更高)

再进入子弹的蓝图中

  • 初始速度6000
  • 最大速度6000
  • 发射物重力范围0.7
  • 应反弹
  • 初始生命周期(这是指x秒钟后,该子弹将消失)

二、灰盒关卡

2.1关于Level GrayBoxing的介绍[1]

什么是灰盒?它是游戏开发人员用来快速了解关卡布局和可玩性的过程,而不会浪费太多时间。

所以,灰盒顾名思义就是在你对建筑和其他漂亮的东西过于着迷之前,用简单的几何形状来屏蔽地图中的所有特征的过程,这些几何形状通常采用灰盒的形式

它有几个主要目的:

1. 允许设计者查看关卡是否真的可玩。即规模?玩家是否适合穿过门和走廊?玩家知道他们要去哪里吗?然后设计人员可以快速轻松地进行更改。

2. 它提供了地图的蓝图以及美术团队可以开始处理的所有资产。例如,他们有关于房子需要多大的参考,一般形状,所有门等,碰撞场等等。

3. 如果有任何需要测试的编程元素,即武器、电源、玩家跳跃距离等,现在是时候这样做了,因为关卡可以很容易地调整为向玩家提供挑战,或者至少是可以导航。

Overview:

Geometry 是Geometric Brushes的缩写。而几何画笔是用来雕刻游戏世界的工具。我们这里会主要探讨2个不同的画笔。

  • Additive = ADDS shape to the world
  • Subtractive = SUBTRACTS shape from the world

2.2 关于笔刷

我们可以选择下方的几何体,并且在最下方会显示添加或是减去。

关于如何使用笔刷来构建门窗,我们在之前的博客中就有提到了。

其次还有一个问题需要注意,就是我们可以使用下面的方法对其进行缩放。但是缩放操作完成后,我们查看右边细节面板中的画刷设置,xyz的大小仍然是200u

所以当我们使用画刷时,实际上并不缩放它,而是使用这些画笔设置来确定其大小。

接着就是关于中空的选项,我们选中这个后,可以设置墙的厚度。

关于锥形的一些参数:

我们可以设置它的半径,它的高度,它的侧边数量。同样的我们也可以设置中空。

我们在这里省略其他的几何体参数介绍,如果想了解的话,可以在关卡中自行调整参数。

最后,我们假设我们有如下的一个几何体。我们希望将它保存为静态网格体,以便我们之后将其拖入其他关卡中。

首先我们选中这两个几何体,然后到细节面板的画刷设置中,我们可以看到有创建静态网格体这一选项。

 2.3 几何体编辑

我们可以从模式中,选择笔刷编辑。我们有下面几种方式改变其性状

<1> 我们可以通过移动面,来改变其形状。

<2> 同样的可以移动线来改变形状

<3> 我们选中角落的点,来改变形状

注意,如果我们要删除这个几何体,我们需要先退出编辑模式。

接着我们要介绍的是挤压,在我们选中一个面后,我们可以在上方选择挤压:

我们可以在左边的面板中得到以下的设置

我们将长度设为200,分段为5个,通过结果我们可以很清楚的了解到它的作用:

关于其他的具体设置我们这里不做多的介绍。关于画笔的操作,我们这里也略去。

我们可以使用画笔创建笔刷形状,使用空格键创建顶点,或者创建枢轴点等等。

 2.4 构建到网格+关于建筑效率

什么是网格?可见下图:

关于这个网格的大小,在右上角有具体数值。关于虚幻单位和实际单位的换算,我们之前也有提到过。那么如何将放置几何体和网格对齐呢?

我们可以按住control+end键对齐。

提升建筑的点:

  • 尽量使几何体的大小和网格大小对应,减少奇怪值的出现频率
  • 灵活的使用正交视图,使用它们来对齐,还可以通过鼠标中间键来使用测量工具(得到距离)
  • 关于复制对象:1 按住alt键拖动 2 按住w 3 右击对象复制

2.5 关卡布局

关卡设计的草图使我们的参照,我们要参照这个来完成操作。我们重新创建一个1000*1000*20的几何体作为地板,然后我们进入到上视图,将地图像草图中对齐坐标轴。这个就是我们草图中的左下角小格。

同样的,我们也放置其他的地板楼梯等草图中的地形,如楼梯,圆筒通道(放置一个圆柱体,然后再放置一个消除笔刷形成通道)。我们暂时省略水、移动平台这些。

楼梯:

接下来我们放置一些墙壁,大概花了1小时左右:

但是我们这里还没有标示道具,标示一些危险机关的位置等等。所以我们要加入一些体积雾,一些门和一些平台。我们也可以使用销毁Z volume,这是可以用来销毁玩家的一个方法。我们可以在河流中放置这个体积,使玩家掉落到河流中会被杀死。

接下来我们会对关卡进行装饰。见下一章

[1] What is GrayBoxing https://jackw-gamedesign.tumblr.com/post/139960850160/what-is-greyboxing

虚幻引擎:游戏设计(FPS项目) 一相关推荐

  1. 虚幻引擎图文笔记:项目升级到虚幻5(UE5.0.1)以后出现奇怪阴影问题的解决办法

    问题演示 UE5.0.1 奇怪的阴影的解决办法 解决办法 解决完毕 奇怪阴影问题解决

  2. 虚幻引擎游戏国际化总结

  3. 虚幻引擎 4.10 发布信息

    版本信息 SHARE: 该版本为虚幻引擎 4 带来数百项更新,包括由 GitHub 上的虚幻引擎开发人员社区提交的 53 项改进!感谢虚幻引擎 4.10 的所有贡献者: Andreas Axelsso ...

  4. 终极Git课程——在虚幻引擎中的应用 The Ultimate Git Course – with Applications in Unreal Engine

    了解Git和GitHub.虚幻引擎C++项目的版本控制等等! 你会学到: Git是如何工作的 如何从命令行使用Git 使用GitHub.GitHub桌面应用程序.Visual Studio中的Git工 ...

  5. 虚幻引擎虚拟现实开发基础学习教程

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.93 GB |时长:5h 15m 了 ...

  6. 虚幻引擎C++终极射手教程 Unreal Engine C++ The Ultimate Shooter Course

    虚幻引擎C++终极射手教程 Unreal Engine C++ The Ultimate Shooter Course MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 ...

  7. 虚幻引擎3 —— 内容制作工具以及技术支持

    游戏脚本和电影制作 作为我们的视觉脚本系统,UnrealKismet: 可使美工和关卡设计师实现几乎对关卡游戏方式无限控制,而无需触及任何代码. 将程序员创建的简单事件和操作连接起来,即可快速构建从简 ...

  8. Online Subsystem Steam 在线子系统Steam (虚幻引擎UE4 联网)

    在本页: 满足阀门的要求 正在下载Steamworks 设置Steamworks SDK Steam App ID 配置您的应用程序的设置 补充笔记 该在线子系统蒸汽API使您能够出货虚幻引擎4(UE ...

  9. 虚幻引擎5 AR开发教程03:创建第一个AR App

    在本教程中,我们将学习如何在项目中添加 AR 功能并在虚幻引擎 5 中创建我们的第一个 AR 应用程序. 步骤 01:创建和设置 UE5(虚幻引擎 5)AR 项目:教程 01 步骤 02:创建 AR ...

最新文章

  1. JavaSist之ClassPool
  2. Python中list复制引发的问题
  3. python 绘制功率谱密度图 plt.psd
  4. BoW(词袋Bag of words)
  5. 仅需10道题轻松掌握Python文件处理 | Python技能树征题
  6. 足球机器人第一次作业:编写程序解析球员所看到和听到的信息。
  7. mysql分页查询公式
  8. 支持向量机(SVM)理解以及在sklearn库中的简单应用
  9. 计算机进去bios方式,bios怎么轻松进入?电脑进入bios方法大全
  10. java from space to space_快速定位Java 内存OOM的问题
  11. 昆石网络 VOS3000虚拟运营支撑系统任意文件读取漏洞
  12. (一)Hadoop介绍
  13. 计算机领域常用的英文名称和缩写,计算机常用英文缩写.doc
  14. 当罗“工匠”遇上雷“铁匠”
  15. 英语中’s和s’的区别
  16. 中国联通云数据有限公司总经理焦刚:沃筑生态,共创未来
  17. c蔚语言艺术,伊能静的语言艺术,写下老公和好友章子怡,网友称赞
  18. ITIL、CMMI、TMMI、CMMI、SAFe、ITSM、DevOps及VeriSM这些名词究竟是神马
  19. 即时通讯系列-1-即时通讯软件的项目需求说明书
  20. 交通事故预测 读书笔记

热门文章

  1. P7776 【模板】特征多项式 题解
  2. 冥想基础知识(总结于冥想相关书)
  3. 小厨房设计软件测试,小厨房只要设计的合理 照样可以轻松在家做大餐
  4. 〖3D激光点云〗激光雷达点云bin文件读取和显示!
  5. windows7浏览器无法打开html,Win7系统chrome浏览器无法打开怎么回事?Win7系统chrome浏览器无法打开的解决方法...
  6. swagger no content
  7. Android Studio教程
  8. Hawk: 无编程抓取淘女郎的所有高清照片
  9. M.2、PCIe、mSATA接口的SSD 速度性能如何?哪一个是装机首选
  10. 火箭队新赛季十大最卖座电影前瞻!