当前位置: 首页 > news >正文

免费商城网站建设平台企业全网推广公司

免费商城网站建设平台,企业全网推广公司,帝国视频网站模板,自助网站建设软件目录 了解相关的函数 第一种做法#xff1a;自定义添加选择资产的前缀或后缀 代码 效果 第二种做法#xff1a;通过映射来获取资产类型添加前缀和修改前缀 映射代码 代码 效果 在之前一章中#xff0c;我们创建了插件#xff0c;用来扩展编辑器的使用#xff1a; …目录 了解相关的函数 第一种做法自定义添加选择资产的前缀或后缀 代码 效果 第二种做法通过映射来获取资产类型添加前缀和修改前缀 映射代码 代码 效果 在之前一章中我们创建了插件用来扩展编辑器的使用 UE5.1编辑器拓展【一、脚本化资产行为通知弹窗高效复制多个同样的资产】-CSDN博客 现在我们需要的是能够更快的对资产的名字进行一个更改比如对前缀名的添加或者是后缀的删除等等。 了解相关的函数 要更改资产的名字首先我们要先了解几个相关的编辑器函数以及FString的使用 首先是RenameAsset这个函数是属于UEditorUtilityLibrary使用的时候就是输入资产和新的名字。 然后是FString的使用这里只需要即可比如你要加前缀Prefix,则Prefixname即可后缀也是一样。 当然这只是一种做法除此之外还有通过判断类型来直接添加名字。 第一种做法自定义添加选择资产的前缀或后缀 如果是需要自定义选择前缀名那么我们需要的是输入一个FString和一个bool。 通过bool来判断你是要添加前缀还是后缀。 首先遍历选择的资产然后检查是否有效然后判断是添加前缀还是后缀最后进行添加。 然后右下角通知添加前缀成功。 代码 void UQuicklyAssetAction::AddAssetPreOrEndfixes(FString Assetfixes, bool PrefixOrPostfix) {TArrayUObject* SelectedObjects UEditorUtilityLibrary::GetSelectedAssets();uint32 Counter 0;for (UObject* SelectedObject : SelectedObjects){if (!SelectedObject)//检查是否有效{continue;}FString NewName;if (PrefixOrPostfix)//添加前缀{NewName Assetfixes SelectedObject-GetName();}else//添加后缀{NewName SelectedObject-GetName() Assetfixes;}UEditorUtilityLibrary::RenameAsset(SelectedObject, NewName);Counter;}if (Counter0){if (PrefixOrPostfix){ShowNotifyInfo(Prefix add FString::FromInt(Counter) files,7);}else{ShowNotifyInfo(Postfix add FString::FromInt(Counter) files, 7);}} } 效果 可以看到里面有相关注释和行为 然后点击 第二种做法通过映射来获取资产类型添加前缀和修改前缀 首先我们做一个映射这个映射的作用就是判断你的资产是属于哪种类的存在 映射代码 TMapUClass*, FString PrefixMap {{UBlueprint::StaticClass(),TEXT(BP_)},{UStaticMesh::StaticClass(),TEXT(SM_)},{UMaterial::StaticClass(),TEXT(M_)},{UMaterialInstanceConstant::StaticClass(),TEXT(MI_)},{UMaterialFunction::StaticClass(),TEXT(MF_)},{UParticleSystem::StaticClass(),TEXT(PS_)},{USoundCue::StaticClass(),TEXT(SC_)},{USoundWave::StaticClass(),TEXT(SW_)},{UTexture::StaticClass(),TEXT(T_)},{UTexture2D::StaticClass(),TEXT(T2D_)},{UUserWidget::StaticClass(),TEXT(UI_)},//用户控件无效需要继续寻找{USkeletalMeshComponent::StaticClass(),TEXT(SK_)},{UNiagaraSystem::StaticClass(),TEXT(NS_)},{UNiagaraEmitter::StaticClass(),TEXT(NE_)}}; 做好这个映射之后【有些可能有问题需要自己去重新查找一下相关的类】 接下来和之前一样去遍历我们选择的资产然后寻找资产的类来获取我们做的映射中的value值【前缀】。 然后在获取资产名字来判断这个资产是否已经有了和这个一样的前缀有了就不加了。 然后继续做一个判断假如你做了一个材质实例那么其名字必然是M_XXX_Inst,我们如果直接添加了名字就会变成MI_M_XXX_Inst,所以在添加之前我们需要先判断一下前缀是不是M_和后缀是不是_Inst。 是的话就进行删除然后在重命名。 代码 void UQuicklyAssetAction::WithClassAddAssetPrefixes() {//将选择的资产放入数组TArrayUObject* SelectedObjects UEditorUtilityLibrary::GetSelectedAssets();uint32 Counter 0;//遍历选择的资产for (UObject* SelectedObject : SelectedObjects){//如果无效则跳入下一次迭代if (!SelectedObject){continue;}//返回的是FString指针通过选择资产的类作为key来找到PrefixMap映射中的value如M_FString* PrefixFound PrefixMap.Find(SelectedObject-GetClass());//判断是否有效和存在if (!PrefixFound || PrefixFound-IsEmpty()){//无效则打印没有找到然后输出这个类的类的名字DebugPrint(TEXT(Failed to find Prefix for class ) SelectedObject-GetClass()-GetName(), FColor::Red);DebugPrintLog(TEXT(Failed to find Prefix for class ) SelectedObject-GetClass()-GetName());continue;}//获取老资产的名字FString OldName SelectedObject-GetName();//判断资产的名字是否以PrefixFound开头如M_if (OldName.StartsWith(*PrefixFound)){DebugPrint(OldName already have the prefix!, FColor::Red);DebugPrintLog(OldName already have the prefix!);continue;}//这里做材质实例的检查if (SelectedObject-IsAUMaterialInstanceConstant()){//检查有没有有就移除OldName.RemoveFromStart(M_);OldName.RemoveFromEnd(_Inst);}//做新的名字const FString NewNameWithPrefix *PrefixFound OldName;//重命名和计数UEditorUtilityLibrary::RenameAsset(SelectedObject, NewNameWithPrefix);Counter;}if (Counter0){ShowNotifyInfo(Success rename Asset FString::FromInt(Counter) Assets, 7);} } 效果
http://wiki.neutronadmin.com/news/155314/

