블루프린트에서 컬러 변환

언리얼 엔진에서 OpenColorIO를 사용하여 블루프린트에서 컬러 트랜스포메이션을 적용합니다.

Choose your operating system:

Windows

macOS

Linux

비디오 소스를 재생하는 MediaTexture 등의 모든 입력 텍스처에 블루프린트 를 사용하여 OpenColorIO, 즉 OCIO 컬러 트랜스포메이션을 적용하고 그 변환 결과를 RenderTarget 에서 구할 수 있습니다. 이 페이지에서는 프로젝트에서 컬러 스페이스 트랜스폼 적용(Apply Color Space Transform) 블루프린트 함수를 사용하는 방법에 대해 살펴봅니다.

전제조건

이 섹션을 완료하려면 다음과 같은 프로젝트 구성이 필요합니다.

  • OpenColorIO 환경설정 에셋 . 이 에셋의 생성 단계는 OpenColorIO 퀵스타트를 참고하세요.

  • 이벤트 틱(Event Tick) 을 갖춘 블루프린트 액터 에서 생성된 블루프린트 클래스 .

컬러 스페이스 트랜스폼 적용 함수 사용

블루프린트를 사용하여 컬러 변환을 적용하려면 다음 단계를 따릅니다. 이러한 단계는 EditorUtilityActor 블루프린트 클래스를 예시로 사용합니다.

  1. 블루프린트 클래스(Blueprint Class) 를 더블클릭하여 블루프린트 에디터(Blueprint Editor) 에서 엽니다.

  2. 내 블루프린트(My Blueprint) 패널의 변수(Variables) > 컴포넌트(Components) 에서 변수 추가(Add Variable) 를 클릭하여 새 변수를 생성합니다. 새 변수는 InputTexture 로 명명합니다.

    Add new variable in Blueprint Class

  3. 새 InputTexture 변수 옆에 퍼블릭으로 만들기(Make Public) 를 클릭하여 이 블루프린트 외부에서도 표시되도록 합니다.

    퍼블릭으로 설정된 InputTexture 변수

  4. InputTexture 변수의 변수 타입(Variable Type)오브젝트 타입(Object Types) > 텍스처(Texture) > 오브젝트 레퍼런스(Object Reference) 로 설정합니다.

    InputTexture 변수 타입을 텍스처 오브젝트 레퍼런스로 설정

  5. 변수를 두 개 더 생성하고 퍼블릭으로 만듭니다.

    • 변수 타입 텍스처 렌더 타깃 2D(Texture Render Target 2D) > 오브젝트 레퍼런스(Object Reference) 를 갖춘 OutputTexture

    • 변수 타입 오픈 컬러 IO 컬러 변환 세팅(Open Color IOColor Conversion Settings) 을 갖춘 ColorConversionSettings

    모든 변수가 생성된 블루프린트

  6. InputTexture 변수를 이벤트 그래프(Event Graph) 로 드래그하여 Get InputTexture 를 선택합니다. 이렇게 하면 이벤트 그래프에 새 InputTexture 노드가 생성됩니다.

    이벤트 그래프로 InputTexture 변수를 드래그하여 생성된 Get InputTexture 노드

  7. OutputTextureColorConversionSettings 변수에 대해 같은 과정을 반복합니다.

    모든 변수에서 생성된 블루프린트 노드

  8. 이벤트 그래프 를 우클릭하고 새 Apply Color Space Transform 노드를 추가합니다.

    생성된 Apply Color Space Transform 노드 적용

  9. 노드를 서로 연결합니다.

    • 이미 준비된 Event Tick 노드의 출력 실행 핀Apply Color Space Transform 노드의 입력 실행 핀 에 연결합니다.

    • InputTexture 노드의 출력 데이터 핀Apply Color Space Transform 노드의 입력 텍스처(Input Texture) 입력 데이터 핀 에 연결합니다.

    • Output Texture 노드의 출력 데이터 핀Apply Color Space Transform 노드의 출력 렌더 타깃(Output Render Target) 입력 데이터 핀 에 연결합니다.

    • Color Conversion Settings 노드의 출력 데이터 핀Apply Color Space Transform 노드의 변환 세팅(Conversion Settings) 입력 데이터 핀 에 연결합니다.

    연결된 블루프린트 노드

  10. 블루프린트를 컴파일 하고 저장 합니다. '블루프린트 에디터'를 닫습니다.

  11. 블루프린트 에셋(Blueprint Asset) 을 레벨로 드래그하여 액터 를 생성합니다.

  12. 아웃라이너(Outliner) 에서 블루프린트 액터(Blueprint Actor) 를 선택하여 디테일(Details) 패널을 엽니다.

  13. 디테일 패널에서 디폴트(Default) 섹션을 펼쳐 입력 텍스처 를 원하는 입력 파일로 설정합니다.

  14. 콘텐츠 브라우저(Content Browser) 에서 렌더 타깃 에셋(Render Target Asset) 을 생성하고 출력 텍스처 가 새 렌더 타깃 에셋을 지정하도록 설정합니다.

    모든 변수가 할당된 블루프린트 클래스 액터의 디테일 패널

  15. 블루프린트 액터디테일 패널에서 컬러 변환 세팅(Color Conversion Settings) 섹션을 펼칩니다. 환경설정 소스(Configuration Source) 를 사용자의 OpenColorIO 환경설정 에셋으로 설정하고, 소스 컬러 스페이스(Source Color Space)대상 컬러 스페이스(Destination Color Space) 가 입력 및 출력 미디어의 컬러 스페이스와 일치하도록 조정합니다.

  16. 렌더 타깃 에셋(Render Target Asset) 을 레벨의 액터 로 드래그하여 컬러 트랜스포메이션을 갖춘 미디어를 프리뷰합니다. 소스 컬러 스페이스 및 대상 컬러 스페이스 세팅은 계속 조정하여 다양한 출력을 프리뷰할 수 있습니다.