【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!


3楼猫 发布时间:2022-06-17 16:41:14 作者:银拱门 Language

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第0张

TTF2里,我相信大伙都不会忘记时空穿梭的关卡,玩家可以通过手套在相同的地图中穿梭不同的时间,现在过不去的地方,“唰”的一下就能从过去通过,并且在过去与现在的来回穿梭之间不需要读条,那么这是怎么做到的呢?我们先从游戏里看一看。

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第1张

这里我就以B站up主“小怂猫人”的视频里得知,实际上游戏的这个关卡里,存在两个相同的场景,两个场景的高低差不同,玩家在使用技能的时候,改变角色的坐标就可以实现无缝切换了。

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第2张

图解,“过去”与“现在”其实就是高度不同的两个场景

这么设置的原因,就是为了让玩家在使用技能后能够无缝切换,达到流畅的体验,并且制作起来也非常简单。既然简单,那么我就在虚幻引擎5中试着还原一下这个酷炫的技能。

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第3张

UE5默认的第三人称模式

首先我们简单的打开一个新的UE5项目,那么这个默认的场景我们就直接保留了。

接下来,我们应该在这个场景的上方,创建另一个场景用于我们的“时空回溯”。

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第4张

在头上创建一个新的场景

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第5张

下方场景,地板的高度是-50

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第6张

上方场景,地板的高度是10000

因为我们是要做成时光回溯的效果,那么我们上下两个场景的地堡,应该除了高度不一样,其他地方都一样,否则我们的人物在穿越的来回会感觉到位置的偏移,这个很好理解吧!

那么,简单的设定好两个场景之后,我们就需要干嘛?

设置我们的技能嘛!

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第7张

右上角编辑-项目设置-输入-操作映射 ,名字记得改一下,我这随便添了个Skll,后面改成timetravel

接着,我们需要进入项目设置菜单,找到输入,添加一个新的技能输入,这里我把这个技能名字叫"timetravel",并且设定了,按“F"键触发。

设定好了技能之后呢,接下来,我们就要进入蓝图页面,把这个技能教会我们的角色。

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第8张

双击这个打开它

打开我们人物的蓝图,这里原本是保存了UE第三人称模板自带的人物、摄像机、移动、跳跃等。

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第9张

模板人物默认的蓝图

OK,打开我们的蓝图了,接下来,该是我们大展拳脚的时候了!

那么,怎么完成这个技能呢,我们需要先构思一下。

首先,这个技能是我按下F键释放的是吧!

因此,我们先找到我们设定好的技能案件,timetravel。

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第10张

右键任意空白处,输入我们设定好的名字

接着,我们再想一想,是不是应该将我们的人物,移动到高度10000的位置?

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第11张

直接用中文打字:瞬移,就能找到这个蓝图

这里UE是很方便啊,直接给了我们瞬移蓝图。

但是,这里就需要再次思考了。

要完成这个瞬移,我们需要一个目标吧,谁去瞬移——角色,那我们看这个目标节点,写的是"self"那就是自己,OK,不需要改。

接着,我们是不是要设定瞬移到哪里?

这里黄色节点后边就是位置的坐标,OK,那我们是不是要把垂直的Z轴的数字,改成10000?

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第12张

这样做对吗?

那么,OK,操作到这一步,请问这么做对吗?不要滑下去,先自己想一想。

不对,为什么不对?

因为下层地板的高度是-50,上层地板的高度是10000,那么两个场景的高度差是多少?10050,想到这点了吗?

并且,这里设定的瞬移坐标,实际意义是(0.0.10000)这个点,意味着你的角色如果走到了(50.23.-50)这个位置,你使用了技能,会瞬移到(0.0.10000)这个点,而不是(50.23.10000),这显然与我们想要的结果不同,这一点想到了吗?

对吧,明显不对,并且,我们希望技能是能在两个时空来回穿梭的,《泰坦陨落2》里也是如此,使用技能能够反复在过去与现在跳跃,所以,我们应该怎么做?

