【虚幻引擎UE】UE5 简单实现范围计算圆圈绘制
创始人
2024-01-25 03:03:25
0

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

一、实现快速绘制圆圈的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: 持续的时间,根据需要调整

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

四、计算半径方法

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

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

五、方法集成实现

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

相关内容

热门资讯

项目代理服务有哪些地方(找项目... 陶吧,一个乡镇代理项目玩泥巴是孩子的天性,但在城市里,这些乐趣几乎被剥夺了。陶瓷艺术吧开业后,孩子们...
农村适合在家创业项目(在家创业... 解放日报上观新闻记者 王闲乐 洪俊杰 孟群舒 舒抒 黄尖尖 顾杰 刘雪妍 张骏3月10日下午,中国人...
投资20万做什么生意(10万投... 最近两年,很多公司因为一些原因倒闭了。这是事实,我们无法反驳。当然,如果公司倒闭了,只会对普通人不好...
创业板上市公司市值,2020创... “吕杨先生'的1000 相位分享”宁德时代,今天上涨5.98%,收于434.10元/股。股价创历史新...
投资二万的小型加工厂(加盟小型... 目前农村很多小规模的加工厂项目并不需要大量的投资,有的只需要几千或者几万的投资就可以完成。回答这个粉...
最挣钱没人干的行业,年轻人小额... 穷人想创业,却觉得街上生意多,竞争激烈,不知道做好什么。而对于穷人创业来说,钱是个大问题。今天我来介...
进口水果店加盟连锁,全国连锁品... 如今,新鲜丰富的水果更受消费者欢迎。市场上不同的加盟品牌,在提供优质产品的基础上,在特色产品类型、综...
一个人干的小本生意(想做小生意... 这个时代,除非高层能进入华为、腾讯这样的公司,否则干一辈子都赚不到钱。但是,一个人要想创业、投资、做...
创业板股票代码前三位(创业板股... 创业板指数今日上涨0.77%,收于2939.39点,总成交量为1453.6亿元,比上一交易日增加93...
2万创业可以做什么(1万块钱创... "劳动人民、劳动灵魂和劳动都是人."这在去年开始流行,所有工作的人都拿他们的工作开玩笑。经过几十年的...