【蓝图】p45,多个角色控制权切换

news2024/11/17 3:43:33

p45,多个角色控制权切换

  • p45,多个角色控制权切换
    • 创建新玩家
        • 方法1
        • 方法2
    • 控制权切换
      • MultiGate按顺序指向一系列的蓝图引脚
      • possess(控制)
    • 切换时摄像机过渡效果
      • Set View Target with Blend(使用混合设置视图目标)
      • 折叠到宏,折叠节点

p45,多个角色控制权切换

创建新玩家

方法1和方法2冲突,只能用一种

方法1

从内容浏览器的蓝图拖拽一个角色到视口中,点击一次(不要两次,两次为选中),在右边细节面板搜索详情搜索prossess
请添加图片描述
单人游戏时,选择玩家0
多人游戏时,可以选则玩家1……
这样就可以开始操控角色

方法2

在窗口,打开世界场景设置
请添加图片描述
在世界场景设置找到game mode(游戏模式),在游戏模式重载找到ThirdPersonGameMode
请添加图片描述
在选择模式-》基础-》玩家出生点(场景中只能有一个)

可以在游戏模式重载右边加号创建新蓝图,创建新角色,当自己有角色蓝图时,可以在,游戏模式-》选中游戏模式-》默认pawn类,找到自建角色蓝图
请添加图片描述

控制权切换

在操作当前玩家时,其他玩家都在随机的做设定好的各种运动
如gta5的几名主角
本节目的实现此功能
场景中放几个ThirdPersonCharacter
在世界大纲选中所有小白人(按ctrl选中第一个,按shift选中最后一个,即可快速选中此区间)
打开关卡蓝图,缩小关卡蓝图,拖拽世界大纲内的小白人到关卡蓝图内
请添加图片描述

MultiGate按顺序指向一系列的蓝图引脚

按顺序指向一系列的蓝图引脚
请添加图片描述
是Gate的加强版
添加引脚可以添加Out 引脚的数量,可以执行更多的功能
Reset(重置),下方会出现一个bug,在按顺序切换完全部角色后,按1会无法再次切换角色,可以用此节点连接2或自定义事件,使玩家按2或触发自定义事件后可再次开始切换
Is Random(随机),勾选后会随机选则引脚触发事件(但是还是次数有限,没解决上述bug),没勾选会按顺序出发引脚事件
Loop(循环),勾选后会继续走,解决了bug
Start Index(开始指数),下标索引,可以选择从哪个引脚开始执行

如果Reset同时勾选Is Random,会随机选择,甚至会连续数次选择同一个玩家,使用Reset(重置)的原因是只使用Is Random(随机)会使走过的角色不会再走了

possess(控制)

创建蓝图“获取玩家控制器”,拉出引线搜索possess(控制)
possess(控制)可以实现改变玩家控制角色的功能
请添加图片描述
如图连接蓝图
请添加图片描述
想要实现按键盘1实现控制切换
创建键盘1,连接MulitGate,如此即可初步切换角色
请添加图片描述
按1按顺序切换到最后一个人时会出现bug按1不会再切换了
但是现在会出现,当切换控制权后,其他角色会立即停止运动,会造成如滞空等bug
请添加图片描述

切换时摄像机过渡效果

Set View Target with Blend(使用混合设置视图目标)

使用“获取玩家控制器”拉出引线搜索Set View Target with Blend(使用混合设置视图目标)
请添加图片描述
New View Target:当前摄像机(画面)去一个新的摄像机(画面)
Blend Time:摄像机转换的过程所花费的时间
Blend Func:转换画面的设置(由快而慢、由慢而快、匀速等)

创建一个“延迟”,如图连接蓝图
请添加图片描述
请添加图片描述

