我在 LevelSequencer 中,我直接在属性面板调节 Spawnable 的 SequenceBP 的 Linear Damping 属性的,动画状态机就会重置。

目前直接调节 Sequencer 中,SeuqenceBP 的属性值,比如 Linear Damping,动画就会重置,回到 idle 状态。

对于 BP_SequenceMan,当调节结束时,BP_SequenceMan 的动画会恢复。

对于 BP_SequenceMan1,当调节结束时,动画并不会恢复,还是在 Idel 状态。

<br/>

这样对于调节属性非常不方便,希望在调节过程中,一直保持不变。

[Attachment Removed]

您好,我不是特别明白您的问题,是指在Sequencer内K属性值的过程中,无法让动画状态机的状态固定下来吗?您希望一直在A状态,但是系统会自动回到Idle状态,是这样吗?

如果方便的话,希望您录制一个相关的操作视频,方便我们一起定位问题。

[Attachment Removed]

如下是操作视频。

我截了一张图,我们项目中,给 Character 的蓝图 BP_SequenceMan1,又加了一个 MeshComponent 来挂 SK。但是随便改这个蓝图的属性,这里以 LinearDamping 为例,会导致状态机重置。改其他 Actor 属性也类似。 [Image Removed]

[Attachment Removed]

我在下面录了个视频👻 ​

[Attachment Removed]

您好,感谢您提供的信息,根据您的描述和视频,我查看了相关代码。

您所遇到的问题我可以归纳为:

1、当先点击Actor(即Character或者角色BP),然后再进行属性编辑(即LinearDamping),场景中的角色的Pose会还原到您编辑之前的状态

2、当先点击MeshComponent,然后再进行属性编辑(即LinearDamping),场景中的角色Pose不会还原到您编辑之前,保持为Idle。

您可以先验证一下我上述的描述是否和您遇到的问题一致。

这里其实不是动画状态机重置,而是看编辑后角色的Pose有没有重新被评估。

主要原因是特性内部相关的绑定和消息传递导致的,相关代码可见FSkeletalAnimationTrackEditor::OnPostPropertyChanged,只有当你修改的属性在Actor上才会立即刷新(因为Actor是和Sequenceer绑定的),而Mesh并没有和Sequenceer绑定所以不会重新评估Pose。

这个问题我会反馈给相关的开发人员查看,看是否需要修改。

短期来看,值得一提的是,即使你是先点击Mesh再进行修改,也并非完全不能回到原来的Pose状态,其实你只要稍微前进或后退一帧,随便在Sequencer上操作一下就可以回到原来的Pose状态了。

当然,你也可以尽量优先点击Actor再进行属性编辑进行操作。

有什么想法和问题我们可以再沟通。

[Attachment Removed]

感谢,我遇到的问题和你描述的问题一致。

因为我这边主要是想要改一些属性,来预览光影和材质效果,Pose 这样变换会导致预览很不方便。帮忙向开发人员反馈下是否能修改。

[Attachment Removed]

嗯,内部已有相关Bug单

[Attachment Removed]