观察UE4里“在外部存储Actor”功能的基础行为

这篇具有很好参考价值的文章主要介绍了观察UE4里“在外部存储Actor”功能的基础行为。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目标

一般情况下,Actor保存于关卡文件中。
但是,如果将Actor的 packaging mode 设置为 External
观察UE4里“在外部存储Actor”功能的基础行为
则此Actor就会存储在另一个文件而非关卡文件中。

本篇目标是:

  1. 观察此功能的基础行为
  2. 观察外部文件的路径名规则

“在外部存储Actor”功能的基础行为

对于一般的Actor(默认packaging modeInternal)。修改此Actor会标脏关卡,Save All时会提示保存此关卡:
观察UE4里“在外部存储Actor”功能的基础行为
而对于 packaging mode 设置为 External 的Actor,修改此Actor不会标脏关卡,Save All时可见其文件并非关卡文件,而是另一个文件:
观察UE4里“在外部存储Actor”功能的基础行为
这个文件在UE编辑器的ContentBrowser里看不到,但可以在文件夹中找到:
观察UE4里“在外部存储Actor”功能的基础行为

Actor存储的外部文件路径名规则

packaging mode 设置为 External 时,引擎会创建对应的package保存Actor。创建package的代码在:Source\Runtime\Engine\Private\Level.cpp 中的 ULevel::CreateActorPackage 函数中。可以在设置External 的时候触发这里的断点:
观察UE4里“在外部存储Actor”功能的基础行为
而其中 ActorPackageName 即为外部文件的路径名。
观察这里的逻辑:

首先,它与Actor的GUID有关。这里是使用 Base36Encoded 的格式将GUID转换为了字符串。 Base36Encoded格式的逻辑可在 FGuid::ToString 函数中找到:
观察UE4里“在外部存储Actor”功能的基础行为
逻辑类似于将GUID的四个32位的数字视为一个2^128的数字,然后将其转换为36进制的数字。(因为10个数字+26个字母等于36)。

而最后得到的文件的路径名按照顺序由以下部分拼接而成:文章来源地址https://www.toymoban.com/news/detail-446077.html

  1. Content路径 /
  2. 关卡路径 /
  3. GUID转字符串的第1、2个字符 /
  4. GUID转字符串的第3、4个字符 /
  5. GUID转字符串的第5到末尾的字符

到了这里,关于观察UE4里“在外部存储Actor”功能的基础行为的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • ue4 合并静态网格体(合并Actor)

    ue4 合并静态网格体(合并Actor)。 1.选择actor 2 合并

    2024年02月13日
    浏览(43)
  • UE4 Physics Constraint Actor 实现钟摆效果

    放入场景,然后将一个球体放入场景 选择小球 将小球改为Movable 选择模拟物理,并将小球移除平衡点 就实现了

    2024年02月09日
    浏览(48)
  • UE4点击UI在场景中生成actor

    1.创建一个spawnMesh(actor),添加一个static组件,写入一个设置staticMesh的函数,暴露出new mesh。 2.创建结构体Create2   3.创建wid1和wid2(widget)。 wid1:  写一个set style事件,用变量icon来设置image_icon,变量name设置text block。这两个变量需要暴露出去。  创建wid之前完成set style事件  写

    2024年02月11日
    浏览(40)
  • UE4 C++:Actor与Component的创建、销毁

    目录 Actor的创建与销毁 创建 UClass* TSubclassOf SpawnActor() 销毁 直接销毁:Destroy() 设置生命周期 Component 的创建与销毁 创建 构造函数创建:CreateDefaultSubobject Runtime创建:NewObject、RegisterComponent() 加载资源 FObjectFinder构造函数加载资源 LoadObject加载资源 设置组件层级关系 销毁组件

    2023年04月11日
    浏览(49)
  • UE4/5AI制作基础AI(适合新手入门,运用黑板,行为树,ai控制器,角色类,任务)

    目录 制作流程 第一步:创建资产 然后创建一个AIController 之后创建一个黑板和行为树:  第二步:制作 黑板 行为树 任务 运行行为树  结果 第一步直接复制你的人物蓝图,做一个npc: 然后创建一个AIController 之后创建一个 黑板和行为树 :   首先打开你的BP_NPC的pawn类,然后

    2024年02月16日
    浏览(95)
  • 【UE5/UE4】【UE C++】制作一个蓝图宏库用以在构造器中Spawn Actor

    实际上该功能可以通过纯蓝图写出,以下展示蓝图中如何操作构造器 仅需在创建\\\"自定义事件\\\"的时候勾选\\\"编辑器中调用\\\"属性,然后就可以直接在蓝图中生成 但同时,我们发现\\\"从类生成Actor\\\"该蓝图节点具有生成局限性 无法在当前关卡外生成 以及无法生成某些在蓝图中公开却不在

    2024年02月14日
    浏览(61)
  • UE4行为树详解

    ksun 139 人赞同了该文章 本文的目的是希望帮助开发者能更好地理解行为树执行顺序,并更合理的实现AI逻辑。而且尽量 说人话 。 需要一定的基础,希望你至少做了几个简单AI。 很久没有碰AI开发了,我鸽了,对不起,此文请配合评论一起食用(我对AI开发的部分概念,理解有

    2024年02月05日
    浏览(35)
  • UE4/5 行为树使用教程

    使用行为树需确保目标蓝图继承自Character基类,然后根据本文下面的流程操作即可。 首先需要在 角色自身蓝图之外 创建一个新的蓝图,继承自AIController: 找到角色自身蓝图类 设置中的Pawn一栏 ,挂载刚刚创建的控制器蓝图: 创建行为树文件,添加Sequence节点,可以单击Ne

    2024年02月15日
    浏览(39)
  • 如何使用UE5新功能 “打包型关卡Actor” 实现场景的性能优化

    内容分为: 简介 实操 优化结果展示 看不懂原理看看实操就大概就能明白 “打包型关卡蓝图”是UE5新功能 世界分区(World Partition) 的一部分 但 不依赖于项目是否启用了世界分区 官方文档有关世界分区中 关卡实例化 的内容 官方文档: 这个功能的原理是将场景中的 静态网

    2024年02月12日
    浏览(108)
  • UE4/5动画系列(3.通过后期处理动画蓝图的头部朝向Actor,两种方法:1.通过动画层接口的look at方法。2.通过control rig的方法)

    目录 蓝图 点积dot Yaw判断  后期处理动画蓝图  动画层接口 ControlRig: 首先我们创建一个actor类,这个actor类是我们要看的东西,actor在哪,我们的动物就要看到哪里(同样,这个我们也是做一个父类,因为它会和我们的蓝图类模板一起使用)。 这样子做,将模型作为根(也可

    2024年02月11日
    浏览(64)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包