24_ue4上下车功能

2024-01-16 11:10
文章标签 ue4 功能 24 上下车

本文主要是介绍24_ue4上下车功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.创建场景

2.创建人物

出生点放在场景中

 在世界场景中设置模式

启动游戏,正常控制小白人

 3.添加小汽车模板

找到小汽车蓝图类位置,拖入场景

4.打开小白人蓝图,增加碰撞盒子,来检测小白人的靠近。

 调整盒体大小

 5.创建上下车图表

 6.创建上车自定义事件

7.小白人蓝图类调用这个事件

点击进入小白人蓝图类里面,添加一个变量

 把该变量的类型改成小汽车的对象引用

 

8.小白人添加上下车图表

 9.添加F键盘事件并测试变量的有效性和调用事件

10此时蓝图小汽车对象还没有具体指定,所有要通过碰撞事件来指定对象。所以如何通过触发盒子通信到小白人蓝图类。答案是类型转换,用蓝图转换这个通讯方式去获得更改小白人中的小汽车变量。

11.给小汽车的触发盒子添加触发事件。

 12.类型转换

13 设置小汽车变量

小人靠近某个车,某个车的本身就赋值给变量,小人离开车辆,变量就赋值为空。

 

 14.添加gate节点。

当上车事件被触发的时候才能进入。

15. 开始角色控制权的转变。

获得玩家控制器

获得对自己的控制。

 16.测试,控制权可以转换。

17.现在解决如何让小白人跟着车走。

此时我们需要再增加一个触发盒子,这次添加一个球型的触发盒子,放在驾驶室的地方。

 

 缩小了球的半径

 

18将碰撞预设改成nocollision

 

 19.让球形碰撞盒子获得场景变换

20. 拆分变化

21. 设置角色的变化

 分割结构体引脚

 连线

缩放比例就不连了,因为把小人缩小显得很奇怪。 

22.此时actor变换还木有目标,我们要将小蓝人设置为该目标

将目标连到上车自定义事件,自定义事件就多了一个目标参数

 23.打开小白人蓝图

24.将自己赋值给上车事件目标

 25.还有一点是上车的时候要关掉小白人的碰撞

 不勾选就是关闭碰撞

现在连线

现在测试一下

 

 开动汽车,发现小人在原地

 为了防止事件的目标被我们搞混,我们使用左键单击目标,将目标重命名为小白人

看效果

 

26.在小汽车蓝图里将小白人提升为变量

 

重命名为小白人

 

27.重新连线

 

28.给上车的碰撞重命名为up

 

29.将小白人附加到球形碰撞

 将球形碰撞盒子拖到蓝图里

 此时有两个附加到组件,其实是不一样的,目标不一样,使用的时候一定要看清楚。

 30.现在线太多了,简化一下。

 还是把小白人变量的引用拖进来

 这样看起来比较简洁。

30.连线将位置变化设置为以场景作为参考

30.编译测试

成功

31.添加注释

框选蓝图,然后按c

 32.开始下车的蓝图

在小汽车蓝图里创建F键盘事件并验证小白人变量的有效性

33.验证有效之后,将小白人与球形碰撞拆分,记得设置成保持场景

 34.新增加一个碰撞,移动碰撞的位置,作为小白人下车的位置

 

 更名为down

35.将下车的碰撞盒子拖到蓝图里,并获取场景变化

 36.设置actor变换,记得分割引脚

 37.此时设置了下车的位置,但是还没有设置下车的角度,如果车是歪的,那么小人也会是歪的。

所以展开引脚

只连z轴

38.启用小白人的碰撞

 

39.添加混合视图来过度镜头

 获得玩家控制器和视图过度节点,过度时间设置为0.4s

 40.延迟0.4s,将控制权转移到小人身上。

此时,修改小白人变量的类型,由actor变成pawn。

上车事件中修改一下

set里面也修改一下。

 

加上控制节点

连线

 漏了一个线,补上

编译测试成功,但是呢车一直是往前开的,停不下来。 

41.将载具移动组件引用拖入蓝图

42. 添加手刹节点

 

打勾,开启手刹的效果

设置油门,油门是0,代表不加油

编译测试

车停住了

 但是这样还有一个隐患,就是下车时候控制油门为0,下一帧可能还在加油门

所有在这里进行一个布尔值的判断开关。

43新建布尔值变量,取名为下车

初始值应该是true

 

44. 在这个地方增加下车时,设置布尔变量

45.打开小车的基本事件图表的油门输入

46增加分支

 

47.上车的结尾添加下车变量的设置

 

编译测试,成功 

这篇关于24_ue4上下车功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/612382

相关文章

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

Java CompletableFuture如何实现超时功能

《JavaCompletableFuture如何实现超时功能》:本文主要介绍实现超时功能的基本思路以及CompletableFuture(之后简称CF)是如何通过代码实现超时功能的,需要的... 目录基本思路CompletableFuture 的实现1. 基本实现流程2. 静态条件分析3. 内存泄露 bug

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将