IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 虚幻引擎:游戏设计(FPS项目) 一 -> 正文阅读

[游戏开发]虚幻引擎:游戏设计(FPS项目) 一

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

一、游戏设计

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

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 17:12:29  更:2021-10-01 17:13:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 2:27:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码