안녕하세요.
제공해 주신 샘플 프로젝트를 확인한 결과, 말씀해 주신 두 현상은 UE 5.8에서 Landscape 레이어 페인팅 방식이 변경되면서 나타나는 동작으로 확인됩니다.
UE 5.7에서는 한 레이어를 칠하거나 지울 때, 같은 Weight Blend 그룹의 다른 레이어 가중치도 함께 조정하여 전체 합계가 1.0이 되도록 유지했습니다.
다만 레이어를 지울 때 줄어든 가중치를 어느 레이어에 넘겨야 하는지 명확한 기준이 없어, 엔진이 컴포넌트별로 대체 레이어를 선택해야 했습니다.
이 때문에 한 컴포넌트에서는 특정 레이어가 증가하고 인접한 컴포넌트에서는 다른 레이어가 증가하는 등 의도하지 않은 결과가 발생할 수 있었습니다.
UE 5.8에서는 이러한 문제를 방지하기 위해 기존의 자동 재분배 방식을 제거하고, 사용자가 Exclusive Paint를 통해 레이어를 편집하도록 변경되었습니다.
이에 따라 Subtractive Blend 페인팅 시에는 선택한 레이어의 가중치만 감소하고, 같은 Weight Blend 그룹의 다른 레이어 가중치는 자동으로 증가하지 않습니다.
선택 레이어를 지운 뒤에도 다른 레이어에 가중치가 남아 있다면, 최종 합성 단계에서 남아 있는 가중치의 비율을 기준으로 정상적으로 표시할 수 있습니다.
하지만 해당 위치의 모든 레이어 가중치가 0이 되면 계산할 값이 없으므로, 그 위치가 검게 표시됩니다.
Exclusive Paint는 아래 5.8 릴리즈 노트 공식 문서의 Landscape mode Paint tools: New exclusive paint mode for weight-blended layers 항목을 참고하시면 좋을 것 같습니다.
Unreal Engine 5.8 Release Notes | Unreal Engine 5.8 Documentation | Epic Developer Community
컴포넌트를 하나의 레이어로 완전히 채워도 다른 레이어가 남는 현상은 사용하지 않는 레이어의 할당 정보가 정리되지 않아 발생합니다.
Layer Usage는 해당 컴포넌트에 내부적으로 할당된 레이어 수를 표시합니다.
UE 5.7에서는 한 레이어로 완전히 채우면 사용하지 않게 된 다른 레이어의 할당 정보까지 함께 정리했습니다.
UE 5.8에 반영된 변경에서는 기존의 명시적인 할당 정리 과정이 제거되었습니다.
따라서 선택한 레이어를 100%로 채워 화면에는 하나의 레이어만 보이더라도, 다른 레이어의 할당 정보가 남아 Layer Usage가 3으로 유지될 수 있습니다.
엔진에는 최종 Weightmap에서 완전히 비어 있는 레이어 할당을 제거하는 다음 옵션이 존재합니다.
landscape.RemoveEmptyPaintLayersOnEdit엔진 코드의 TODO 주석에 따르면, 이 기능을 활성화할 경우 이미 정리된 레이어 할당을 합성 과정이 다시 생성했다가 합성 결과 확인 후 다시 삭제하는 왕복이 레벨을 열 때마다 반복되어,
열기만 해도 Landscape가 변경된 것으로 인지하여 dirty 상태가 되는 문제가 있어 비활성화해 둔 것으로 보입니다.
감사합니다.
[Attachment Removed]