diff --git a/Source/RealtimeMeshComponent/Private/Mesh/RealtimeMeshBlueprintMeshBuilder.cpp b/Source/RealtimeMeshComponent/Private/Mesh/RealtimeMeshBlueprintMeshBuilder.cpp index 7a33082c..8860755e 100644 --- a/Source/RealtimeMeshComponent/Private/Mesh/RealtimeMeshBlueprintMeshBuilder.cpp +++ b/Source/RealtimeMeshComponent/Private/Mesh/RealtimeMeshBlueprintMeshBuilder.cpp @@ -650,17 +650,17 @@ URealtimeMeshLocalBuilder* URealtimeMeshLocalBuilder::Initialize(ERealtimeMeshSi if (WantedTexCoordChannels > 1) { - UV1Builder = MakeUnique>(Stream, 1); + UV1Builder = MakeUnique>(Stream, 1); } if (WantedTexCoordChannels > 2) { - UV2Builder = MakeUnique>(Stream, 2); + UV2Builder = MakeUnique>(Stream, 2); } if (WantedTexCoordChannels > 3) { - UV3Builder = MakeUnique>(Stream, 3); + UV3Builder = MakeUnique>(Stream, 3); } } @@ -781,17 +781,17 @@ URealtimeMeshLocalBuilder* URealtimeMeshLocalBuilder::EnableTexCoords(int32 NumC if (NumChannels > 1) { - UV1Builder = MakeUnique>(Stream, 1); + UV1Builder = MakeUnique>(Stream, 1); } if (NumChannels > 2) { - UV2Builder = MakeUnique>(Stream, 2); + UV2Builder = MakeUnique>(Stream, 2); } if (NumChannels > 3) { - UV3Builder = MakeUnique>(Stream, 3); + UV3Builder = MakeUnique>(Stream, 3); } } return this; @@ -941,15 +941,15 @@ int32 URealtimeMeshLocalBuilder::AddVertex(URealtimeMeshLocalBuilder*& Builder, if (UV1Builder.IsValid()) { - UV1Builder->SetElement(Vertex.GetIndex(), 1, InVertex.UV1); + UV1Builder->SetElement(Vertex.GetIndex(), 0, InVertex.UV1); } if (UV2Builder.IsValid()) { - UV2Builder->SetElement(Vertex.GetIndex(), 2, InVertex.UV2); + UV2Builder->SetElement(Vertex.GetIndex(), 0, InVertex.UV2); } if (UV3Builder.IsValid()) { - UV3Builder->SetElement(Vertex.GetIndex(), 3, InVertex.UV3); + UV3Builder->SetElement(Vertex.GetIndex(), 0, InVertex.UV3); } } diff --git a/Source/RealtimeMeshComponent/Private/RenderProxy/RealtimeMeshProxy.cpp b/Source/RealtimeMeshComponent/Private/RenderProxy/RealtimeMeshProxy.cpp index 64e942cb..5f508945 100644 --- a/Source/RealtimeMeshComponent/Private/RenderProxy/RealtimeMeshProxy.cpp +++ b/Source/RealtimeMeshComponent/Private/RenderProxy/RealtimeMeshProxy.cpp @@ -16,7 +16,9 @@ namespace RealtimeMesh , ActiveStaticLODMask(false, REALTIME_MESH_MAX_LODS) , ActiveDynamicLODMask(false, REALTIME_MESH_MAX_LODS) , ReferencingHandle(MakeShared(0xFF)) +#if UE_ENABLE_DEBUG_DRAWING , CollisionTraceFlag(CTF_UseSimpleAndComplex) +#endif { } diff --git a/Source/RealtimeMeshComponent/Private/RenderProxy/RealtimeMeshSectionGroupProxy.cpp b/Source/RealtimeMeshComponent/Private/RenderProxy/RealtimeMeshSectionGroupProxy.cpp index 34211c1b..7196f42f 100644 --- a/Source/RealtimeMeshComponent/Private/RenderProxy/RealtimeMeshSectionGroupProxy.cpp +++ b/Source/RealtimeMeshComponent/Private/RenderProxy/RealtimeMeshSectionGroupProxy.cpp @@ -308,7 +308,7 @@ namespace RealtimeMesh Segment.VertexBuffer = PositionStream->VertexBufferRHI; Segment.VertexBufferOffset = 0; Segment.MaxVertices = PositionStream->Num(); - Segment.bEnabled = Section->GetDrawMask().IsAnySet(ERealtimeMeshDrawMask::DrawDynamic | ERealtimeMeshDrawMask::DrawStatic); + Segment.bEnabled = DrawMask.IsAnySet(ERealtimeMeshDrawMask::DrawDynamic | ERealtimeMeshDrawMask::DrawStatic); if (Segment.bEnabled) { Segment.FirstPrimitive = Section->GetStreamRange().GetMinIndex() / 3; diff --git a/Source/RealtimeMeshComponent/Public/Interface/Core/RealtimeMeshBuilder.h b/Source/RealtimeMeshComponent/Public/Interface/Core/RealtimeMeshBuilder.h index ed7eda10..7577e8a1 100644 --- a/Source/RealtimeMeshComponent/Public/Interface/Core/RealtimeMeshBuilder.h +++ b/Source/RealtimeMeshComponent/Public/Interface/Core/RealtimeMeshBuilder.h @@ -1518,7 +1518,7 @@ namespace RealtimeMesh void SetTangents(int32 VertIdx, const FVector3f& Normal, const FVector3f& Binormal, const FVector3f& Tangent) { checkf(HasTangents(), TEXT("Vertex tangents not enabled")); - Tangents->Set(VertIdx, TRealtimeMeshTangents(Normal, Tangent, Tangent)); + Tangents->Set(VertIdx, TRealtimeMeshTangents(Normal, Binormal, Tangent)); } void SetTexCoord(int32 VertIdx, int32 TexCoordIdx, const FVector2f& TexCoord) diff --git a/Source/RealtimeMeshComponent/Public/Mesh/RealtimeMeshBlueprintMeshBuilder.h b/Source/RealtimeMeshComponent/Public/Mesh/RealtimeMeshBlueprintMeshBuilder.h index ef119ece..01c79a84 100644 --- a/Source/RealtimeMeshComponent/Public/Mesh/RealtimeMeshBlueprintMeshBuilder.h +++ b/Source/RealtimeMeshComponent/Public/Mesh/RealtimeMeshBlueprintMeshBuilder.h @@ -247,18 +247,18 @@ class REALTIMEMESHCOMPONENT_API URealtimeMeshLocalBuilder : public URealtimeMesh GENERATED_BODY() protected: TUniquePtr> MeshBuilder; - TUniquePtr> UV1Builder; - TUniquePtr> UV2Builder; - TUniquePtr> UV3Builder; + TUniquePtr> UV1Builder; + TUniquePtr> UV2Builder; + TUniquePtr> UV3Builder; virtual void EnsureInitialized() override; public: URealtimeMeshLocalBuilder() = default; void Initialize(TUniquePtr&& InStreams, TUniquePtr>&& InBuilder, - TUniquePtr>&& InUV1Builder, - TUniquePtr>&& InUV2Builder, - TUniquePtr>&& InUV3Builder) + TUniquePtr>&& InUV1Builder, + TUniquePtr>&& InUV2Builder, + TUniquePtr>&& InUV3Builder) { Streams = MakeShared(MoveTemp(*InStreams)); MeshBuilder = MoveTemp(InBuilder);