【UE5/UE4】【UE C++】制作一个蓝图宏库用以在构造器中Spawn Actor

这篇具有很好参考价值的文章主要介绍了【UE5/UE4】【UE C++】制作一个蓝图宏库用以在构造器中Spawn Actor。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实际上该功能可以通过纯蓝图写出,以下展示蓝图中如何操作构造器
spawnactor 蓝图,c++,ue5,ue4
仅需在创建"自定义事件"的时候勾选"编辑器中调用"属性,然后就可以直接在蓝图中生成
但同时,我们发现"从类生成Actor"该蓝图节点具有生成局限性
无法在当前关卡外生成
以及无法生成某些在蓝图中公开却不在该节点"Class"属性中公开的Actor例如"PostProcessVolume"
当遇到上述局限性时,考虑蓝图无法解决该问题,此时我们需要C++介入
此处以PostProcessVolume为例子
.h

UFUNCTION(BlueprintCallable, Category = "Akie Tools")
	static void SpawnMyActor(UWorld* World, UClass* Class, FVector const& Location);

.cpp

void UakietoolsBPLibrary::SpawnMyActor(UWorld*World, UClass* Class, FVector const& Location)
{
	if (Class) {
		if (World) {
			 World->SpawnActor<APostProcessVolume>(Class, Location, FRotator(0.f));
		}
	}
}

实际上 由于超高的解耦性
上述代码可以在更改了UFUNCTION(中的规范)后源码直接迁移到蓝图宏库的插件中

UFUNCTION(BlueprintCallable, meta = (DisplayName = "SpawnClass", Keywords = "AKieTools sample test testing"), Category = "AKieSpawnTools")

spawnactor 蓝图,c++,ue5,ue4
在蓝图中如此调用即可,注意 该变量类型为场景(World)常规搜索不到
复制下述代码到蓝图的创建变量栏粘贴就创建了该变量文章来源地址https://www.toymoban.com/news/detail-630014.html

BPVar(VarName="指认当下关卡",VarGuid=DCB2E34241C4E6C912199E987236928E,VarType=(PinCategory="softobject",PinSubCategory="",PinSubCategoryObject=Class'"/Script/Engine.World"',PinSubCategoryMemberReference=(MemberParent=None,MemberName="",MemberGuid=00000000000000000000000000000000),PinValueType=(TerminalCategory="",TerminalSubCategory="",TerminalSubCategoryObject=None,bTerminalIsConst=False,bTerminalIsWeakPointer=False,bTerminalIsUObjectWrapper=False),ContainerType=None,bIsReference=False,bIsConst=False,bIsWeakPointer=False,bIsUObjectWrapper=True,bSerializeAsSinglePrecisionFloat=False),FriendlyName="指认当下关卡",Category=NSLOCTEXT("KismetSchema", "Default", "Default"),PropertyFlags=5,RepNotifyFunc="",ReplicationCondition=COND_None,MetaDataArray=((DataKey="MultiLine",DataValue="true")),DefaultValue="None")

到了这里,关于【UE5/UE4】【UE C++】制作一个蓝图宏库用以在构造器中Spawn Actor的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【UE5】蓝图UI控件菜单锚(Menu Anchor)的使用与浮动详情窗口的制作

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 最近在做毕设,一直在苦恼要怎么精准地把浮动的详情窗口放在图标的一边,就比如下图中的效果 本来也有想过直接获取控件在屏幕上的位置来计算浮动窗口的生成位置,但神奇的是蓝图似乎没有这个

    2024年02月11日
    浏览(65)
  • 【UE4】蓝图转为C++官方教程部分笔记

    官方教学有将蓝图转为C++的教学视频,非常详细。 将蓝图转为C++ – Unreal Engine 为了方便查找知识点,特意在这里记了一部分笔记(图片都来自于本人的工程而非视频) 想要实现C++和蓝图的转换,首先就得知道蓝图和C++的变量对应关系 首先官方文档有的规定代码规范中,明确

    2023年04月19日
    浏览(56)
  • UE4/5在蓝图细节面板中添加函数按钮(蓝图与c++的方法)

    目录 在细节面板中添加按钮使用函数 蓝图的方法 事件 函数  效果  uec++的方法 效果 很多时候,我们可以看到一些插件的actor类中,点击一下之后就可以实现如矩阵一样的效果。 实际上是因为其使用了函数来修改了蓝图中的数值。 那么这种可以直接使用函数是怎么设置的呢

    2024年02月11日
    浏览(35)
  • ue4/5蓝图与c++混用基础入门的基础操作(适合有蓝图基础和c++基础的新手,创建自己的蓝图)

            首先是最开始的创建项目,用c++模式进行创建。         ue4:         ue5:  创建之后,两个都会自动为你打开vs,不过ue4.26要的是vs2019,ue5要的是vs2022,有时候打不开是缺少一些东西,这些东西在csdn里面可以查到,作者就不细讲了。 在ue5(4是一样的)中,我们可

    2023年04月12日
    浏览(52)
  • UE4/5如何快速找到蓝图在C++源码里面的位置

            很多时候,我们在ue中写c++代码的时候,总是找不到实现蓝图的代码,原因是我们不知道c++源码中,他们所在的是哪一个头文件。         而这一次作者就告诉大家,如何通过蓝图快速的找到这些源码的位置所在。         作者用的是VS2022,不过没有关系,因为

    2024年02月04日
    浏览(41)
  • Stanford UE4 & UE5 C++ 开发 课程笔记(三)子弹物理碰撞与弹道校正

    Unreal中两个物体碰撞需要两方预设的碰撞通道中对方对应的类型都设置为 Block 。 在场景中设置一个cube,并将其进行适当拉伸: 选中放置好的cube,在 Collision 中将 Collision Presets 设为 Custom ,并将每一项置为 Block : 注意cube的默认类型是 WorldStatic 。 在 Project Setting - Engine - Co

    2024年02月15日
    浏览(59)
  • UE5 蓝图编辑美化学习

    虚幻引擎中干净整洁蓝图的15个提示_哔哩哔哩_bilibili         好用,爱用         好用,爱用         好用,能避免一些的拼写错误         两点一水平线         (以前不懂,现在经常用)         好用,爱用         .         .         好用,爱用        

    2024年01月20日
    浏览(40)
  • UE5自定义蓝图节点(二)

    继承于UBlueprintAsyncActionBase的类,异步输出节点的实现方法,代码测试正常 .h .cpp

    2024年02月15日
    浏览(47)
  • 【UE4】UE4蓝图 文本自动换行

    该方法将字符串分割成同等长度的数组及换行后字符串 使用示例 结果 获得字符串 蓝图代码:复制以下内容并直接粘贴到蓝图中 宏代码 使用示例 结果 获得数组 代码:复制以下内容并直接粘贴到蓝图中 宏代码 同时输出两种结果 同时输出函数蓝图 宏蓝图 内容详情: 使用示例

    2024年02月16日
    浏览(58)
  • UE4 控件蓝图与蓝图的交互

    我现在想实现的是点击场景中的一个蓝图中的某个静态网格体,然后在控件蓝图中的文本控件中就能显示这个被点击的静态网格体的名称。 首先我在控件蓝图中对其中的一个文本控件创建了一个绑定函数 绑定函数的逻辑如下: “整车 内部无系统”是我添加的一个变量,该变

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包