【UE4 RTS】01-Camera SetUp
UE版本:4.24.3
前言
本篇主要完成游戏模式、玩家控制器和玩家控制的Pawn的设置,下一篇介绍如何实现Pawn的移动
步骤
1. 首先创建一个俯视角游戏模板

2. 首先删除“TopDownCharacter”,

3. 新建一个文件夹命名为“RTS_Toturial”

在文件夹“RTS_Toturial”中新建一个文件夹“Blueprints”

在文件夹“Blueprints”中新建一个父类为Pawn的蓝图类,命名为“RTS_CameraPawn_BP”,该Pawn主要用于控制玩家调整视角的远近、移动和旋转等。

4. 打开“RTS_CameraPawn_BP”,添加一个场景组件,将其作为根组件


添加一个弹簧臂组件和一个摄像机组件

设置弹簧臂Y轴旋转为-70°

设置弹簧臂长度为1500

添加一个球形的静态网格体,缩放设置为0.25、0.25、0.25

设置球体的Y轴旋转度数为-70°

调整当前组件的父子关系如下

继续添加一个浮动Pawn移动组件

5. 新建一个玩家控制器,命名为“RTS_PlayerController_BP”

打开“RTS_PlayerController_BP”,新建一个宏,命名为“ReferenceCast”

添加输入,命名为“execute”,输出命名为“then”,类型都是执行。

添加如下节点,获取到“RTS_CameraPawn_BP”的引用

变量“CameraPawnRef”的类别设置为Reference

在事件图表中使用宏

6. 新建一个游戏模式基础,命名为“RTS_GameModeBase_BP”

打开“RTS_GameModeBase_BP”,修改玩家控制器类和默认Pawn类分别为“RTS_PlayerController_BP”和“RTS_CameraPawn_BP”

7. 打开项目设置,在地图和模式一栏中设置默认游戏模式为“RTS_GameModeBase_BP”

8. 回到“RTS_CameraPawn_BP”中,在类默认值中设置自动控制玩家为玩家0

9. 在世界场景设置中设置游戏模式覆盖为“RTS_GameModeBase_BP”

10. 可以删除模板自带的出生点“NetworkPlayerStart”,新添加一个出生点

此时运行,可以看到玩家控制的就是“RTS_CameraPawn_BP”

