UE5蓝图实战:动态墙上挖坑与自定义坑尺寸

news2024/12/26 14:06:11

在Unreal Engine 5.3中,我利用蓝图系统开发了一个创新的挖坑Demo,该Demo展示了如何在实时环境中动态地在墙体上挖坑,并允许用户自定义坑的大小。这一过程得益于UE5官方提供的Geometry Script插件,该插件通过蓝图接口实现了强大的网格布尔算法功能。文章中,我将详细介绍如何在运行时动态地进行挖坑操作。此外,我还将展示如何通过蓝图接口调整坑的尺寸,为游戏世界中的互动元素添加更多可能性。无论是对于建筑模拟、地形编辑还是其他需要动态网格修改的应用场景,本文提供的方法都将大有裨益。

UE5蓝图挖洞

准备工作

启用插件Geometry Script

在UE5.0之后的版本,如UE5.3中,在编辑栏–插件–搜索栏输入Geometry Script 打钩启用并重启UE。
image.png

导入RuntimeGizmo插件

这是一款可以在运行时控制对象移动旋转缩放的工具
image.png
可以从UE商店里购买,或者在网上找一些免费资源。将插件解压后的父级目录复制到UE项目工程中的Content文件夹下。

制作挖坑蓝图类Actor

在此之前确保Geometry Script插件启用成功。在内容菜单里右键创建蓝图类,在弹出的选取父类窗口中间的搜索栏搜索并选择DynamicMeshActor,命名为BP_DigHole
image.png

蓝图节点连连看

实现挖坑函数

  1. 定义变量和函数

双击打开BP_DigHole蓝图,在我的蓝图–函数栏点击+号添加一个函数,命名为GenerateHole,在变量栏分别添加Dimension(Vector),Size(Vector),DynamicMesh(DynamicMesh),DragSphere(Actor)这个四个变量。
image.png

  1. 完善函数

按照下图连接蓝图节点:
image.png
image.png

接入Gizmo工具

  1. 在Gizmo蓝图里添加事件分发器

在此之前确保RuntimeGizmo插件导入成功。
双击打开BP_Gizmo蓝图,添加一个事件分发器命名为OnGizmoChanged,并找到Process Interaction函数,在其执行修改坐标轴位置之后的逻辑下连接以下节点:
image.png

  1. 在控制器中启用Gizmo
    在任意一个在场景中激活的Pawn类(如BP_CamController)中,按下图蓝图连接节点:

image.png

在这个蓝图中,显示定义了一个BP_Gizmo的变量GizmoRef,使用Event BeginPlay节点绑定BP_Gizmo的事件分发器OnGizmoChanged用于触发挖坑函数GenerateHole,后面是将鼠标光标显示到Game视图中。

Left Mouse Button是一个鼠标左键点击事件,用于触发Attach Gizmo函数以激活场景中的Gizmo小组件,在鼠标左键点击Actor对象时显示。

场景Actor参数设置

放置一个球体到场景中,命名为DragSphere,在内容菜单中找到BP_DigHole和BP_Gizmo,将它们拖拽至场景中,其中需要给BP_DigHole的变量Dimension、Size、DragSphere赋值如下:
image.png

运行效果

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

需要修改墙体网格大小可以添加函数修改Dimension变量,修改坑的大小可以修改Size变量,置于坑的深度可以通过设置坑在父级网格体下的Z坐标实现。

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

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

相关文章

sql-labs:42~65

less42(单引号闭合、报错回显) login_useradmin login_password123 and if(11,sleep(2),1) # # 单引号闭合 ​ login_useradmin login_password123and updatexml(1,concat(0x7e,database(),0x7e),1)# # 报错回显…

端模一体,猎豹移动对大模型机器人发展路径清晰

今年世界机器人大会刚刚收官不久,接咖啡、拿苹果、摊煎饼……人形机器人在这届大会上备受关注,厂商们编排“整活”,展位几乎水泄不通。 自从AI大模型开始全面改变市场开始,关于机器人的方向性争论就不绝于耳,就在最近的…

北京中实新材料:携手知名建筑企业,共筑重大工程辉煌篇章

近年来,北京中实新材料有限责任公司(以下简称“北京中实”)凭借其卓越的产品质量、专业的技术服务和良好的市场信誉,积极参与了一系列重大工程项目的建设,与多家知名建筑企业建立了长期稳定的合作关系,共同书写了城市发展的辉煌篇章。 深耕行业,铸就品质基石 自成立以来,北京中…

Python查漏补缺

1.冒泡排序 时间复杂度O(n^2) 选择、插入都是 def bubble(data, reverse):for i in range(len(data)-1):for j in range(len(data)-i-1):if data[j] > data[j1]:data[j], data[j1] data[j1], data[j]if reverse:data.reverse()return data 2.快速排序 时间…

《OpenCV 计算机视觉》—— 图像拼接

