当前位置: 首页 > news >正文

【UE5 智慧城市系列】5-通过鼠标键盘控制摄像机

目标

通过鼠标WASD键控制摄像机前后左右移动,鼠标滚轮控制弹簧臂长度的修改,鼠标中键控制摄像机旋转。

步骤

1. 首先创建一个游戏模式,这里命名为“BP_GameMode”

2. 再创建一个玩家控制器,这里命名为“BP_PlayerController”

3. 新建一个玩家控制的Pawn,这里命名为“BP_CameraPawn”

4. 打开项目设置,默认的游戏模式设置为“BP_GameMode”

5. 打开游戏模式“BP_GameMode”,设置玩家控制器类为“BP_PlayerController”,默认Pawn类为“BP_CameraPawn”

6. 在项目设置中,添加如下操作映射和轴映射

7. 打开“BP_CameraPawn”,添加如下组件

 

8. 打开玩家控制器,首先获取对“BP_CameraPawn”的引用

 

添加如下变量,其中,DefaultMovementSpeed默认值为15,ZoomSpeed为150,MinZoomLimit为0,MaxZoomLimit为2000,PanSpeed为5

 

 键盘前后左右移动的逻辑如下:

鼠标滑轮控制弹簧臂伸缩的逻辑如下:

鼠标中键控制旋转的逻辑如下:

 

相关文章:

【UE5 智慧城市系列】5-通过鼠标键盘控制摄像机

目标 通过鼠标WASD键控制摄像机前后左右移动,鼠标滚轮控制弹簧臂长度的修改,鼠标中键控制摄像机旋转。 步骤 1. 首先创建一个游戏模式,这里命名为“BP_GameMode” 2. 再创建一个玩家控制器,这里命名为“BP_PlayerController” …...

工作纪实38-ES分页数据问题

之前分页查询有接ES,随着系统使用时间数据量不断增加,会有如下报错。关键信息就是 Result window is too large, from size must be less than or equal to: [10000] but was [100001] 当索引非常非常大(千万或亿),是无法按照from size做深…...

设计模式之访问器模式(Visitor)的C++实现

1、访问器模式的提出 在软件开发过程中,早已发布的软件版本,由于需求的变化,需要给某个类层次结构增加新的方法。如果在该基类和子类中都添加新的行为方法,将给代码原有的结构带来破坏,同时,也违反了修改封…...

Python之OS模块

os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;即os模块提供了非常丰富的方法用来处理文件和目录。 使用的时候需要导入该模块:import os...

vue 使用canvas 详细教程

Vue.js 中使用 Canvas Vue.js 是一个流行的 JavaScript 框架,用于构建用户界面。它提供了一种简洁的方式来管理和渲染数据,同时也支持与其他库和工具的集成。要在 Vue.js 中使用 Canvas,您可以按照以下步骤进行操作: 在 Vue.js …...

Git 基本操作【本地仓库与远程仓库的推送、克隆和拉取】

文章目录 一、Git简介二、Git的下载安装三、Git常规命令四、新建本地仓库五、本地分支操作六、Git远程仓库七、远程仓库克隆、抓取和拉取八、总结九、学习交流 一、Git简介 Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS&…...

FPGA开发

https://www.enclustra.com.cn/?bd_vid11435475462206745180 https://www.monolithicpower.cn/design-tools/design-tools/llc-design-tool.html https://www.elecfans.com/article/88/143/2012/20120718280641_2.html...

js手撕代码

