UE5 学习系列(三)创建和移动物体

news2025/6/12 22:59:43

这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下:

  • B 站视频:s03-创建和移动物体

如果你不打算开之前的博客并且对UE5 比较熟的话按照以下2步操作即可跟上这篇博客的内容:

  • 在资源浏览器 Content Drawer 中导入初学者内容 Starter Content
  • 在资源浏览器 Content Drawer 中导入第三人称游戏模式 ThirdPerson

如果你是 UE5 新手建议跟随前两篇博客或者原始B站视频链接操作一下:

  • 博客一:UE5 学习系列(一)创建一个游戏工程
  • 博客二:UE5 学习系列(二)用户操作界面及介绍

1. 放置旋转缩放

1.1 放置基础物体

放置物体有很多种方式,第一种方式是在上方工具栏中的 Quixel Bridge 中进行资产管理,后续会说。

在这里插入图片描述
第二种方式也是最初级的方式是仍然是在这个工具栏中,这里以放置一个立方体为例,在物体菜单中选择 Shapes 然后选择立方体 Cube,直接点击即可。

在这里插入图片描述

鼠标点击物体即可弹出物体的坐标系,拖动三个坐标轴箭头即可实现物体在三个方向上的平移。

在这里插入图片描述

1.2 通过内容浏览器添加物体

之前的博客介绍过资源浏览器 Content Drawer,上面的操作同样可以通过资源浏览器实现。

  1. 点击左下角的资源浏览器 Contant Drawer
  2. 在左侧工程文件树中选中内容 Contant,这一步主要是限定下一步筛选的范围;
  3. 点击窗口左侧的过滤按钮;
  4. 在过滤器中勾选静态网格对象 Static Mesh

在这里插入图片描述

在勾选静态网格过滤器后,可以拖拽里面任意物体到操作界面中:

在这里插入图片描述

1.3 移动物体

在操作窗口中点击物体后会出现以 几何中心 为原点的坐标轴,除了上面介绍的通过坐标轴进行拖动以外,还可以拖动两两坐标轴之间的的直角实现平面范围内的移动:

在这里插入图片描述

视频在这里教授了一个小技巧,如果想要将物体快速落到地面,在点击物体后可以按下 End 键,这个键通常和 PgDn 键是一个,如果你的 End 键是共用键位的话可以尝试用 Fn + 组合键的方式触发:

在这里插入图片描述

1.4 旋转物体

旋转物体有两种方式,任选其一即可:

  • 方式一:在操作界面的右上角点击 旋转 图标进入旋转模式;
  • 方式二:点击键盘 E 键进入旋转模式;

在进入旋转模式后拖拽物体表面的颜色条实现绕不同轴的旋转;

【Note】:旋转期间无法移动物体,可以点击旋转按钮旁边的 移动 图标进入移动模式或快捷键 w
在这里插入图片描述

1.5 缩放物体

缩放物体也有两种方式:

  • 方式一:在操作界面的右上角点击 缩放 图标进入旋转模式;
  • 方式二:点击键盘 E 键进入旋转模式;

进入缩放模式后拖拽四个方块即可实现不同轴向的缩放,如果想要物体在三个轴向上均匀缩放可以点击中心的方块并拖拽。

在这里插入图片描述

1.6 世界坐标系与相对坐标系

点击操作界面左上角的 地图 图标即可实现世界坐标系与物体相对坐标系之间的显示切换,世界坐标系永远平行于地面;物体相对坐标则是从几何中心出发,朝向与物体姿态相关。

在这里插入图片描述

1.7 聚焦物体

这个操作在视频的顺序播放中没有提到,如果你把物体旋转或视角拉的不好看的话可以按照下面两部操作快速正视物体,聚焦后物体会成为你当前操作界面中占据绝大多数面积的显示:

  1. 点击并选中物体;
  2. 点击键盘的 F 按键(Focus)

【Note】:无论你是否在移动或旋转模式下,这个 Focus 操作均有效;

在这里插入图片描述

1.8 自动吸附/对齐表面

对齐表面默认是不开启的,在操作界面的右上角点击 对齐 按钮,在下拉框中勾选对齐表面 Surface Snapping

在这里插入图片描述
然后再添加一个球体并将其靠近之前添加的立方体表面就可以实现自动吸附:

【Note】:这个对齐表面通常在创建组合物体的时候会用到,如果你完成了物体组合可以再取消勾选 Surface Snapping ,之前组合的物体不会散架。

在这里插入图片描述

1.9 位移步进量

默认情况下单次移动物体的步进距离是 1,可以通过操作界面右上角的 网格 按钮选择一个合适的步进量,然后再去拖动物体,此时物体单次运动距离就是设置的步进量。越大的步进量会有越顿挫的拖拽感,因为只有达到指定步进量后物体才会移动。

