当前位置: 首页> 文旅> 艺术 > 比较靠谱的软件下载网站_funpinpin建站平台_免费发布推广的网站_项目平台

比较靠谱的软件下载网站_funpinpin建站平台_免费发布推广的网站_项目平台

时间:2025/7/11 10:33:11来源:https://blog.csdn.net/charon8778/article/details/142503589 浏览次数:0次
比较靠谱的软件下载网站_funpinpin建站平台_免费发布推广的网站_项目平台

删除无用的asset

已经在地图中使用的asset会有asset reference

EditorAssetLibrary(按F12)open header file,会有如下一个功能,可以找asset reference,返回bool值

	UFUNCTION(BlueprintCallable, Category = "Editor Scripting | Asset")static TArray<FString> FindPackageReferencersForAsset(const FString& AssetPath, bool bLoadAssetsToConfirm = false);

for (const FAssetData& SelectedAssetData : SelectedAssetsData) 是一个范围循环(range-based for loop),通常在 Unreal Engine 中用于遍历一个容器中的所有元素。

: 在 for 循环中的用法是用于范围循环(range-based for loop)的语法符号。“在”或者“属于”

ObjectTools.h中的非强制删除。可以让使用者有一个确认删除的机会。

UNREALED_API int32 DeleteAssets( const TArray<FAssetData>& AssetsToDelete, bool bShowConfirmation = true );

如下报错(unresolved external symbal) means we need to add module to Build.cs file

UnrealEd means Unreal Editor

		PublicDependencyModuleNames.AddRange(new string[]{"Core","Blutility","EditorScriptingUtilities","UMG","Niagara","UnrealEd"// ... add other public dependencies that you statically link with here ...});

示例代码

	UFUNCTION(CallInEditor)void RemoveUnusedAssets();
// Fill out your copyright notice in the Description page of Project Settings.#include "AssetAction/QuickAssetAction.h"
#include "DebugHeader.h"
#include "EditorUtilityLibrary.h"
#include "EditorAssetLibrary.h"
#include "ObjectTools.h" //新增void UQuickAssetAction::RemoveUnusedAssets()
{TArray<FAssetData> SelectedAssetsData = UEditorUtilityLibrary::GetSelectedAssetData();TArray<FAssetData> UnusedAssetsData;for (const FAssetData& SelectedAssetData : SelectedAssetsData) {TArray<FString> AssetReferencers =UEditorAssetLibrary::FindPackageReferencersForAsset(SelectedAssetData.ObjectPath.ToString());if (AssetReferencers.Num() == 0) {UnusedAssetsData.Add(SelectedAssetData);}//把它加入废物列表}if (UnusedAssetsData.Num() == 0) {ShowMsgDialog(EAppMsgType::Ok, TEXT("No unused asset found among selected assets"), false);return;}else {const int32 NumOfAssetsDeleted = ObjectTools::DeleteAssets(UnusedAssetsData);//执行删除ShowNotifyInfo(TEXT("Successfully deleted " + FString::FromInt(NumOfAssetsDeleted) + TEXT(" unused assets.")));}//const int32 NumOfAssetDeleted = ObjectTools::DeleteAssets(UnusedAssetsData);//执行删除//if (NumOfAssetDeleted == 0)return;//ShowNotifyInfo(TEXT("Successfully deleted " + FString::FromInt(NumOfAssetsDeleted) + TEXT(" unused assets.")));
}

可读性:可以考虑将未使用资产的查找和删除逻辑分成两个独立的函数

插件效果

关键字:比较靠谱的软件下载网站_funpinpin建站平台_免费发布推广的网站_项目平台

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: