現在この様に修正を取り込んで対応してます。
いただいたコードに寄せて対応してみます。
`bool FAnimationSequenceAsyncCacheTask::BuildData() const
{
// This is where we should do the compression parts
TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(*(FString(TEXT("FAnimationSequenceAsyncCacheTask::BuildData ") + CompressibleAnimPtr->Name)));
UE_LOG(LogAnimationCompression, Display, TEXT(“Building compressed animation data for %s (Required Memory Estimate: %.2f MB)”),
*CompressibleAnimPtr->FullName, double(GetRequiredMemoryEstimate()) / (1024.0 * 1024.0));
check(CompressibleAnimPtr.IsValid());
FCompressibleAnimData& DataToCompress = *CompressibleAnimPtr.Get();
FCompressedAnimSequence& OutData = *CompressedData;
if (Owner.IsCanceled())
{
return false;
}
FCompressibleAnimDataResult CompressionResult;
DataToCompress.FetchData(TargetPlatform);
if (Owner.IsCanceled())
{
return false;
}
DataToCompress.Update(OutData);
const bool bBoneCompressionOk = FAnimationUtils::CompressAnimBones(DataToCompress, CompressionResult);
if (Owner.IsCanceled())
{
return false;
}
const bool bCurveCompressionOk = FAnimationUtils::CompressAnimCurves(DataToCompress, OutData);
const bool bCompressionSuccessful = bBoneCompressionOk && bCurveCompressionOk;
const FString CompressionName = DataToCompress.BoneCompressionSettings->GetFullName();
if (bCompressionSuccessful && !Owner.IsCanceled())
{
OutData.CompressedByteStream = MoveTemp(CompressionResult.CompressedByteStream);
OutData.CompressedDataStructure = MoveTemp(CompressionResult.AnimData);
OutData.BoneCompressionCodec = CompressionResult.Codec;
OutData.CompressedRawData = DataToCompress.RawAnimationData;
OutData.OwnerName = DataToCompress.AnimFName;
return true;
}
else
{
UE_LOG(LogAnimationCompression, Error, TEXT(“Failed to generate compressed animation data for %s with compression scheme %s for target platform %s”), *CompressibleAnimPtr->FullName, *CompressionName, *TargetPlatform->DisplayName().ToString());
}
return false;
}`