我说说我的想法吧,我们是不是可以增加一个判定条件,假如我们的角色,高度超过了10050,那么是不是使用技能,就让我们的角色高度下降?

那假如我们的角色,高度低于10050,那么是不是使用技能,就让我们的角色高度上升?

所以,这里需要添加一个判定条件,我们使用一个布尔值保存判断的结果。

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第13张

新建一个布尔变量

我们新建一个布尔值,用来保存我们高度的判断,这里点击加号就能创建。

我们将这一变量,拖到蓝图里,选择”设置InHigh”。

接着,我们需要获取到角色的位置,计算机是个笨比,你看得到你角色的位置,计算机是不知道的,所以我们需要先获取一下。

接着,我们是不是只用知道Z的值是多少就行了?X和Y关我屁事。

所以我们使用拆分,把(X,Y,Z)拆分出单独的Z的数字。

接着做对比,右键点击空白处,输入一个简单的>或者中文“大于”都行,做一个判断,数字大于10050,就输出为真,如果小于10050,就输出为假。

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第14张

蓝图如图所示

这一步也很好理解吧,并且UE的蓝图非常方便,相同的颜色相连就行了。

当我们做完这一步,接下来也很好理解了。

如果是“真”,那么意味着,人物的高度大于10050,OK,说明人物在上面的场景里,那我们使用技能的目的是不是给它降下去?

并且,我们不能简单的去改变数字,我们是不是要先获取角色的位置,我得知道人在哪里吧?

接着,我X和Y的数字不变,Z的数字减去10050,这个是不是才是我们想要的XYZ的值?

如果是“False”,那么是不是人物在下面的场景,那么蓝图这一块我们复制黏贴,把减去10050,改成加10050,就OK啦?

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第15张

瞬移操作部分

OK,那么做到这一步,我们的这个技能就大功告成了。

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第16张

不重要的部分

当然,为了测试我们的技能,在后面我又补充了一个打印文本的操作。

如果传送成功,那么就会在屏幕中出现文字,如果传送不成功,传送的那个位置有别的东西挡住了,就会在屏幕中出现文字“卡住了,回不去”。

这个“仅限开发”的意思是,只在UE编辑器里你会看到它,但是在游戏中你看不到,这个主要是用来方便设计师找问题的。

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第17张

完整的技能蓝图

最后,我们进入到游戏里实际测试一下。

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第18张

传送成功

OK,来回传送非常成功!

但是有一个忘了,我们忘记设置瞬移后的旋转值了,因此每一次瞬移后,人物的面向都会回归默认,我们想要更丝滑顺畅的体验!

【PC游戏】[UE学习笔记]泰坦陨落神奇的时空回溯!五分钟用UE复刻出相同的技能!-第19张

补充一下旋转

这里我们获取到人物实时的旋转,然后给到瞬移就行了,不需要改变,这样我们的角色每次使用技能都不会改变面向!

OK,到这里,技能的实现就已经制作完成了。

但是呢,想要让技能真正用在游戏里,让玩家们接受,还需要仔细的打磨。

例如,是不是该添加一个使用技能的动画?

然后,还需要添加不同的后期处理等等,让玩家感受到这是同一个地方,但是不同一个时空。


总结一下,其实想要实现《泰坦陨落2》里的时空穿梭不难,做出两个场景也不难,其实难的还是在怎么去想到这个,让玩家会觉得真的像是那么回事儿。


就同样的这个瞬移,它可以是时空回溯,它也可以是《寂静岭》的镜子世界,也可以是玩家走着走着来的一段回忆...

总之原理上大概都是可以这么实现的,但是更重要的是你要想的到这么一个环节,然后去实现它。

我在学习游戏开发的过程中,越来越感觉到,就是想要做的好玩是很难的,很容易就是做出一坨,画面精美但缺乏游戏性和关卡设计的垃圾,所以说越发觉得任天堂牛逼,他们在制作游戏的时候始终是会想到如何做的好玩,做出有意思的关卡设计。

自己在学习UE,发帖记录一下自己的心得笔记,不定期随缘更新!也希望帮助到一些想要学习的盒友!


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com