【UE5】游戏框架GamePlay

news2025/6/16 20:26:28

项目资源文末百度网盘自取

游戏框架

游戏 由 游戏模式(GameMode)游戏状态(GameState) 所组成

加入游戏的 人类玩家 与 玩家控制器(PlayerController) 相关联

玩家控制器允许玩家在游戏中拥有 HUD,这样他们就能在关卡中拥有物理代表

玩家控制器还向玩家提供 输入控制(Input) 抬头显示

以及用于处理摄像机视图玩家摄像机管理器

在这里插入图片描述

游戏模式

世界场景设置 中可以设置 游戏模式 以及其他对象

在这里插入图片描述

在这里插入图片描述
游戏的基础规则应该存放在游戏模式(GameMode)中,游戏模式仅存在于服务器上,他通常存储客户端不需要明确知道的游戏信息

例如,在我们的游戏中,每隔一段按时间就会有一次空投补给,决定空投的时间,计算空投的位置以及生成空投的内容,这些逻辑就应该写在 游戏模式 中。客户端不关注这些内容是怎么生成的,当服务端计算完成后通知客户端即可

游戏状态

游戏状态类 存放与整个游戏有关的信息,存放在服务器和客户端上,因此,服务器可以在 游戏状态类 上使用复制变量让所有客户端保持最新的数据

例如,在我们的游戏中剩余玩家数量,安全区信息等状态,就应该在 游戏状态类 上保存

在这里插入图片描述

Pawn

Pawn是玩家在世界中的物理象征

在这里插入图片描述

运行游戏,在世界大纲中找到默认的Pawn

细节面板中可以看到 默认的Pawn有移动组件(MovementComponent)碰撞组件(CollisionComponent)

通过WASD键可以移动,当碰到物体时会发生碰撞效果

在这里插入图片描述

Character

在我们的游戏中,玩家角色是需要被显示出来的,而且是具有人型形态特征的

使用Character对象取代Pawn

创建一个Character,Character继承自Pawn对象

在这里插入图片描述

在这里插入图片描述

Character对象中默认带有角色移动组件,可以实现在场景中行走、跑动、跳跃、飞行和游泳功能

在这里插入图片描述

还有胶囊体组件,表示角色的物理尺寸

在这里插入图片描述

还有骨骼模型组件,显示角色骨骼模型,并且可以使用骨骼的高级动画

在这里插入图片描述

玩家控制器

玩家控制器用于控制角色的行为,在其中处理用户的输入,然后将命令发送给Pawn,玩家控制器在游戏中一直存在

在这里插入图片描述

HUD

HUD指的是在屏幕上覆盖的状态和信息,HUD的目的告知玩家当前游戏状态,例如分数、生命值、游戏剩余时间等,类似这些信息通常是不可以交互的,还有一些信息,例如背包界面是可以被交互的
在这里插入图片描述
项目资源:
链接:https://pan.baidu.com/s/1nQHvZXC4BDsfbFWDYZqEfA?pwd=bsvx
提取码:bsvx

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

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

相关文章

XSS靶场-DOM型初级关卡

一、环境 XSS靶场 二、闯关 1、第一关 先看源码 使用DOM型&#xff0c;获取h2标签&#xff0c;使用innerHTML将内容插入到h2中 我们直接插入<script>标签试一下 明显插入到h2标签中了&#xff0c;为什么不显示呢&#xff1f;看一下官方文档 尽管插入进去了&#xff0…

腾讯云轻量服务器流量用完了怎么办?停机吗?

腾讯云轻量服务器流量用完了怎么办&#xff1f;超额流量另外支付流量费&#xff0c;流量价格为0.8元/GB&#xff0c;会自动扣你的腾讯云余额&#xff0c;如果你的腾讯云账号余额不足&#xff0c;那么你的轻量应用服务器会面临停机&#xff0c;停机后外网无法访问&#xff0c;继…

Spring Boot单元测试与热部署简析

1 Spring Boot的简介 Spring Boot是一个用于构建独立的、生产级别的Spring应用程序的框架。它简化了Spring应用程序的开发过程&#xff0c;提供了自动配置和默认配置&#xff0c;使得开发者只需专注于业务逻辑的实现&#xff0c;而不用去关注繁琐的配置问题。 Spring …

【MATLAB】MATLAB转C/C++语言并部署到VS2019

首先将你要转换的代码保存 function [outputArg1, outputArg2] test(inputArg1,inputArg2)print(inputArg1inputArg2)outputArg1double(inputArg1inputArg2);outputArg2double(inputArg1*inputArg2); end在APP中找到MATLAB Coder 选择保存的文件 C/C中需要给变量定义类型&…

江科大stm32学习笔记——【5-1】EXIT外部中断

1.中断系统 中断&#xff1a;在主程序运行过程中&#xff0c;出现了特定的中断触发条件&#xff08;中断源&#xff09;&#xff0c;使得CPU暂停当前正在运行的程序&#xff0c;转而去处理中断程序&#xff0c;处理完成后返回原来被暂停的位置继续运行。 外部中断&#xff1a;…

推理判断-聂佳-判读4-定义判断

知识点讲解 考点1 快速识别有效信息 考点2 同构选项排除 题目 考点1 快速识别有效信息 考点2 同构选项排除 总结

ubuntu debian apt deb debootstrap根文件系统制作 利用国内源加速 清华源

参考项目 https://github.com/Kron4ek/Wine-Builds/blob/master/create_ubuntu_bootstraps.sh 制作一个最小的deb 根文件系统 sudo apt install debootstrap debootstrap --arch amd64 jammy ~/tmp/ubuntu-jammy-bootstrap https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ 命…

