인프런 커뮤니티 질문&답변

themoon007님의 프로필 이미지
themoon007

작성한 질문수

런타임에서 texture2d를 만들었을떄 압축 옵션 적용

작성

·

76

0

코드로 이미지 파일을 decompress RawData로 가져와서 FImage를 확보하고,

이거를 Texture2D로 변환하는데 메모리를 아끼려고 압축옵션을 적용해도 변화가 없습니다.

 

런타임중에 직접 texture2d를 생성하고 UpdateResource() 를 호출하여 최종 적용했을 때, 미리 설정한 압축 옵션이 작동되게 하는 방법이 무엇인가요???

 

압축옵션 뿐만 아니라 mipmap, 그룹 옵션 등등 작동이 안됩니다. (런타임 중)

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

themoon007님, 런타임에서 Texture2D를 생성하고 압축 옵션을 적용하는 방법에 대해 질문 주셨군요. 런타임 중에 직접 생성된 Texture2D에 압축 옵션 및 기타 옵션들을 적용하려면 다음과 같은 방법을 사용할 수 있습니다.

  1. 압축 설정 및 압축 적용:

    • UTexture2D 또는 Runtime/CoreUObject/Public/UObject/ConstructorHelpers.h에 정의된 TextureCompressionSettings를 설정하십시오.
    • UpdateResource()를 호출하여 변경된 설정을 적용합니다.
  2. Mipmap과 기타 옵션 설정:

    • Texture의 Mip Gen Settings를 설정하고, 필요한 경우 GenerateMips() 함수를 호출합니다.

다음은 예시 코드입니다:

UTexture2D* MyTexture = UTexture2D::CreateTransient(Width, Height, PF_B8G8R8A8);

// 압축 설정
MyTexture->CompressionSettings = TC_Default;
MyTexture->MipGenSettings = TMGS_FromTextureGroup;

// 텍스처 업데이트
MyTexture->UpdateResource();
  1. 이미지 데이터 복사 및 리소스 갱신:
    • 텍스처의 압축 설정과 Mipmap을 설정한 후, RawData를 텍스처 데이터에 복사하고 UpdateResource()를 호출하여 최종 적용합니다.

이 방법을 통해 런타임 중에 생성된 텍스처에 압축 옵션과 mipmap 및 기타 옵션들을 적용할 수 있을 것입니다. 만일 여전히 압축 옵션 적용이 원활하지 않다면, 로그를 통해 어느 단계에서 문제가 발생하는지 확인해 보시길 권장드립니다.

추가로 참조하면 좋을 자료:
- Unreal Engine Documentation

도움이 되시길 바랍니다.

themoon007님의 프로필 이미지
themoon007

작성한 질문수

질문하기