这个步进量最大的便捷在于如果已知两个物体之间的距离为 100,选择步进量为100 则只需拖动一次即可。

在这里插入图片描述

1.10 角度步进量

有位移步进量自然有角度步进量,和位移步进量同理,角度步进量是单次旋转操作所带来的角度变化值,在操作界面的右上角 角度 图标,从下拉菜单中选择一个角度,设置好后再去调整物体姿态就会有和位移步进量类似的效果。

在这里插入图片描述

1.11 缩放步进量

在操作界面右上角有一个 缩放 按钮,点开后可以设置缩放步进量。和上面的位移步进量与角度步进量类似。

在这里插入图片描述

1.12 重置物体

如果你调整物体的次数很多后又感觉没有达到预期从而想要重新调整物体,可以按照下面的步骤执行:

  1. 选中物体(可以在操作界面中也可以在大纲 Outline 中);
  2. 在右下角的标签栏中点击细节 Details
  3. 根据你的需要选择重置的内容;

【Note】:位置重置按钮点击后会回到世界坐标系的 (0,0,0) 上;

如果你想要精确操作对象的位置、姿态、缩放,也可以直接修改上面的值。

在这里插入图片描述

1.13 视图全览

有时候我们想要一次性看清物体的三视图,在操作界面的右上角的 视图 按钮:

在这里插入图片描述

点击后你的画面会变成如下样子:

【Note】:这个时候你在原地点击是不会恢复到观察模式的,需要在观察模式的窗口处对应位置点击才能恢复。

在这里插入图片描述

1.14 聚焦拖动

选中物体后长按 Shift 键,然后在拖拽物体的三个轴就可以让物体在保持当前相对画面的前提下进行拖动:

在这里插入图片描述

1.15 更精细的位置拖动

由于默认提供的几个步进量其实非常大,有时候我们只需要调整小的一点点,但即便是最小的步进量也过大了,这时候可以用下面的方式实现更精细的位置拖动:

  1. 在操作窗口中找到想要移动的物体;
  2. 在右侧工具栏中找到细节 Detail 标签;
  3. 下拉滚动条找到变换 Transform 条目;
  4. 将鼠标悬停在在位置 Position 的数字上然后拖动;

此时你会发现物体以非常小的进步量进行位移,同时你也可以直接修改这些值。

【Note】:这个值是基于世界坐标系的,不是基于相对坐标系的

在这里插入图片描述

1.16 等比精细缩放

上面介绍了可以在缩放模式下通过点击轴的中心点进行等比缩放,和紧挨着的 “更精细的位置拖动” 一样,缩放也可以在数字上完成。但由于右下角的数字本身占显示画面的面积很小,拖动的时候容易托错格子,对于其他物体而言还好说,但对于球而言就非常致命了,到了后期如果需要用代码计算球面法向量的时候你实际得到的是一个椭球法向量,这可能引发后续算法的一系列Bug。

想要在精细控制的时候保持等比缩放可以执行以下步骤:

  1. 在操作界面中选中待缩放的物体;
  2. 在右侧工具栏中找到细节 Details 标签页;
  3. 滚动找到变化 Transform 标签;
  4. 找到缩放 Scale 旁白的白色小锁,并确认处于锁定状态;

【Note】:这种锁定方式只对拖动数字的精细控制有效,如果你回到操作界面用轴的方式进行缩放那么该咋样还是咋样。

在这里插入图片描述


2. 物体创建

2.1 快速复制物体

如果需要批量在一个物体的当前位置基础上快速创建出一批完全相同的物体,可以按住 Alt 键然后再进行拖拽,这就就可以以当前物体的坐标为基础拉出一堆同轴物体,配合进步量就可以拉出阵列:

在这里插入图片描述

2.2 物体加选与减选

选中物体后按住 Ctrl 键然后再去选择其他物体即可实现多个物体选择,配合 Alt 键实现物体阵列:

  1. 选中一个物体,按住 Alt 键先复制两个出来,然后松开 Alt 键;
  2. 按住 Ctrl 键加选三个物体,然后松开 Ctrl 键;
  3. 再按住 Alt 键沿着某个轴的方向拖拽即可批量复制所有被加选的物体;

【Note】:可以尝试在旋转模式下执行操作,被选中的物体也会批量执行旋转;

减选同样按住 Alt 减然后点击减选的模型;

在这里插入图片描述

2.3 批量选择模型

在右侧工具栏的大纲 Outline 中按照下面的操作可以批量选择对象:

  1. 找到第一个对象并选中;
  2. 按住 Shift 键并选择最后一个对象,从第一个对象到最后一个对象的所以元素都会被选中;

选中后 Del 删除,重复此步骤将此之前添加进来的物体全删干净;

在这里插入图片描述


3. 利用新手资源库搭建简单的环境

3.1 搭建环境

