目录
一、设计简介及故事概要
我设计了一款微恐密室逃脱游戏,为了让游戏有挑战性一点,我加入了一些机关元素,我搭建了一个房屋,躲避npc逃脱模式。查阅了很多恐怖题材的密室,决定将天气设为夜晚,再加一些闪烁的灯光烘托气氛。不仅加入伤害,也加入回血功能,根据提示找到钥匙,开启天梯之门,保证玩家可以顺利通关。( 传说进入石头屋的人,不久之后就会变成没有意识且有剧毒的石头人,你的朋友不小心进入了石头屋,最后关头给你发来消息求助,你缓过神来,猛地发现不知何时你也身处石头屋,好在你的朋友失踪之前已经探索过很多信息并藏在了角落,你的目标是根据线索寻找到钥匙,躲避石头人的伤害,活着逃脱石头屋。
二、环境设计与场景搭建
将天空球改成黑夜
通过修改SkySphereBlueprint的值,修改了云的颜色,通过旋转调整光照射的方向,将大环境设为黑夜状态。
通过画刷(BSP)搭建逃脱石头屋
本来打算直接套用虚幻商城里面的模型,但是发现那样不太方便我后续设计逃脱的机关,所以查阅资料了解到BSP功能,自己设计了大概逃脱房屋。
过程:
成品:
(无光照环境下)
一层:
二层:
地下室:
天梯:
添加地形
搭建好房子空空旷旷,我使用地形画笔随便拉了几座小山,在虚幻商城导入了一个材质包,利用植物模式画在地形上,简单装饰。
添加氛围元素
在一楼我添加了一把大火,还添加了闪烁的红色灯光,给游戏增加恐怖氛围
通过时间轴实现一闪一闪的效果:
效果:
感应灯
创建蓝图LIGHT类,用来感应,有人路过就亮起,通过box重叠切换可视性实现
效果:
二、游戏机关蓝图设计
1.手电筒设计
由于我的逃脱环境大多比较黑暗,所以我设计了一个手电筒给人物,在看不清的情况下就可以按F开灯查看前方路况,在人物身前放置一个SpotLight然后设计一个切换可视性即可。
2.设计开关门
整个房子里有很多门,有门就得有钥匙,所以我创了门类和钥匙类,以方便后续更改管理
Key来打开通往地下室的门
Key2来打开天梯的门
Noke用来混淆
蓝图:
Door实现按键盘1就将门旋转85度,在视口增加一个box来检测重叠,当重叠时键盘敲1来通过时间轴正向反向播放,updata 更新设置门的相对旋转,使用Flip Flop节点使鼠标点击两次可以实现开关门效果。使用if分支判断是否是正确的钥匙,不正确则打印字符串“不匹配”。
Key实现按1拾取钥匙,并通过更改布尔变量ok?打开门
Go和key2同理
Door2有所不同,目前Door2类只要按1就可以开门,不需要寻找钥匙,则不需要判断布尔值,直接运用即可。
Nokey蓝图:
天梯设计
天梯我设计了电梯,如果找到了天梯门钥匙,按2即可升上电梯,乘坐电梯逃脱
通过设置相对位置实现,插值结点可以使我更方便的从外部直接更改时间轴内部数据,通过测量电梯需要到达高度(980)即可实现从0上升到980,Flip Flop节点再次点击即可下降。
蓝图:
加血装置
创建blood类,拖入一个选好的模型,加入box,增加一个回血量浮点变量,设计重叠事件,当重叠时,利用“浮点加浮点”结点给增加血量给生命。再利用CompareFloat判断生命是否小于96,进行加血操作。
三、UI设计
ui总设计
开始界面
蓝图:
退出:
直接连接退出游戏结点就好。
开始游戏:
创一个可以控制(pawn)类控制摄像机,将摄像机的自动控制玩家设为玩家0,使用混合设置视图目标,延迟时间混合视图,将画面从我们摄像机控制权转向我们控制的第三人称玩家。
显示开始界面,将ui显示视口,并且显示鼠标以供选择
暂停页面
是
直接退出游戏
否
将ui折叠,将游戏暂停,并且将控制器给玩家
在人物蓝图里添加视口,首先判断是否存在,防止报错,然后设置可视性为可视,获取玩家控制器,显示鼠标光标以供选择操作,在此过程中确保游戏暂停。
血条界面
在界面上添加一个进度条和文本
将文本勾选
成变量
进度条和文本都绑定事件
在第三人称人物中添加“生命”浮点变量
进度条
文本
可以同步进度条数据