【蓝图】p46角色上下车功能

news2024/9/27 15:17:08

这里写目录标题

  • p46角色上下车功能
    • 上车(控制权切换)
    • 让角色和汽车一起移动
      • GetWorldTransform(获取场景变换)
      • break(拆分变换)
      • AttachActorToComponent(附加Actor到组件)
    • 下车

p46角色上下车功能

添加一个车的蓝图(可以添加官方的载具游戏的车),在内容浏览器-》添加-》功能包-》载具类游戏
请添加图片描述
在VehicleBP-》Sedan-》Sedan,拖拽到视口中
请添加图片描述
先给车添加一个碰撞盒子,使玩家靠近可以交互开车,打开Sedan蓝图
在Sedan蓝图类中添加新事件图表,重命名为上下车

上车(控制权切换)

添加变量VehicleRef(车辆裁判),变量类型更改为汽车的蓝图类Sedan,对象引用
请添加图片描述
创建蓝图
在玩家第三人称蓝图中创建键盘 F,拖出Vechile Ref,拖出引脚搜索‘?is valid’,从Vechile Ref急促拖出引脚搜索自定义事件“上车”
当角色靠近车,ThirdPersonCharacter蓝图的Vechile Ref会被赋值,如果赋值了按F走Is Valid ,如果没有赋值按F走Is Not Valid
请添加图片描述
创建组件开始重叠(Box)和组件结束重叠(Box),这是为了让角色在触碰到盒体后给ThirdPersonCharacter蓝图的Vechile Ref赋值
怎么使触发盒子通信ThirdPersonCharacter蓝图的Vechile Ref呢?
使用类型转换,并使用“设置Vechile Ref”,设置就需要给它一个数值,从“设置Vechile Ref”的Vechile Ref拉出引线搜索self(获得一个对自己的引用)
即在玩家和车重叠时按F就把自己赋给了ThirdPersonCharacter蓝图的Vechile Ref
如下连接蓝图
请添加图片描述
离开盒体碰撞区域时要取消给ThirdPersonCharacter蓝图的Vechile Ref的赋值,去掉self蓝图即可,什么都不给SET,它就变为空的了

创建Gate,获取玩家控制器,控制,如图连接
请添加图片描述
蓝图“控制”的对象为汽车,所以,从In Pawn拉出引线,搜索self(获得一个对自己的引用)
请添加图片描述
当角色靠近车,ThirdPersonCharacter蓝图的Vechile Ref会被赋值,之后再按F间就可以进行蓝图通讯,触发Sedan内的自定义事件上车,

如此,即可在角色靠近车使,按键盘F,进行控制权切换了
但是现在切换后人是没上车的
请添加图片描述

让角色和汽车一起移动

在组件搜索Sphere Collision(球体碰撞),在细节面板的形状更改球体半径为16,把它放在一个正确的位置上,在collision的碰撞预设改成NoCollision,添加Sphere Collision的目的是定一个位置
请添加图片描述
请添加图片描述

GetWorldTransform(获取场景变换)

在Sedan蓝图组件中拖拽Sphere到上下车图表中,拉出引脚搜索GetWorldTransform(获取场景变换)
请添加图片描述

break(拆分变换)

从GetWorldTransform(获取场景变换)的Return Value引脚拉出引线搜索break(拆分变换)
请添加图片描述
Location(位置)
Rotation(旋转)
Scale(缩放)
创建蓝图“设置Actor变换”
如图连接
请添加图片描述
但是现在蓝图“设置Actor变换”没有目标,拖拽住目标伸出引线,拉到自定义事件“上车”处,会显示一个添加引脚到节点,连接
请添加图片描述
如此会发现ThirdPersonCharacter蓝图的事件上车多了一个目标
请添加图片描述
从此新增的目标拖拽引线搜索myself(获得对此蓝图实例的引用),此操作可以使ThirdPersonCharacter蓝图类里的变量传到Sedan中
现在上车,车会旋转飞出去,因为卡了碰撞,人也有碰撞,车也有碰撞,两个碰撞相排斥
从事件上车的目标拉出引线搜索设置Actor启用碰撞,注意,不要勾选,如图连接
请添加图片描述
现在解决了碰撞相斥的问题,而且角色会瞬间到达上车位置,但是角色不会随着车进行移动

选中自定义事件上车的目标,拖出引线,选择提升为变量
如图连接
请添加图片描述

AttachActorToComponent(附加Actor到组件)

Socket Name(骨骼名字):当玩家如果带枪,此节点输入骨骼的名字,可以把枪贴到此骨骼上
Location Rule选择以什么为参考
Rotaion Rule选择以什么为参考
Scale Rule选择以什么为参考
保持相对:相对于父类,在此问题中相对于SphereUp,会造成角色不知道跑到哪了
保持场景:相对于世界坐标,在此问题中应使用此
对其到目标