因为想生成的效果为切换摄像机画面要2秒,2秒之后再获得角色控制权,所以使用了延迟,并按上图顺序连接蓝图,如此,摄像机的切换就不会很生硬了
现在如果在切换摄像机的时候按1切换,就会出bug
所以,在按1的时候需要添加一个判断,判断摄像机切换完了与否
创建一个bool变量重命名为“摄像机切换是否完成?”
如图连接蓝图,注意bool变量“摄像机切换是否完成?”初始时不要勾选请添加图片描述
请添加图片描述
全部蓝图如下
请添加图片描述

折叠到宏,折叠节点

为什么不可以优化蓝图,使其变为一个函数,因为存在延迟节点,函数里不能存在与时间相关的节点,不能有流程控制的节点(如MultiGate)
也可以优化,选中如图这些固定的节点,右键,折叠到宏或者折叠节点
请添加图片描述
节点中的蓝图节点一般是不同的
函数和宏里面的蓝图节点一般都是相同的

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

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

相关文章

SSM(Vue3+ElementPlus+Axios+SSM前后端分离)【二】

文章目录 SSM--基础环境搭建【二】项目介绍项目功能/界面● SSM 整合项目界面 项目全局配置web.xmlSpringMVC 配置 SSM–基础环境搭建【二】 项目介绍 项目功能/界面 ● SSM 整合项目界面 项目全局配置web.xml 配置furns_ssm\src\main\webapp\WEB-INF\web.xml , 和项目全局…

【搜索】DFS迭代加深

目录 迭代加深例题加成序列题意思路代码 迭代加深 搜索时可能会遇到这样一种情况: 明明答案就在第一层!但是因为DFS的缘故浪费很多时间 迭代加深就是用来解决这个问题的算法 定义一个 max_depth ,每次搜索时,超过这一层就全部剪…

Spring事务(声明式事务)(Spring的事务,Spring隔离级别,事务传播机制)

目录 一、什么是事务,为什么要用事务 二、Spring声明式事务 🍅 1、Transactional的使用 🎈 事务回滚 🎈注意:异常被捕获,不会发生事务回滚 🍅 2、Transactional 作⽤范围 🍅 …

硬盘的分类

目前常见的硬盘种类主要有以下2种: 机械硬盘(HDD) 机械硬盘(HDD)是一种利用旋转磁盘和读写头来存储和访问数据的存储设备。它由磁盘、读写头、电机和控制电路等组成,磁盘通常是一种铝合金或玻璃材质的圆盘&…

《HeadFirst设计模式(第二版)》第二章代码——观察者模式