相关文章:
【UE4 RTS】01-Camera SetUp
UE版本:4.24.3 前言 本篇主要完成游戏模式、玩家控制器和玩家控制的Pawn的设置,下一篇介绍如何实现Pawn的移动 步骤 1. 首先创建一个俯视角游戏模板 2. 首先删除“TopDownCharacter”, 3. 新建一个文件夹命名为“RTS_Toturial” 在文件夹…...
Mirror网络库 | 说明
此篇为上文,下篇:Mirror网络库 | 实战 一、介绍 基于UNET,从2014年经过9年实战测试;服务器和客户端是一个项目;使用NetworkBehaviour而不是MonoBehaviour,还有NetworkServer和NetworkClient;Mi…...
分布式异步任务处理组件(九)
最近完成了网络通信模块的一些基本代码实现,这里记录一些关于类和接口设计的问题和思考;另外进度可能会受阻,之前不知道猴年马月投的简历现在开始邀约面试了,包括今天在内的三天都有一场面试--主要是今天中午的面试过后两分钟HR就…...
[excel]vlookup函数对相同的ip进行关联
一、需求(由于ip不可泄漏所以简化如下) 有两个sheet: 找到sheet1在sheet2中存在的ip,也就是找到有漏洞的ip 二、实现 vlookup函数有4个参数 第一个:当前表要匹配的列,选择第一个sheet当前行需要处理的ip即可 第二个:第二个shee…...
两个状态的马尔可夫链
手动推导如下公式。 证明: 首先将如下矩阵对角化: { 1 − a a b 1 − b } \begin {Bmatrix} 1-a & a \\ b & 1-b \end {Bmatrix} {1−aba1−b} (1)求如下矩阵的特征值: { 1 − a a b 1 − b } { x 1 x 2 } λ { x 1 x 2 }…...
SpringBoot 依赖管理
Spring Boot 依赖管理 1. 父项目做依赖管理 无需关注版本号,自动版本仲裁机制 <!-- 依赖管理 --> <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version&g…...
重试框架入门:Spring-RetryGuava-Retry
前言 在日常工作中,随着业务日渐庞大,不可避免的涉及到调用远程服务,但是远程服务的健壮性和网络稳定性都是不可控因素,因此,我们需要考虑合适的重试机制去处理这些问题,最基础的方式就是手动重试…...
[QCM6125][Android13] 修复PRODUCT_COPY_FILES无法拷贝so
文章目录 开发平台基本信息问题描述解决方法 开发平台基本信息 芯片: QCM6125 版本: Android 13 kernel: msm-4.14 问题描述 在进行系统移植时,经常会把一些自己开发的c或者c程序编译成so库,然后在系统服务中去调用这些库。所以在进行新代码开发时&am…...
微服务Eureka注册中心
目录 一、Eureka的结构和作用 二、搭建eureka-server 三、服务注册 四、服务发现 假如我们的服务提供者user-service部署了多个实例,如图: 存在的问题: order-service在发起远程调用的时候,该如何得知user-service实例的ip地址…...
Java:企业级java后端开发,需要掌握哪些内容
一、什么是后端开发 后端开发是指开发基于服务器端的软件应用程序,也称为系统的后台或服务器端编程。 后端程序员负责处理网站或应用程序后台的逻辑和功能,包括数据库管理、服务器端脚本编写、API设计、数据安全性、网站性能优化等。 后端开发技术通常包…...
使用Go语言生成Excel任务表依赖图(Markdown文件mermaid图)
一、前言 在游戏中,任务是非常常见的玩法,可能会有主线任务,支线任务以及其它一些类型的任务,各任务可能还会有前置任务,即需要完成某个任务之后,才能做当前任务。在游戏开发中,配置表可以使用…...
C语言和C++的区别在哪?如何自学C++?
C语言和C是两种不同的编程语言,它们在语法、特性和用途上有一些区别。以下是C语言和C的一些主要区别: 面向对象编程:C是一种支持面向对象编程的语言,它在C语言的基础上添加了类、对象、继承、多态等面向对象的特性。而C语言是一种…...
功能强大的开源数据中台系统 DataCap 1.13.0 发布
推荐一套基于 SpringBoot 开发的简单、易用的开源权限管理平台,建议下载使用: https://github.com/devlive-community/authx 推荐一套为 Java 开发人员提供方便易用的 SDK 来与 OpenAI 的 API 进行交互组件:https://github.com/devlive-community/openai…...
JTS Self-intersection异常TopologyException: side location conflict解决办法
JTS Self-intersection异常TopologyException: side location conflict解决办法 举例:问题围栏 MULTIPOLYGON (((114.0905685 32.1120567, 114.0905685 32.112957, 114.0905685 32.1138535, 114.0905685 32.1147537, 114.0905685 32.115654, 114.0905685 32.11655…...
Maven: No compiler is provided in this environment.
在Eclipse中运行Maven项目,报错: No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? 解决方法: Windows > Preferences > Java > Installed JREs > Add > Standard VM,…...
.NET-10. 其他-VSTO+VBA
VSTOVBA 前言VSTO 外接程序介绍:VSTO参考链接:VSTO 例子: VBA:参考链接: 前言 主要用于Excel插件。 VSTO 外接程序介绍: Excel、Word、PowerPoint、Project、Visio等等Office应用程序 相对简单 VSTO参考链接&#x…...
相机传感器格式与镜头光圈参数
相机靶面大小 CCD/CMOS图像传感器尺寸(sensor format)1/2’‘、1/3’‘、1/4’实际是多大 1英寸——靶面尺寸为宽12.7mm*高9.6mm,对角线16mm。 2/3英寸——靶面尺寸为宽8.8mm*高6.6mm,对角线11mm。 1/2英寸——靶面尺寸为宽6.…...
Android 设置头像(拍照获取、相册获取、裁剪照片)
在Android原生态开发过程中,往往会设计到用户头像的设置问题,一般来讲设置头像需要用到拍照、获取照片、存储照片、裁剪照片、显示照片等问题,本文将一步一步的进行说明讲解。 首先需要强调几点我在开发过程中遇到的问题。 权限问题…...
android开发之Android 自定义滑动解锁View
自定义滑动解锁View 需求如下: 近期需要做一个类似屏幕滑动解锁的功能,右划开始,左划暂停。 需求效果图如下 实现效果展示 自定义view如下 /** Desc 自定义滑动解锁View Author ZY Mail sunnyfor98gmail.com Date 2021/5/17 11:52 *…...
CAD绘制法兰、添加光源、材质并渲染
首先绘制两个圆柱体,相互嵌套 在顶部继续绘制圆柱体,这是之后要挖掉的部分 在中央位置绘制正方形 用圆角工具: 将矩形的四个角分别处理,效果: 用拉伸工具 向上拉伸到和之前绘制的圆柱体高度齐平 绘制一个圆柱体&#…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