将Sphere重命名为SphereUp,拉出SphereUp,拉出引线搜索attach to,可以看到两个附加Actor到组件,附加组件到组件,这两个目标不一样,一个是Actor,另一个是组件,选择AttachActorToComponent(附加Actor到组件)
请添加图片描述
将变量目标重命名为小白人
连接蓝图
请添加图片描述
如此把角色附加到了SphereUp上
附加到汽车上不好调整角色位置,不如先在车上定位一个点,把角色附加到此点上
AttachActorToComponent(附加Actor到组件)Location Rule、Rotaion Rule、Scale Rule选择以场景为参考,如此角色就会和车一起移动了
上车蓝图总览
请添加图片描述

下车

下车的蓝图创建思路正好和上车相反

在Sedan蓝图类内创建“键盘 F”,为什么在Sedan蓝图类创建?因为上车时已经切换了控制权,所以只会在切换了控制权的这个蓝图类里才能响应,所以“键盘 F”创建在Sedan蓝图类内

如图连接蓝图,此蓝图是为了规避bug风险
请添加图片描述
和AttachActorToComponent(附加Actor到组件)相对应的是DetachFromActor(从Actor分离),在Location Rule、Rotation Rule、Scale Rule选择保持场景
请添加图片描述
现在如果在开车的状态下,按下F键,角色会脱离汽车

放置一个下车位置
请添加图片描述
如图连接蓝图
请添加图片描述
注意不要直接连接设置Actor变换的Rotation,如果连接,下车时如果车是倾斜的,角色下车后也会是倾斜的,一定要分割结构体引脚,连接z轴
请添加图片描述
开启角色碰撞,注意,要打勾
请添加图片描述
使镜头有过渡
请添加图片描述
切换回控制权
将小白人的变量类型转换成pawn,不要忘记自定义事件上车的小白人引脚,也要改成pawn(这是之前的失误)
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/832567.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于LNMP架构搭建Discuz论坛

LNMP: L---->linux系统,操作系统。 N----->nginx网站服务(前端),提供前端的静态页面服务。同时具有代理、转发的作用。(转发就是转发后端请求,转发PHP),nginx没有处理动态资源的功能,他有…

SnippetsLab for Mac(代码片段管理工具)

SnippetsLab for Mac特别版使用嵌套文件夹,标签和智能组支持在一个地方管理所有的代码片段,使工作变得简单。您可以按日期,标题等对代码段进行排序。 SnippetsLab for Mac可以帮助您收集和组织有价值的代码片段,并确保您可以随时…

20230803激活手机realme GT Neo3

20230803激活手机realme GT Neo3 缘起: 新买的手机:realme GT Neo3 需要确认: 1、4K录像,时间不限制。 【以前的很多手机都是限制8/10/12/16分钟】 2、通话自动录音 3、定时开关机。 4、GPS记录轨迹不要拉直线:户外助…

什么是高级持续威胁(APT)攻击

目录 前言什么是高级持续威胁高级持续威胁攻击有哪些独特特征APT攻击的五个阶段APT检测及防护措施总结 前言 APT攻击是利用多个阶段和不同攻击技术的复合网络攻击。APT不是一时兴起2构思或实施的攻击。相反,攻击者故意针对特定目标定制攻击策略。并在较长时间内进行…

openCV C++环境配置

文章目录 一、openCV 安装二、新建项目三、配置环境变量四、测试使用 编译器:vs2017 OpenCV:4.5.4 一、openCV 安装 将openCV安装到一个路径下,我安装到了D盘根目录下 二、新建项目 在vs2017新建控制台空项目,打开项目属性 在VC目录 -> 包含目录下…

艺术二维码 API 申请及使用

艺术二维码是一种创新的技术产品,它将二维码与美观的背景图像相结合,创造出既实用又美观的作品。它们不仅具有传统二维码的功能性,能被智能设备快速扫描识别,还加入了艺术元素,增强了视觉吸引力和品牌识别度。其中&…

Vue 路由 路由守卫

路由守卫 正如其名, vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。简单来说,就是在路由跳转 时候的一些钩子,当从一个页面跳转到另一个页面时,可以在跳转前、中、后做一些事情。 当你打开一个页面的前后需…

一文读透时区和时间戳以及基于Java的操作

重要概念 1. UTC 和 UTC8 UTC 是世界标准时间, UTC8 是东八区标准时间,中国就属于东八区, 也就是北京时间。 8 就是加8个小时。 时区的划分图示如下: 也就是说: 假如现在是UTC时间是 2023-08-08 01:00:00 &#xff0…