代码文件目录结构: DisplayElement package Chapter2_ObserverPattern.interfaces;/*** Author 竹心* Date 2023/8/2**/public interface DisplayElement {public void display(); }Observer package Chapter2_ObserverPattern.interfaces;/*** Author 竹心* Date…

【win11+vs 2017+OpenCV4.5.5+Qt5.12配置】详细安装过程+小问题解决

0.版本选择 由于Qt5无法与最新的vs2022兼容,扩展工具中一直显示不可用,所以将vs降级成vs2017。 在安装Qt的过程中,会选择安装Qt套件,其中就的MCVS 2017,说明vs2017是与qt兼容的。 当然也可以用qt creator这一原生IDE。…

PROFINet转Modbus协议转换网关Profinet数据通讯模块

产品概述 你是否曾经遇到过不同网络协议之间的沟通问题?捷米特JM-RTU-PN为你解决这个难题! 捷米特JM-RTU-PN是一款数据通讯模块,能够实现PROFINet网络与Modbus网络之间的数据传输。它可以将RS485网络连接到PROFINet网络,并支持不…

《剑指offer》刷题(1)链表篇

class ListNode: def __init__(self, x): self.val x self.next None class Solution: def printListFromTailToHead(self , listNode: ListNode) -> List[int]: #用栈记录遍历的结果,然后返回出栈结果 if listNode is None: return [] stack [] p listNode…

8.2Thread类的常见属性

1. 2.前台线程和后台线程 前台线程:影响进程结束(如果前台线程没有执行完,进程不结束). 后台线程(守护线程):不影响线程结束. 创建线程默认是前台线程. 修改成后台线程:thread.setDaetrue);

33.利用abs 解决绝对值问题(matlab程序 )

1.简述 abs函数的功能是绝对值和复数的模 语法 Y abs(X) 说明 Y abs(X) 返回数组 X 中每个元素的绝对值。如果 X 是复数,则 abs(X) 返回复数的模。 示例 标量的绝对值 y abs(-5) y 5 向量的绝对值 创建实值的数值向量。 x [1.3 -3.56 8.23 -5 -0.01…

ARP断网攻击及防御

ARP断网攻击及防御 攻击防御 攻击 PC1的IP地址 10.9.136.222 PC2的IP地址 10.9.136.55在局域网里通信 需要有IP地址和MAC地址 两台电脑PC1和PC2要想相互通信,PC1在连接PC2的时候,PC1会先查看自己的ARP缓存表(命令:arp -a &#xf…

利用鸿鹄可观测性监控Istio Ingress网关

一、需求描述 在上一篇《利用Vector和鸿鹄搭建微服务应用的可观测性平台》中,阐述了微服务的基本概念、优点及如何利用鸿鹄来处理分布式应用的日志。本文将进一步讨论微服务架构面临的问题、服务网格及鸿鹄处理Istio Gateway的独特优势。 1.1 微服务架构面临的挑战 …

学习委员之作业管理系统—前端部分

拯救学习委员之作业管理系统—前端部分 项目背景 学习委员收集作业的过程,繁琐且曲折,作者充分理解并体谅为大家服务的苦逼学习委员,以此为出发点和灵感,设计并开发了此套作业管理系统,希望能帮助各位提高效率&#…

语义检索系统【三】:基于Milvus 搭建召回系统抽取向量进行检索,加速索引

搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术…

[openCV]基于拟合中线的智能车巡线方案V4

import cv2 as cv import os import numpy as np# 遍历文件夹函数 def getFileList(dir, Filelist, extNone):"""获取文件夹及其子文件夹中文件列表输入 dir:文件夹根目录输入 ext: 扩展名返回: 文件路径列表"""newDir d…

Linux(四)--包软件管理器与Linux上软件的下载示例

一.包软件管理器【yum和apt】 1.先来学习使用yum命令。yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。通过yum命令我们可以轻松实现软件的下载,查找,卸载与更新等管理软件的操作。 最常用…

线程池-手写线程池Linux C简单版本(生产者-消费者模型)

目录 简介手写线程池线程池结构体分析task_ttask_queue_tthread_pool_t 线程池函数分析thread_pool_createthread_pool_postthread_workerthread_pool_destroywait_all_donethread_pool_free 主函数调用 运行结果 简介 本线程池采用C语言实现 线程池的场景: 当某些…

Delphi 开发的QR二维码生成工具,开箱即用

目录 一、基本功能: 二、使用说明: 三、操作演示gif 四、下载链接 在日常的开发中,经常需要将一个链接生成为二维码图片,特别是在进行支付开发的时候,因为我们支付后台获取了支付链接,需要变成二维码扫…

设计模式行为型——解释器模式

目录 什么是解释器模式 解释器模式的实现 解释器模式角色 解释器模式类图 解释器模式举例 解释器模式代码实现 解释器模式的特点 优点 缺点 使用场景 注意事项 实际应用 什么是解释器模式 解释器模式(Interpreter Pattern)属于行为型模式&…

SOLIDWORKS中的弹簧设计指南

SOLIDWORKS是一款广泛使用的三维计算机辅助设计软件,可以用于设计各种机械零件和组件,包括弹簧。在SOLIDWORKS中设计弹簧需要注意一些关键点,本文将为您介绍SOLIDWORKS中的弹簧设计指南。 1. 弹簧类型 按受力性质,弹簧类型包括压…