1、实现instanceof运算符 instanceof运算符用于检测构造函数的prototype属性是否出现在某个实例对象的原型链上,运算符左侧是实例对象,右侧是构造函数。 const isInstanceof function(left,right){let proto Object.getPrototypeOf(left);while(true…...

typecho反序列化

typecho反序列化 环境的搭建 漏洞复现前提 <?php class Typecho_Feed {const RSS1 RSS 1.0;const RSS2 RSS 2.0;const ATOM1 ATOM 1.0;const DATE_RFC822 r;const DATE_W3CDTF c;const EOL "\n";private $_type;private $_items;public function __const…...

php程序设计的基本原则

单一职责原则&#xff08;SRP&#xff09;&#xff1a;一个类应该只有一个原因引起变化&#xff0c;即一个类应该只负责一项职责。 class User {private $name;private $email;public function __construct($name, $email) {$this->name $name;$this->email $email;}p…...

python execute() 使用%s 拼接sql 避免sql注入攻击 好于.format

1 execute(参数一:sql 语句) # 锁定当前查询结果行 cursor.execute("SELECT high, low, vol FROM table_name WHERE symbol %s FOR UPDATE;"% (symbol,)) 2 .format() cursor.execute("SELECT high, low, vol FROM table_name WHERE symbol {} FOR UPDATE;…...

RPC项目解析(1)

分布式通信框架&#xff1a;让远程方法调用和调用进程内方法一样简单 RPC通信原理 rpc&#xff1a;远程过程调用&#xff08;远程能够调用其他模块的方法&#xff09; 在rpc中需要发送时候&#xff0c;对发送的信息进行序列化&#xff0c;在服务端对接收到的信息进行反序列化…...

点云从入门到精通技术详解100篇-基于 RGB 图像与点云融合的三维点云分割算法及成像系统

目录 前言 相机和激光雷达标定研究现状 点云分割算法研究现状...

JDK8新特性

Lembda表达式 lembda表达式是一个简洁、可传递的匿名函数,实现了把代码块赋值给一个变量的功能 是我认为jdk1.8中最让人眼前一亮的特性&#xff08;我没用过其他函数式的语言&#xff09; 在了解表达式之前&#xff0c;我们先看两个概念 函数式接口 含有且仅含有一个抽象方法&…...

X86_64函数调用汇编程序分(2)

X86_64函数调用汇编程序分&#xff08;2&#xff09; 1 X86_64寄存器使用标准2 leaveq和retq指令2.1 leaveq2.2 retq 3 执行leaveq和retq之后栈的结构3.1 执行leaveq之后栈的结构3.1.1 test_fun_b函数执行leaveq之前的栈结构示意图3.1.2 test_fun_b函数执行leaveq之后的栈结构示…...

组件传值之ref(解决父传子动态绑定问题)

在父组件往子组件传值&#xff0c;子组件中要显示父组件的信息&#xff0c;首先是在网上搜的watch 来监听组组件的props,但是父组件只传一次&#xff0c;后续再更改就没了&#xff0c;所以我用的$refs props:{params:{type:Object;defult():{return {} } } }watch:{params: {/…...

vscode-server

1know_host清除 2 删除服务器里的home/user/.vscode-server&#xff08;不是根root下的vscode-server&#xff09;&#xff0c;删除时用户名保持一致。 3 ssh配置文件 /etc/ssh/sshd_config[想改变,使用root&#xff0c;修改文件权限] 4 删除修改后&#xff0c;重启Windows下…...

ubuntu 20.04安装开发环境总结_安装python

Ubuntu 20.04 是一款主要面向开发人员的操作系统之一&#xff0c;与此同时&#xff0c;它还支持多种开发环境和工具的使用。但是因为对市面上各种软件的支持没有window那样友好&#xff0c;所以对ubuntu系统安装配置各种环境的问题做了个总结 安装 PyCharm&#xff1a; 可以从…...

尚硅谷_宋红康_IntelliJ IDEA 常用快捷键一览表

1-IDEA的日常快捷键 第1组&#xff1a;通用型 说明快捷键复制代码-copyctrl c粘贴-pastectrl v剪切-cutctrl x撤销-undoctrl z反撤销-redoctrl shift z保存-save allctrl s全选-select allctrl a 第2组&#xff1a;提高编写速度&#xff08;上&#xff09; 说明快捷…...

Java设计模式之建造者模式详解(Builder Pattern)

在日常的开发工作中&#xff0c;我们常常需要创建一些复杂的对象。这些对象可能包含许多不同的属性&#xff0c;并且这些属性的初始化过程可能相当复杂。在这种情况下&#xff0c;建造者模式是一种非常有用的设计模式&#xff0c;因为它允许我们分步骤地创建复杂的对象。 概念和…...

ROS2新手必看:用turtlesim小乌龟快速入门机器人仿真(附完整安装指南)

ROS2实战入门&#xff1a;从turtlesim小乌龟探索机器人仿真世界 引言&#xff1a;为什么选择turtlesim作为ROS2的起点&#xff1f; 在机器人操作系统(ROS)的学习道路上&#xff0c;很多开发者都会遇到一个共同的困境&#xff1a;理论概念抽象难懂&#xff0c;而直接上手复杂项…...

AI系统-7Pytorch数字识别实战及算子介绍

之前铺垫了神经网络的基础知识&#xff0c;这里使用编程工具Pytorch进行一个实战讲解。首先变成一个看得见、摸得着的程序和代码&#xff0c;然后再说后续怎么使用GPU/NPU硬件去优化。 本文主要参考ZOMI酱《AI系统》&#xff1a;https://chenzomi12.github.io/01Introduction/0…...

从Debezium到Flink RowData:手把手解析Flink CDC 2.3如何优雅处理MySQL的UPDATE事件

从Debezium到Flink RowData&#xff1a;深入解析Flink CDC 2.3处理MySQL UPDATE事件的机制 在实时数据处理的领域中&#xff0c;变更数据捕获(CDC)技术已经成为构建数据管道的核心组件。当MySQL数据库中的一条记录被更新时&#xff0c;如何准确捕获这一变更并将其高效地传递到下…...

飞书文档到Markdown的突破性转换技术:feishu2md架构深度解析

飞书文档到Markdown的突破性转换技术&#xff1a;feishu2md架构深度解析 【免费下载链接】feishu2md 一键命令下载飞书文档为 Markdown 项目地址: https://gitcode.com/gh_mirrors/fe/feishu2md 在当今企业协作环境中&#xff0c;飞书文档已成为团队知识沉淀的核心载体&…...

开源视觉模型推荐:GLM-4v-9B,高分辨率输入,中文OCR领先

开源视觉模型推荐&#xff1a;GLM-4v-9B&#xff0c;高分辨率输入&#xff0c;中文OCR领先 1. 引言 在当今多模态AI快速发展的时代&#xff0c;视觉-语言模型正成为技术前沿的热点。GLM-4v-9B作为智谱AI最新开源的90亿参数视觉-语言多模态模型&#xff0c;凭借其11201120高分…...

OneMore插件:提升OneNote效率的160+实用功能全解析

OneMore插件&#xff1a;提升OneNote效率的160实用功能全解析 【免费下载链接】OneMore A OneNote add-in with simple, yet powerful and useful features 项目地址: https://gitcode.com/gh_mirrors/on/OneMore 作为一名科研工作者&#xff0c;李明每天需要处理数十页…...

小白友好!FunASR语音识别镜像部署教程,开箱即用

小白友好&#xff01;FunASR语音识别镜像部署教程&#xff0c;开箱即用 1. 快速了解FunASR语音识别 FunASR是由阿里云推出的开源语音识别工具包&#xff0c;它就像是一个能听懂人说话的智能助手。想象一下&#xff0c;你对着手机说话&#xff0c;它能立刻把你说的话变成文字—…...

滞回比较器设计实战:从理论到参数优化

1. 滞回比较器基础&#xff1a;从门铃到航天器的抗噪神器 第一次接触滞回比较器是在大学电子设计课上&#xff0c;当时教授用一个生动的例子开场&#xff1a;"想象你家的门铃——如果它对任何风吹草动都响个不停&#xff0c;你会疯掉&#xff1b;但如果连用力敲门都没反应…...

5分钟掌握League Akari:英雄联盟玩家的智能助手终极指南

5分钟掌握League Akari&#xff1a;英雄联盟玩家的智能助手终极指南 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League Akari…...

禅修运维法:服务器宕机时集体冥想

当技术危机遇上心灵平静在软件测试领域&#xff0c;服务器宕机是高频挑战&#xff0c;不仅中断测试流程&#xff0c;还引发团队压力。传统运维强调硬件修复和代码调试&#xff0c;但忽略了人的因素——压力下的决策失误往往加剧问题。禅修运维法创新性地将佛教禅修融入IT管理&a…...