数据结构—哈夫曼树及其应用

5.6哈夫曼树及其应用 5.6.1哈夫曼树的基本概念 路径:从树中一个结点到另一个结点之间的分支构成这两个结点间的路径。 结点的路径长度:两结点间路径上的分支数。 树的路径长度:从树根到每一个结点的路径长度之和。记作 TL 结点数目相同的…

【MySQL】MySQL数据类型

文章目录 一、数据类型的分类二、tinyint类型2.1 创建有符号数值2.2 创建无符号数值 三、bit类型三、浮点类型3.1 float3.2 decimal类型 四、字符串类型4.1 char类型4.2 varchar类型 五、日期和时间类型六、枚举和集合类型6.1 enum的枚举值和set的位图结构6.2 查询集合find_in_…

带头单链表,附带完整测试程序

🍔链表基础知识 1.概念:链表是由多个节点链接构成的,节点包含数据域和指针域,指针域上存放的指针指向下一个节点 2.链表的种类:按单向或双向、带头或不带头、循环或不循环分为多个种类 3.特点:无法直接找到…

信号源功率输出是什么意思(功率信号源)

信号源功率输出是指信号源能够输出的最大功率。在无线电通信和电子工程领域中,信号源功率输出是一项非常重要的参数,它对信号传输距离、接收灵敏度、噪声抑制等方面都有着重要的影响。 信号源功率输出与信号传输距离密切相关。在无线电通信中&#xff0c…

二叉搜索树与双向链表(牛客网 和 剑指 Offer同类型题)

文章目录 JZ36 二叉搜索树与双向链表(牛客网)剑指 Offer 36. 二叉搜索树与双向链表 JZ36 二叉搜索树与双向链表(牛客网) 题目链接 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。如下图所示 注意: 1…

亚马逊品牌推荐金计划:通过亚马逊外营销活动赚取奖金!

亚马逊美国站发布公告称新推出的品牌推荐金计划可以让卖家在通过亚马逊外营销活动的销售中获得奖金,当卖家将非亚马逊营销流量引导至亚马逊时,您将获得促销产品以及客户在接下来的两周内购买的任何品牌产品平均销售额的10%的奖金,以下是公告内…

【C语言初阶】使用指针求字符串长度(五个版本盘点总结)

在代码的题目中,我们经常会遇到需要自己手写函数,求字符串长度的情况,那么今天博主就带大家一起盘点五种求字符串长度的写法 版本一:判断累加法 逻辑:由于字符串的末位是\0,且\0不计入字符串长度&#xf…

docker logs 使用说明

docker logs 可以查看某个容器内的日志情况。 前置参数说明 c_name容器名称 / 容器ID logs 获取容器的日志 , 命令如下: docker logs [options] c_name option参数: -n 查看最近多少条记录:docker logs -n 5 c_name--tail与-n 一样 &#…

C高级 作业 day2 8/3

1.脑图 2.递归实现&#xff0c;输入一个数&#xff0c;输出这个数的每一位 #include <myhead.h>void solute(int a) {if(a<10&&a>0) //如果是一位数{printf("%2d\t",a);return;}else //两位及以上{ solute(a/10);printf("%d\t",a%10…

1345:香甜的黄油(Dijkstra)---信息学奥赛一本通

【题目描述】 农夫John发现做出全威斯康辛州最甜的黄油的方法&#xff1a;糖。把糖放在一片牧场上&#xff0c;他知道N&#xff08;1≤N≤500&#xff09;只奶牛会过来舔它&#xff0c;这样就能做出能卖好价钱的超甜黄油。当然&#xff0c;他将付出额外的费用在奶牛上。 农夫Jo…

Electron 开发,报handshake failed; returned -1, SSL error code 1,错误

代码说明 在preload.js代码中&#xff0c;暴露参数给渲染线程renderer.js访问&#xff0c; renderer.js 报&#xff1a;ERROR:ssl_client_socket_impl.cc(978)] failed; returned -1, SSL error code 1,错误 问题原因 如题所说&#xff0c;跨进程传递消息&#xff0c;这意味…

Matlab对TMS320F28335编程--SVPWM配置互补PWM输出

前言 F28335中断 目的&#xff1a;FOC的核心算法及SVPWM输出&#xff0c;SVPWM的载波频率10kHz&#xff0c;SVPWM的每个周期都会触发ADC中断采集相电流&#xff0c;SVPWM为芯片ePWM4、5、6通道&#xff0c;配置死区 1、配置中断SVPWM进ADC中断&#xff0c;查上表知CPU1,PIE1 …