From eb35eedc13261124dff839152146d9c7c3feb5ba Mon Sep 17 00:00:00 2001 From: zhangqing Date: Tue, 25 Nov 2025 22:42:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=95=B2=E5=87=BB=E5=87=B9?= =?UTF-8?q?=E9=99=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BladeSmith.sln.DotSettings.user | 13 ---- Content/BP/BP_DynamicIron.uasset | Bin 198617 -> 169832 bytes Content/Maps/Demo.umap | Bin 502847 -> 502847 bytes Source/BladeSmith/BladeSmith.Build.cs | 1 + Source/BladeSmith/DeformAsyncTask.cpp | 0 Source/BladeSmith/DeformAsyncTask.h | 98 ++++++++++++++++++++++++++ 6 files changed, 99 insertions(+), 13 deletions(-) delete mode 100644 BladeSmith.sln.DotSettings.user create mode 100644 Source/BladeSmith/DeformAsyncTask.cpp create mode 100644 Source/BladeSmith/DeformAsyncTask.h diff --git a/BladeSmith.sln.DotSettings.user b/BladeSmith.sln.DotSettings.user deleted file mode 100644 index 4b21207..0000000 --- a/BladeSmith.sln.DotSettings.user +++ /dev/null @@ -1,13 +0,0 @@ - - ForceIncluded - ForceIncluded - ForceIncluded - ForceIncluded - ForceIncluded - ForceIncluded - ForceIncluded - ForceIncluded - ForceIncluded - ForceIncluded - ForceIncluded - ForceIncluded \ No newline at end of file diff --git a/Content/BP/BP_DynamicIron.uasset b/Content/BP/BP_DynamicIron.uasset index 9b20bf5e5622db845619898803703c5aef496d08..a0c29b712ea70119cd941732e288b8a34f647275 100644 GIT binary patch literal 169832 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

Y z719X^v?fq&13lCr|9}!GbkV-Z#XcS{Nu26yEWEDF-dL=0=QLkq z;HWKC{-MRG`=OPp$Bsr5Y%Q^RE)jkb@lhGQ@D3Z;NSGK)e>ynFkgy=rebKeIf=b`l zLFN#;j@>WT_6iz_N&lcX<+SF-t`}letSgN#Emy|>N?W;=s?!U3UaFz+V;zN{;k#jr`Tf$|BDtz8C0Q=K1Lkx=y2>flpSm+C%(?}PomhI;iukTVLF=#XITu&n#Q%B!m zCsrGaldA@tMO#XC1QtkUr&Ct|3EKHAra8uWHLNK490O~YwJtYVTjPr#%zyA5yE+Ag ziK7?r9+3+;EcfWf(fnX-En^<+;9#vlXB@_QQ**3aTSibsi0MuCu{@%escKu7Z(8#=rD=WSf#M^SR`E zaZXLHd66@L6~jMo`@w7D&f;PENK?nzpvIX_EzA0Bq4mgiE+LB_CtVNFCqLBjPH`%A z@EoxCc3YlD5f$u<9TOrf{7WAn&m+!YM1*ZgDE{XPpB8d$$-54tX$`>fKi&h>zCGCB z`Ifo1WIn_w(_D5-m%HGB~yp}ROBD|UqH;9GcP%Y#Xd6pF*4hT3!<)Ax~Ljp z2+({=zIjV~R|N&z2EV&peNUfTr}2QxG1nH{H@J)u#a$tt`UXd#wa(mOT1OB+17hUP zaGV{n?q&uk!{F90=RrBU5un`}3G2;AZdXU181ogNoeV$i5QE}hsy=#I;Z#3V?&)`& z>K%Bn7NYZDXBOLfU?5aTjSJMmsytx7|j(;7Y&WjV)5gn#*NsRcL zX?)6~^}^^Db5)b($kPDGxsInOhj*Xk+0u!^zG6is&p&e}Ny8z|!YSKaiiKc{t^V(D zMVmLbIr2h`i=7Q*XOXu=G>hEPM2dAsi->F_#aGzUk5?Ff2Dbd1_E!gYi%d^{RW zgEOs1s@~Eii}N@gk&o;|VfOh8&~I5uIbs@}cRGs{R7b|&acK(}Yg{?Z5xxDK0-tw2 z+834Vy^#IDj;xmAV|=w|S@+JG%H9LUvA+6bSx0t$oRD1XV3&~;j}Wq7CO#u`UrLf* zPBLC9WL%yS#M-cwbfBDY9p?)lpT}{^np#h72aMx=^*2~S;Vue!&%|&V=M1ux_`8@! zZ`~1^O!fdPdz=Y(uU$+u1&p=6@N17N=aePl1YfP0`xA-3*e%7`0qhImL;)-ba=4fe ztm?43!_I1<;P*(POs=v^$kqgm6Mf;!WM?Qf8_C)2fN_#9Tz>P{I!}$PHg<*(OOBzx z{BJ1nB7MIIGk>xgiL^2Jo2jqjeZlrvkD26~aMoZo&5!+D1o8st5%;-CPlc5Ib?p0@~ znvQs-?08i#Nej?JrltIQ%fqBBP?K#f2^eR(a-XxZshXqp;4EKsr+Qs|x6$u>wP!sV zN%}EXSYPOl+(m?CM&>hL)JPe|DHv!P_8YNc8%ckqjXqo9W1rF9GmO0IPPaPxE(fQ& zbJFlLkF6&KtmoqO8Do9+965;uMd>(aXT2v$=FF}4s>zIzHS-ss`=zC<`h)(xf^NTk z-&6IVcjd-YZU&j~IL#4afwo4>9>onBXNq(#IY5uK_M?sc6qG%dOP#fH8lSu;G+>

