在 C++ 演员类中创建场景组件

问题描述

我有一个由蓝图继承的基本 C++ 字符类。 c++ 类创建了一个胶囊组件,稍后用于测试重叠。继承的蓝图类是配置胶囊大小、半径和位置的地方。

Zone = CreateDefaultSubobject<UCapsuleComponent>( TEXT( "Zone" ) );
Zone->SetupAttachment( GetMesh( ) );

我面临的问题是我需要将胶囊连接到动画插座。出于某种原因,这是不允许的,编辑器说“无法更改继承组件上的套接”。

有没有一种首选/推荐的方式来做这样的事情?这似乎是相当基本的设置,所以我无法想象这是不可能的。目前尝试了几种方法,但都感觉有些不对:

  1. 仅在 C++ 中设置附件 - 考虑到在蓝图中设置了网格+动画,这相当困难,所以我必须跳过很多圈子才能做到这一点 - 暴露大量变量等,我真的没有喜欢。
  2. 在蓝图构建脚本中使用 AttachComponentToComponent。这个几乎可以工作,但编辑器经常出现“错误”(在多次重新编译 C++ 代码之后)——胶囊被冻结在原地,无法移动。
  3. 稍微更改设置流程 - C++ 类仅声明变量,但将其留给蓝图进行设置。然后在蓝图中我创建一个胶囊组件并调用 Set Zone = TheCapsule。同样,几乎可以工作,并且它允许更自由地创建组件的位置/方式 - 但在重新编译 C++ 代码后,蓝图代码通常会变得无效。构建脚本中带有“设置区域”方法的框变为红色,我必须重新创建它。

那么有没有更好的方法来做到这一点?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)