LODSettings用データアセットのBake Poseが機能しない

お世話になっております。

Skeletal Mesh LODSettingsデータアセットを介してのBake Poseについて質問があります。

(確認バージョン: UE5.5.4)​

  1. Bake Poseにアニメーションシーケンスを指定したSkeletal Mesh LODSettingsデータアセットをスケルタルメッシュに登録後、Regenerateを実行したところ、ポーズが反映されませんでした。
  2. Skeletal Mesh LODSettingsデータアセットの設定を解除してスケルタルメッシュ自体のBake Poseに直接指定した場合は反映されました。

また同様の手順をUE4.27.2で行ったところ正しくポーズが反映されました。

UE5.5.4でもデータアセットを介したBake Poseを機能させる方法はあるでしょうか?

ご確認のほどよろしくお願いいたします。

再現手順

お世話になっております。

ご連絡ありがとうございます。

当方の手持ちのデータで症状の再現を取るのに手こずっており、回答までいましばらくお時間を頂戴できますと幸いです。

なお、EPSの投稿時に記入されたUEのバージョンは「5.4」ということでしたが、ご質問の文章中にご提示いただいたUEバージョンは5.5.4ということでした。今回のご質問に関しては、UE5.5系(5.5.4)をご利用中であるという前提で確認作業を進めていく形で問題ないでしょうか?

以上、よろしくお願いいたします。

お世話になっております。

ご指摘の件、UE5.4以降の全バージョンで再現をとることができました。​お騒がせいたしました。

CL22878911で入った変更によって、LODSettingsデータアセットがもつBakePose情報が、スケルタルメッシュLOD設定のBakePoseにコピーされなくなったのが原因のようでした。SkeletalMeshLODSettings.cppのbool USkeletalMeshLODSettings::SetLODSettingsToMesh()を、

`bool USkeletalMeshLODSettings::SetLODSettingsToMesh(USkeletalMesh* InMesh, int32 LODIndex) const
{
if (InMesh->IsValidLODIndex(LODIndex) && LODGroups.IsValidIndex(LODIndex))
{

// … 中略 …

// if we have available bake pose
// it’s possible for skeleton to be null if this happens in the middle of importing
// so if skeleton is null, we allow copy (the GetBakePose will check correct skeleton when get it)

  • if (Setting.BakePose && (!InMesh->GetSkeleton() || !Setting.BakePose->GetSkeleton()))
  • if (Setting.BakePose && (!InMesh->GetSkeleton() || !Setting.BakePose->GetSkeleton() || InMesh->GetSkeleton()->IsCompatible(Setting.BakePose->GetSkeleton())))
    {
    LODInfo->BakePose = Setting.BakePose;
    }`のように変更していただくことで、一時的な回避が可能です。

大変恐縮ながら、7​月13日まで本社が夏季休暇期間のため、本件について開発チームに問い合わせたり、バグトラッカーへ登録したりすることができません。

ひとまず上記のパッチをお試しいただき、正式な報告と修正検討まで、2~3週間お時間を頂戴できれば幸いです。

以上、よろしくお願いいたします。​

ご対応ありがとうございます

遅くなりまして申し訳ございません。

ご返信いただき、ありがとうございます。

いただいたコードを参考にパッチを充てるか検討させていただきます。

ご対応にお時間をいただく件、承知いたしました。

引き続き、どうぞよろしくお願いいたします。

回答のご確認ありがとうございます。

それでは本社の夏季休暇明けまで、本チケットを「Open」状態のまま当方で保留させていただきます。

引き続き、よろしくお願いいたします。

大変お待たせいたしました。

本件のバグ報告を行いました。Public Issueとして承認後、次のURLから正式な修正の状況を追跡していただけます。

当社の夏季休暇の関係でかなりお待たせしてしまいましたが、他に問題がなければ対応済みとしてチケットをCloseさせていただきたいと考えております。

以上、よろしくお願いいたします。

返答遅くなってしまい申し訳ありません。

いただいたリンクに飛ぶと「UE-305424」「Unknown Issue**」**という表示がされ状況見れませんでした。

こちらすでにクローズ済みということでしょうか?

よろしくお願いいたします。

お世話になっております。

Public Issue化の承認が完了しておらず、ページが公開されておりませんでした。たいへん失礼いたしました。

​現在はアクセス可能となっております。お手数ですが今一度ご確認ください。​

https://issues.unrealengine.com/issue/UE-305424

以上、よろしくお願いいたします。​