相关文章:

  • 合肥做网站的公有没有悬赏做ppt的网站
  • 电子商务网站开发主要实现功能对外贸营销型网站建设的几点建议
  • 建设企业网站下载外贸网站怎么换域名
  • 本地网站做通用会员卡设计网页通常使用什么语言
  • 丽水网站建设公司排名企业网站推广方案
  • 手机app开发软件有哪些三秦seo
  • 平台网站开发公司php网站开发实例教程的作者
  • 做阿里巴巴1688网站程序做网站税费
  • html购物网站代码vs2015做网站的后端
  • 阿里云服务器wordpress建站教程上海装修公司排名前十名
  • 自己做网站用花钱吗ui设计培训机构哪个比较好
  • 公司要做网站建设网站的成本有哪些
  • 图片网站虚拟主机免费下载网站模板
  • 手机移动端网站建设邯郸住宅与房地产信息网
  • 百度搜索风云排行榜优化法治化营商环境
  • 有口碑的武进网站建设丰城建设网站
  • 网站建设好后 如何验收七台河新闻综合频道节目表
  • 门户网站建设的书籍鞍山网站建设优化
  • 大型行业网站最便宜买机票网站建设
  • 做电影网站解决版权问题建设工程八大员考试网站
  • 公司网站如何上传图片wordpress 手机登录
  • 专业网站建设公司单位网站建设费用什么会计科目
  • 企业网站设计解决方案平面设计接单渠道有哪些
  • vue 做企业网站行不网站建设的教材
  • 国家城乡与建设部网站我有产品想找平台卖
  • wordpress站点统计分销系统方案
  • 做网站学完html东莞做网站推广公司
  • 最方便在线网站开发网站备案时网站没有内容可以
  • 自己如何创建网站发布网站建设信息
  • 东台网站制作公司招投标 网站建设