还未写完!!! 下面是两张需要拼接的图片 完整代码: import cv2 import numpy as np import sysdef cv_show(name, img):cv2.imshow(name, img)cv2.waitKey(0)def detectAndDescribe(image):gray cv2.cvtColor(image, cv2.COLOR_…

mobile_aloha训练过程中pycharm编辑器遇到的问题记录

目前在研究mobile aloha的训练算法部分,运行文件为imitate_episodes.py,对应指令: # To train ACT: python3 imitate_episodes.py --task_name mobile_imu --ckpt_dir /home/song/hjx/aloha/mobile-aloha_multi-sensor/ckpt/mobile_imu --pol…

Mac屏蔽系统更新,取出红点标记如果解锁hosts文件

引言:关闭系统更新,首先应该在系统偏好设置---软件更新---去掉自动更新的选项。即使如此,系统仍然进行macOS系统和自带safari等软件的检测更新,并图标右上角红点点标记提醒我们更新,那我们如果彻底屏蔽更新呢&#xff…

计算机毕业设计 基于爬虫与文本挖掘的网络舆情监控系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

网站建设公司如何选?2024专业网站建设公司哪家好TOP3

要找一家靠谱的网站建设公司,可以根据以下五点判断: 1.企业的工商信息 企业有多少人、什么时候成立的、成立资金是多少、是否有违约记录这些都可以在查企业的那种app里可以看到,去查的时候一定要仔细甄别,别最后找了一家皮包公司…

HarmonyOS/OpenHarmony Audio 实现音频录制及播放功能

关键词:audio、音频录制、音频播放、权限申请、文件管理 在app的开发过程中时常会遇见一些需要播放一段音频或进行语音录制的场景,那么本期将介绍如何利用鸿蒙 audio 模块实现音频写入和播放的功能。本次依赖的是 ohos.multimedia.audio 音频管理模块&am…

基于Python大数据可视化的短视频推荐系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

大模型压缩3种方式;模型大小的计算;知识蒸馏:利用教师的输入输出,训练调整学生的小模型

目录 大模型压缩3种方式 模型大小的计算 知识蒸馏:利用教师的输入输出,训练调整学生的小模型 最终学生学习多个教师的知识,学生强大 大模型压缩3种方式 模型大小的计算 知识蒸馏:利用教师的输入输出,训练调整学生的小模型

商务英语口语柯桥外语学习|ass是“屁股”,save是“救”,那 save my ass是什么意思?

有些人活着,屁股却已经“死”了 工作工作,上工就“坐”,“久坐”几乎是无法避免的事情,但你知道吗,长期久坐可能会患上死臀综合症(Dormant Butt Syndrome)! 如果你坐久了就觉得屁股痛…

imagickd写shell的技术学习

前言 没想到吧哥们,imagickd也能写shell,真是学到了不少,下面会具体分析是如何写shell的 基础知识 Imagick类 参考官方手册https://www.php.net/manual/zh/class.imagick.php 重点关注他的构造方法 (PECL imagick 2, PECL imagick 3) …

基于vue框架的大学生兼职平台r8x19(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:企业,用户,兼职信息,报名记录,岗位类型,专业,取消记录,评价记录 开题报告内容 基于Vue框架的大学生兼职平台开题报告 一、开题报告名称 基于Vue框架的大学生兼职平台 二、研究背景与意义 2.1 研究背景 随着高等教育的普及和就业市…

https访问报错:net::ERR_CERT_DATE_INVALLD

目录 简介异常排查原因解决补充 简介 访问https资源出现报错 异常 排查 将地址拿到浏览器进行访问,可以很清晰的看到出现该问题的原因 原因 1、SSL证书已过期 2、服务器日期不准,不在证书有效期 解决 1、重新申请SSL证书,并配置 2、校正…

平安养老险深圳分公司积极开展“金融教育宣传月”活动,展现金融为民新风尚

2024年9月,平安养老险深圳分公司以“金融为民谱新篇,守护权益防风险”为主题,正式启动2024年“金融教育宣传月”活动,通过多样化开展进乡村、进商圈、进企业等宣传教育活动,将金融消保知识送达广大消费者身边&#xff…

Linux使用systemd安排定期任务的操作详解

systemd 定时器是一种替代传统 cron 的方法,用于安排定时任务。 systemd 定时器由两部分组成:一个 .service 文件和一个 .timer 文件。.service 文件定义了要执行的任务,而 .timer 文件设定了何时执行这个任务。 通常位于 /etc/systemd/syste…

使用rsync+jenkins实现服务自动部署全流程

项目背景:城市政务云服务器没有上k8s,所有后端服务都是原始方式部署启动 (java -jar xxx.jar),那么有没有方式简化部署难度,实现自动部署?当然是有的,下面详细介绍(以Cen…

开源实战分享 | 新书:《大型语言模型实战手册》随书代码分享

《大型语言模型实战手册》(英文版)目前电子版在亚马逊有售,纸质版预计在2024年10月15日开售。该书通过超过275张定制插图,深入探索大型语言模型的世界,为Python开发者提供使用大型语言模型所需的实用工具和概念。 如果对于插图没有特别执念的…