结合上面介绍的技能打开左下角的资源浏览器 Content Drawer 搭建一个简单场景,你需要用到的资源有下图中红框框住的部分,位置和角度不用特别精确,大体样子产不多就可以。

在这里插入图片描述

最终成品如下所示,你可能用到的操作有:

  • 物体加选 Ctrl
  • 表面吸附 Surface Snapping
  • 快速轴向复制 Alt
  • 旋转、选择模式切换(可以通过左上角的按钮也可以通过快捷键 EW);

在这里插入图片描述

3.2 临时改变物体坐标轴

在视频中还补充了一个技巧用来修改多物体的旋转中心,按照下面步骤操作:

  1. 按住 Ctrl 多选物体,在最后一个被选中物体的中心会出现它的坐标轴,然后松开 Ctrl
  2. 按住 鼠标滚轮/中键 拖拽这个坐标轴,将其拖动到一个合适的位置;

然后被选中的物体就会以这个坐标轴作为 临时 操作中心进行旋转等动作。

【Note】:这个操作是临时的,不用担心后面会修改物体原本的坐标轴,只要释放被选中物体这个轴就会消失。

在这里插入图片描述

3.3 为这个空间添加四周的墙壁

仍然在 Contant Drawer 中找到墙体 Wall 资源,在新手资源包中有两个墙素材,你可以任意选择一个,但都避免不了缩放,下图中红框部分就是可用的墙体素材:

在这里插入图片描述

你的最终目标是实现下面的场景,这一步操作主要是 复制移动旋转缩放

【Note】在操作时 尽量避免两个物体发生重叠,你需要养成这种良好的习惯,因为重叠的物体在未来运行时需要计算干涉,这个很耗资源,同时贴图的话也不好调整。如果实在无法避免重叠则应当减少重叠区域。

在这里插入图片描述

3.4 将一面墙替换成窗

按照下面的操作步骤将一面墙替换成窗:

  1. 选中一面墙;
  2. 在资源浏览器 Content Drawer 中找到窗 Wall_Window_400x300 资源;
  3. 在右侧细节 Detail窗口中找到 Static Mesh 区域,然后点击 替换 按钮将墙替换成窗;

完成后再将其他三个墙面调整以下缩放以美观。

【Note】:一定要熟练掌握 3.2 临时改变坐标轴 的操作,这个在对齐边缘的时候十分有用。

在这里插入图片描述

3.5 为房间添加一些装饰品

然后就是按照你的喜好对房间内进行一些修改,我这里基本保持和视频状态一致,修改结果如下:

在这里插入图片描述

然后再给房间加一个盖子:

在这里插入图片描述

3.6 UE5 自适应曝光

News !】这个是 UE5 引擎的新特性 – 自适应曝光,这也是众多游戏开发公司选择 UE 引擎的原因,想要直观感受一下这个特性首先需要进入到刚才封好顶的房子中:

其实你在穿墙进入的过程中会发现整个环境从暗慢变量,很像人眼从亮环境进入到暗环境时的感觉。

【Note】:如果你是新手刚安装UE,这个时候其实还没开启 UE5 的大杀器 Lumen ,后面开启后你会发现对光线的模拟更加逼真,目前只是基于底层物理引擎硬算的结果。

在这里插入图片描述

多重复几次从门进入和从墙进入的明暗变化你就可以更直观地感受到模拟人眼的适应过程。UE 将这部分处理作为引擎的基本属性,开发者不必再为这类细节考虑。

很多仿真软件或者引擎造成 Sim2Real 的 gap 重要影响因素之一就是光照和光追没有做好,因为人类接收外界信息的主要途径就是视觉,视觉大模型一直难以从仿真中训练出好效果的重要原因就是仿真不够真,无论是 mujoco 还是 Isaac Sim 都着重于更逼真的物理规则而在光照上欠点火候,但这一点却被游戏领域实现了。我一直坚信如果仿真环境能骗过人眼,那么以此为基础的仿真数据才可以让大模型学习到正真的知识并大幅提升其泛化性。

3.7 手动调整自适应曝光

有时候你需要检验环境搭建的质量或者干脆不想要自适应曝光,可以按照以下操作进行:

  1. 在操作界面左上角找到 着色球
  2. 在下拉菜单中找到游戏设置 Game Settings 并取消勾选;

【Note】:你也可以取消勾选后手动修改下面的 EV100 值看看光照效果如何变化,这个值是可以为负的;

在这里插入图片描述

3.8 保存当前关卡

此时如果直接 Ctrl + S 退出然后再进来会恢复到空环境,按照下面操作将当前关卡进行保存:

  1. 在左下角找到资源浏览器 Contant Drawer
  2. 点击下拉框中的保存所有 Save All
  3. 在弹出的窗口中点击保存所选项 Save Selected,你可以直接保存在默认位置也可以新建一个文件夹专门用来保存;

在这里插入图片描述

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

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

相关文章

【JVM】- 内存结构

引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …