【虚幻引擎UE】UE5 简单实现范围计算圆圈绘制

news2025/2/28 3:11:33

先来看看可以实现的效果:
在这里插入图片描述

一、实现快速绘制圆圈的C++函数

.cpp文件

#include "drawPolygon.h"
#include "Components/LineBatchComponent.h"
#include "Engine/World.h"
#include "EngineGlobals.h"
#include "PrimitiveViewRelevance.h"
#include "PrimitiveSceneProxy.h"
#include "Engine/Engine.h"
#include "MaterialShared.h"
#include "Materials/Material.h"
#include "Engine/CollisionProfile.h"
#include "SceneManagement.h"
#include "DynamicMeshBuilder.h"

void UdrawPolygon::DrawDeBugCircleArc(UObject* WorldContextObject, const FVector& Center, float Radius, const FVector& X, const FVector& Y, int32 Segments, const FColor& Color, uint8 DepthPriority, float fLifeTime)
{

	ULineBatchComponent* const LineBatcher = WorldContextObject->GetWorld()->PersistentLineBatcher;
	LineBatcher->DrawCircle(Center, X, Y, Color, Radius, Segments, DepthPriority);
}

.h文件

#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "drawPolygon.generated.h"

UCLASS()
class DRAWCIRCLE_API UdrawPolygon : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()
	UFUNCTION(BlueprintCallable, Category = "Custom", meta = (Keywords = "draw"))
	static void DrawDeBugCircleArc(UObject* WorldContextObject, const FVector& Center, float Radius, const FVector& X, const FVector& Y, int32 Segments, const FColor& Color, uint8 DepthPriority, float fLifeTime);

};

二、简单交互UI

1、创建输入参数变量
在这里插入图片描述
2、绘制界面绑定变量
在这里插入图片描述
3、变量输入
在这里插入图片描述

三、绘制图形方法

参数说明:
Center:中心点
X:X方向比例, 默认向量1,0,0
Y:Y方向比例, 默认向量0,1,0
Radius:需要绘制的圆圈半径
Segments: 圆圈的分段数,默认180,数值大较为平滑
color:根据需要输入RGBA颜色值
Depth Priority: 深度优先级,默认为5
F Lift Time: 持续的时间,根据需要调整

案例中根据分类生成不同颜色不同半径的圆圈。
在这里插入图片描述

四、计算半径方法

此部分根据具体的业务规则编写代码,此处仅展示一个根据输入值代入公式输出半径值的案例。
原始案例公式:在这里插入图片描述

在这里插入图片描述
创建局部变量并设置默认值,即为公式中常数值的代入。
在这里插入图片描述

五、方法集成实现

在关卡蓝图中进行方法集成。
在这里插入图片描述

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

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

相关文章

墨西哥专线详解:墨西哥专线时效多久,墨西哥专线价格多少?

墨西哥专线是国内直飞墨西哥或者海运墨西哥的专线物流服务,从中国到墨西哥的物流大约需要3到30天。不同的运输方式到墨西哥的时间不同。国际快递是最快的。通常3到5天就可以完成目的地派送,最慢的是海运专线,到墨西哥大约需要20到30天才能到达…

隐式神经表示二:超分网络学习傅里叶系数Local Texture Estimator for Implicit Representation Function

文章目录1. Local Texture Estimator for Implicit Representation Function1. 通过隐式神经网络表示方法 实现 超分辨率。2. 在编码器和解码器之间作者引入一个 local texture estimator3. 代码分析整体框架生成图像特征,编码器是一个常规的卷积网络,文…

【Pytorch with fastai】第 8 章 :协同过滤深入探讨

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

十四、Java String 类

Java String 类 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。 创建字符串 创建字符串最简单的方式如下: String str "xxx"; 在代码中遇到字符串常量时,这里的值是 &q…

大数据开源平台好在哪里?

当前是大数据发展时代,对于企业而言需要紧紧抓住契机乘势而上,利用好内部数据做好数字化转型,可以为企业带来更高的发展空间。大数据开源平台是助力企业提升办公效率的软件平台,那么,哪里有这样的大数据开源平台&#…

关于Git使用:fatal: Could not read from remote repository.的报错问题解决

目录 一:问题描述 二:解决过程 1,增加账号及邮箱 2,添加秘钥: 3,获取公钥并将其设置到云效里面 4,宝塔终端 解除密码 三:解决截图 一:问题描述 我们公司的版本仓…

【布隆过滤器】世界上大概有1 亿种小蛋糕,客户康宝要求这辈子不吃重复的小蛋糕。

文章目录需求概念思想问题优点缺点应用手写布隆过滤器补充需求 现在客户康宝有一个需求:世界上大概有 1 亿 种小蛋糕,康宝要求这辈子不吃重复种类的小蛋糕。 因为小蛋糕的种类很大可能只会增加,而不会减少,面对这种大数据量的要…

静态分析 Qt Ceator 组织的工程代码

文章目录Missing reference in range-for with non trivial type (QString) [clazy-range-loop]Slots named on_foo_bar are error prone [clazy-connect-by-name]Call to virtual method FlowLayout::takeAt during destruction bypasses virtual dispatch [clang-analyzer-op…

目的和目标的差异|丰田自动工程完结的目的、目标、应用化的意义和明确、二

目的和目标的差异|丰田自动工程完结的目的、目标、应用化的意义和明确、二 业务的方式改废|工作的目的、目标、输出的明确化 业务改善的一种方法被称为业务改废。意思是更好地改善现有的业务,废除不必要的业务。 使用这种方法,首先要明确想要改变和废除…

初学Java,遇错就懵,这类问题到底怎么处理呢?!

前言 众所周知,壹哥在干Java的路上已经越走越远,越陷越深,最近无意刷知乎时看到一位初学Java的迷惑少年,被报错干懵啦!!! 初学Java的同学,遇到报错一定不要慌,首先检查…

Android App规范处理中版本设置、发布模式、给数据集SQLite加密的讲解及使用(附源码 超详细必看)

运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一、版本设置 每个App都有三个基础信息,第一个是App的图标,第二个是App的名称,第三个是App的版本号。 一旦安装了某个版本的App,那么之后只能安装版本更新的同名App&#xf…

[公派访问学者]申请条件及选拔方法

国家公派访问学者绝大多数是经过层层选拔的,那么具体有哪些条件呢?又是如何选拔的呢?知识人网访问学者申请咨询老师和大家分享以下这篇文章。 一、申请条件 1、高级研究学者 申请时年龄不超过55岁。教学科研人员应为教授、博士生导师。申请人须同时具备以下条件…

基础类型存放在栈上,引用类型存放在堆上,请问是为什么? 字符串是存放在栈上么?

基础类型存放在栈上,引用类型存放在堆上,请问是为什么? 记住一句话:能量是守衡的,无非是时间换空间,空间换时间的问题 堆比栈大,栈比堆的运算速度快,对象是一个复杂的结构&#xf…

苹果手机和电脑怎么录屏?详细教程来了!

​相信小伙伴身边有不少人使用的是苹果手机和电脑。安卓手机和windows电脑怎么录屏不少人都已经知道了,那么苹果手机和电脑怎么录屏 呢?现在,小编就来详细的教教大家如何录屏,快拿出小本本记下来哦! 一.苹…

C++11标准模板(STL)- 算法(std::partition_copy)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 复制一个范围&#xff0c;…

扒去 Spring 事件监听机制的外衣,竟是观察者模式

Spring 中提供了一套默认的事件监听机制&#xff0c;在容器初始化时便使用了这套机制。同时&#xff0c;Spring 也提供了事件监听机制的接口扩展能力&#xff0c;开发者基于此可快速实现自定义的事件监听功能。Spring 的事件监听机制是在 JDK 事件监听的基础上进行的扩展&#…

基于结构应力方法的焊接结构疲劳评估及实例分析(上篇)

作者 | 裴宪军博士 &#xff0c;仿真秀专栏作者 一、写在文前 焊接技术作为现代制造业中的支柱技术之一&#xff0c;由于其整体性强、轻量化、经济性好等优点&#xff0c;焊接结构被广泛应用于轨道交通、航空航天&#xff0c;船舶、重型装备等领域&#xff0c;安全承载问题也…

八大排序总结篇

一、前言 到这里&#xff0c;数据结构的八大排序就算是全部写完了。这一期总结篇我们来测试一下八大排序的效率&#xff0c;印证一下八大排序的时间复杂度&#xff0c;以及深度剖析一下八大排序的稳定性问题。 二、八大排序 1、直接插入排序 http://t.csdn.cn/CdFFu 2、希尔排…

css:为什么我设置宽高百分比不生效

很多新手朋友写 css 的时候&#xff0c;有时发现设置宽高百分比有用&#xff0c;有时候又没用&#xff0c;到底怎么回事呢&#xff1f; 核心原则 设置百分比的时候&#xff0c;需要父元素有固定的高度&#xff0c;注意&#xff0c;这里说的只是需要父元素有固定的高度&#x…

机器学习极简入门笔记-4-有监督学习进阶-HMM

目录 15.1 基本概念 概率模型 生成模型与判别模型 概率图模型 马尔可夫链&#xff0c;马尔可夫随机场和 CRF 15.2 数学中的HMM HMM的两个基本假设 15.3 HMM的三个基本问题 概率计算问题 预测问题 学习问题 15.4 HMM3个基本问题的计算 概率计算问题 预测问题 学习…