【kubernetes】关于k8s集群中的ingress规则案例

目录 一、k8s 对外服务之 Ingress 1.1什么是ingress 1.2外部的应用能够访问集群内的服务有哪些方案&#xff1f; 1.3Ingress 组成 1.4Ingress-Nginx 工作原理 1.5ingress 暴露服务的方式 二、实操ingress暴露服务 前期.部署 nginx-ingress-controller 2.1基于host网络…

Hi3516DV500+SC2210 AIISP 黑光相机

1. Hi3516DV500 Hi3516DV500是一颗面向行业市场推出的高清智能网络摄像头SoC。该芯片最高支持2路sensor输入&#xff0c;支持最高5M30fps的ISP图像处理能力&#xff0c;支持2F WDR、多级降噪、六轴防抖、多光谱融合等多种传统图像增强和处理算法&#xff0c;支持通过AI算法对输…

实施工程师的项目流程

实施工程师负责项目的执行和实施&#xff0c;他的项目流程&#xff1a; 1. 项目准备阶段&#xff1a; - 确认项目需求和目标。 - 制定项目计划和工作范围。 - 分配资源和制定预算。 - 确定项目团队成员和角色。 2. 设计和准备阶段&#xff1a; - 分析和评估项…

187基于matlab的弹道目标跟踪滤波方法

基于matlab的弹道目标跟踪滤波方法&#xff0c;扩展卡尔曼滤波&#xff08;extended Kalman filter, EKF&#xff09;、转换测量卡尔曼滤波&#xff08;conversion measurement Kalman filter, CMKF&#xff09;跟踪滤波&#xff0c;得到距离、方位角、俯仰角误差结果。程序已调…

力扣hot100:76.最小覆盖子串(滑动窗口)

本题使用滑动窗口解决&#xff0c;用right表示滑动窗口的右边界&#xff0c;left表示滑动窗口的左边界。寻找可行解&#xff0c;我们可以这样约定滑动窗口的意义&#xff1a;right指针向右移动&#xff0c;是使得滑动窗口找到可行解。left指针向右移动是为了更新窗口使得其可以…

【蓝牙协议栈】【经典蓝牙】【BLE蓝牙】蓝牙协议规范(射频、基带链路控制、链路管理)

目录 1. 蓝牙协议规范&#xff08;射频、基带链路控制、链路管理&#xff09; 1.1 射频协议 1.2 基带与链路控制协议 1.3 链路管理器 1. 蓝牙协议规范&#xff08;射频、基带链路控制、链路管理&#xff09; 蓝牙协议是蓝牙设备间交换信息所应该遵守的规则。与开放系…

VMware虚拟机安装Ubuntu kylin22.04系统教程(附截图详细步骤)

一、版本信息 虚拟机产品&#xff1a;VMware Workstation 17 Pro 虚拟机版本&#xff1a;17.0.0 build-20800274 ISO映像文件&#xff1a;ubuntukylin-22.04-pro-amd64.iso 二、安装步骤 打开虚拟机&#xff0c;点击创建新的虚拟机&#xff1a; 选择自定义&#xff1a; 硬…

js【深度解析】代码的执行顺序

代码的分类 我们将每一句要执行的 js 代码当做一个任务&#xff0c;则 js 代码可以按照其执行方式的不同&#xff0c;按下图分类 同步任务&#xff1a;立即执行的代码异步任务&#xff1a;延迟执行的代码 微任务&#xff1a;被放入微任务队列&#xff08;micro task queue&…

AI给开发经验3-5年的程序员的一些建议

Q: 你是一名CTO&#xff0c;请你给开发经验3-5年的程序员一些职业和生活方面的建议&#xff0c;1500字。 A: 作为一名有着丰富经验的CTO&#xff0c;我深知程序员在职业道路上的成长并非一帆风顺。针对开发经验在3-5年的程序员&#xff0c;我想从职业和生活两个方面&#xff0…

【NR 定位】3GPP NR Positioning 5G定位标准解读(十一)-增强的小区ID定位

前言 3GPP NR Positioning 5G定位标准&#xff1a;3GPP TS 38.305 V18 3GPP 标准网址&#xff1a;Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;一&#xff09;-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;…

idm对比aria2哪个好 aria2和idm哪个快 Aria2和IDM的原理

一、idm对比aria2哪个好 下面对aria2和idm进行对比&#xff0c;看看哪款更好。 idm: 优势&#xff1a; 1&#xff09;可将下载速度提升5倍以上&#xff1b; 2&#xff09;界面友好&#xff0c;操作简便&#xff1b; 3&#xff09;支持多个主流的浏览器&#xff1b; 4&am…

linux 查看打开使用了哪些端口

你可以使用 netstat 命令来查看Linux系统中正在使用的端口。例如&#xff0c;要查看所有正在使用的TCP和UDP端口&#xff0c;你可以运行&#xff1a; sudo netstat -tulpn如果你只想查看所有正在使用的TCP端口&#xff0c;你可以运行&#xff1a; sudo netstat -tpln 如果你只…

通过Step Back提示增强LLM的推理能力

原文地址&#xff1a;enhancing-llms-reasoning-with-step-back-prompting 论文地址&#xff1a;https://arxiv.org/pdf/2310.06117.pdf 2023 年 11 月 6 日 Introduction 在大型语言模型不断发展的领域中&#xff0c;一个持续的挑战是它们处理复杂任务的能力&#xff0c;这…