スケルタルメッシュをインポート後に元データの情報(メッシュ、ボーン数、ウェイトなど)を変更し、再インポートをかけても「Mapped To Vertices」の値が変更前の値と変わりません。
変更したモデルを新規でインポートすると問題がないので、変更前のデータが残っているようです。
こちら、データを正常にする方法はありますでしょうか?
また、こちらの現象と同じでしょうか?
https://forums.unrealengine.com/t/some-data-left-over-when-re-importing-the-mesh/2341176
■新規インポート
[Image Removed]
■上記スケルタルメッシュをシンプルな球体モデルで再インポート
[Image Removed]
■シンプルな球体モデルを新規インポート
[Image Removed]
[Attachment Removed]
再現手順
1.添付プロジェクト「MappedToVertices」を開く。
2.スケルタルメッシュ「/Game/Test/Base」のペルソナビューを開き、Mesh InfoのDetailed表示から「Mapped To Vertices」が80であることを確認する。
3.スケルタルメッシュ「Base」を添付ファイル内にある「MappedToVertices/Reimport.fbx」で再インポートをかける。
4.再度「Mapped To Vertices」を確認し、再インポート前と変わらないことを確認する。
※下記ファイルはそれぞれ以下の状態になっています。
/Game/Test/
Newimport …「MappedToVertices/Reimport.fbx」を新規でインポート
Reimport …/Game/Test/Baseを「MappedToVertices/Reimport.fbx」で再インポート
[Attachment Removed]
お世話になっております。
本件をバグトラッカーに登録いたしました。
Public Issueとして承認され次第、下記のURLからエンジン側の対応を追跡していただけます。
もしほかにご質問や不明点などあれば、お気軽にお問い合わせください。なければ、本件は回答済みとしてCloseさせていただこうと考えております。
以上、よろしくお願いいたします。
[Attachment Removed]
お世話になっております。
大変使いやすい再現プロジェクトのご提供、誠にありがとうございます。
本件ですが、Interchangeフレームワークの再インポート時の処理に不備がございました。
ご提供いただいたリンク先で指摘されている問題と同根のものとなります。
これを回避するには、コンソールコマンドで、
Interchange.FeatureFlags.Import.FBX 0
を実行し、一時的に旧インポータに切り替えて再インポートを行うか、
リンク先で投稿されているパッチと同様に、Engine\Source\Developer\MeshUtilities\Private\MeshUtilities.cppのBuildSkeletalModelFromChunks()関数 800行付近を下記のようにご変更ください。
void FMeshUtilities::BuildSkeletalModelFromChunks(
FSkeletalMeshLODModel& LODModel,
const FReferenceSkeleton& RefSkeleton,
TArray<FSkinnedMeshChunk*>& Chunks,
const TArray<int32>& PointToOriginalMap,
bool bCacheOptimize
)
{
#if WITH_EDITORONLY_DATA
// Clear out any data currently held in the LOD model.
LODModel.Sections.Empty();
LODModel.NumVertices = 0;
LODModel.IndexBuffer.Empty();
+ LODModel.ActiveBoneIndices.Empty();
準備ができ次第、バグトラッカーへの報告も進めてまいります。
以上、よろしくお願いいたします。
[Attachment Removed]
ご回答ありがとうございます。
特に不明点はございませんので、Closeにしていただければと思います。
[Attachment Removed]
ご確認ありがとうございます。
それでは本件は回答済みとしてCloseさせていただきます。
以上、よろしくお願いいたします。
[Attachment Removed]