^|;W 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 diff --git a/Content/Maps/Demo.umap b/Content/Maps/Demo.umap index 8087d84d451951bdf2052c012c948575efee54c1..dc6348ddfa71b37ca6b90ca6e44a0fe626e2fe2d 100644 GIT binary patch delta 282 zcmdmgLvH^Kxd{>?ni~ybU6vLvx}38Q-#Ga~GACc4r==qdc)3ol zO~{i=F{||VtH{@PbaZws@-#7a&$4iI^vEpE%1TZQD4%RtAURne&UmsxDH~y>(vw#< zE#o#a)ip5HGcnRLwQP=RZjWka1Y#y2W(HywAZFbj)y#JA`t;a(c6M2Zeg_6HP;uaA zgs|Xb)#S!jiS6Oh>?*7Rys!UES#W&$UX^3q*6V$ZgtvDmu>X;rzMzbqZMs}KyAWgk bWWgTc$pzD7Cr{{Ro1P97+Ww-BJzN(6uOVJp delta 293 zcmdmgLvH^Kxd{>?``IdmFC>NpzV(TemMYk5&Qqzma-)uaBTsgqBLoC`T23yE6`pKR z>Ni;+P6$Y|$)$Q%`ukPn>pMC+I~IAG7`ta#I68Wy7H4H8CkB*HHY|_?Dm5lfsr2NP zP0P3qEp!cy^-L`FObnW%n%kqA8G)Dyh?#+y1&CRVq@yw0WKzyJac{SMO$)7d2% zt0p(LN^B30W>;Yq2z_9ocFBcF?by~ITZ;Q!r)}>}VE-d4xsIz_qUqfW``=B+^Filo~f#E@N+B1&>K!X>|oO#oJ`-3|6cwGSVN@v3W diff --git a/Source/BladeSmith/BladeSmith.Build.cs b/Source/BladeSmith/BladeSmith.Build.cs index 057f8d9..59e84f4 100644 --- a/Source/BladeSmith/BladeSmith.Build.cs +++ b/Source/BladeSmith/BladeSmith.Build.cs @@ -6,6 +6,7 @@ public class BladeSmith : ModuleRules { public BladeSmith(ReadOnlyTargetRules Target) : base(Target) { + PrivateDependencyModuleNames.AddRange(new string[] { "GeometryScriptingCore" }); PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; // 如果你的模块类型是 Runtime 或 Gameplay 相关的,则添加这行: diff --git a/Source/BladeSmith/DeformAsyncTask.cpp b/Source/BladeSmith/DeformAsyncTask.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Source/BladeSmith/DeformAsyncTask.h b/Source/BladeSmith/DeformAsyncTask.h new file mode 100644 index 0000000..7535230 --- /dev/null +++ b/Source/BladeSmith/DeformAsyncTask.h @@ -0,0 +1,98 @@ +#pragma once +#include "CoreMinimal.h" +#include "GeometryScript/GeometryScriptSelectionTypes.h" +#include "GeometryScript/MeshDeformFunctions.h" +#include "GeometryScript/MeshSpatialFunctions.h" +#include "GeometryScript/MeshTransformFunctions.h" +#include "Kismet/BlueprintAsyncActionBase.h" +#include "DeformAsyncTask.generated.h" + + +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnDeformFinished, bool, ResultValue); +// .h 文件 +UCLASS() +class UDeformAsyncTask : public UBlueprintAsyncActionBase +{ + GENERATED_BODY() + +public: + // 暴露给蓝图的静态工厂方法 + UFUNCTION(BlueprintCallable, meta = (BlueprintInternalUseOnly = "true", Category = "AsyncTask", WorldContext = "WorldContextObject")) + static UDeformAsyncTask* StartCalculation(UObject* WorldContextObject,FGeometryScriptMeshSelection& InSelection,FVector& InLocalHitLocation,FVector& InLocaHitNormal); + + // 成功回调引脚 (在游戏线程触发) + UPROPERTY(BlueprintAssignable) + FOnDeformFinished OnDeformFinish; + + virtual void Activate() override; + +private: + FGeometryScriptMeshSelection Selection; + FVector LocalHitLocation; + FVector LocaHitNormal; + // 核心计算逻辑,在工作线程中执行 + void PerformBackgroundCalculation(); +}; + +inline UDeformAsyncTask* UDeformAsyncTask::StartCalculation(UObject* WorldContextObject, + FGeometryScriptMeshSelection& InSelection, FVector& InLocalHitLocation, FVector& InLocaHitNormal) +{ + // 1. 检查 WorldContextObject 是否有效,这是异步操作节点的标准做法 + if (!WorldContextObject || !WorldContextObject->GetWorld()) + { + return nullptr; + } + + // 2. 创建 UCalculateAsyncTask 的实例 + // 使用 NewObject 而非 new,以确保对象被 UE 的内存管理系统(GC)追踪 + UDeformAsyncTask* Task = NewObject(); + + // 3. 存储输入参数 + Task->Selection = InSelection; + Task->LocalHitLocation = InLocalHitLocation; + Task->LocaHitNormal = InLocaHitNormal; + + // 4. 将实例的生命周期与 WorldContextObject 绑定,确保在关卡卸载时它能被回收 + Task->RegisterWithGameInstance(WorldContextObject); + + // 5. 调用 Activate() 启动实际的后台逻辑 + // Activate() 才是真正执行后台任务的地方 + Task->Activate(); + + // 6. 返回实例,在蓝图节点上显示回调引脚 + return Task; +} + +// .cpp 文件(在 Activate 中启动后台任务) +inline void UDeformAsyncTask::Activate() +{ + // 启动一个后台任务,使用 UE 的 Task Graph + // 这里的 lambda 函数会在工作线程上运行 + (new FAutoDeleteAsyncTask>( + [this]() + { + PerformBackgroundCalculation(); // 耗时的计算在这里执行 + + // 切换回游戏线程执行回调 + FFunctionGraphTask::CreateAndDispatchWhenReady( + [this]() + { + if (IsValid(this)) + { + // 确保在游戏线程上触发蓝图回调 + OnDeformFinish.Broadcast(true); + SetReadyToDestroy(); + } + }, + TStatId(), + nullptr, + ENamedThreads::GameThread // 确保在游戏线程回调 + ); + } + ))->StartBackgroundTask(); +} + +inline void UDeformAsyncTask::PerformBackgroundCalculation() +{ + UGeometryScriptLibrary_MeshTransformFunctions::TranslateMeshSelection() +}