I am using mesh merger to create modular characters for my game and it performs merging correctly at runtime, but later has problems with generating LOD models as shown below in log:
(this problem does not occur in Editor Mode)
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000
!FSkeletalMeshMerge::CopyVertexFromSource<TGPUSkinVertexFloat16Uvs<1> >() [C:\Unreal projects\UnrealEngine\Engine\Source\Runtime\Engine\Private\SkeletalMeshMerge.cpp:429]
!FSkeletalMeshMerge::GenerateLODModel<TGPUSkinVertexFloat16Uvs<1> >() [C:\Unreal projects\UnrealEngine\Engine\Source\Runtime\Engine\Private\SkeletalMeshMerge.cpp:651]
!FSkeletalMeshMerge::FinalizeMesh() [C:\Unreal projects\UnrealEngine\Engine\Source\Runtime\Engine\Private\SkeletalMeshMerge.cpp:232]
!UMeshMergeFunctionLibrary::MergeMeshes()
Problem exists with implementation shown in documentation about Working with modular characters and also using built-in plugin. I also tried to set property “Use high precision tangent basis” to true, but it doesn’t change the effect, this was tried, because this line of code caused problems:
FStaticMeshVertexBuffer.h
FORCEINLINE_DEBUGGABLE FVector4f VertexTangentX(uint32 VertexIndex) const
{
checkSlow(VertexIndex < GetNumVertices());
if (GetUseHighPrecisionTangentBasis())
{
return VertexTangentX_Typed<EStaticMeshVertexTangentBasisType::HighPrecision>(VertexIndex);
}
else
{
return VertexTangentX_Typed<EStaticMeshVertexTangentBasisType::Default>(VertexIndex);
}
}