본문 바로가기
[ Unity ]/- 유니티 실습

유니티 머티리얼 핑크색 오류 해결방법

by MRG 2024. 1. 16.
728x90
반응형

▣ Render Pipeline Converter에서 Material Upgrade(머티리얼 업그레이드)를 해야 하는 이유는

Unity의 렌더링 파이프라인(Render Pipeline)이 변하면서,

기존의 Standard Shader를 사용하는 머티리얼들이 새로운 파이프라인에서 제대로 렌더링 되지 않거나 성능에 문제가 발생할 수 있기 때문입니다.

Unity는 현재 다음과 같은 주요 렌더링 파이프라인을 제공합니다:
Built-in Render Pipeline (기본 렌더 파이프라인): 기존 Unity 프로젝트에서 주로 사용되던 파이프라인입니다.
Universal Render Pipeline (URP): 성능과 호환성을 중시한 경량 렌더 파이프라인입니다.
High Definition Render Pipeline (HDRP): 고사양 그래픽과 사실적인 비주얼을 목표로 한 고품질 렌더 파이프라인입니다.


▣ Material Upgrade가 필요한 이유
1. 렌더 파이프라인의 차이
각 렌더 파이프라인은 서로 다른 셰이더와 렌더링 기법을 사용합니다. Built-in Render Pipeline에서 사용되던 Standard Shader는 URP나 HDRP에서는 지원되지 않거나, 지원하더라도 그 기능이 제한적일 수 있습니다. 

예를 들어, URP와 HDRP는 자체적으로 최적화된 셰이더를 사용하므로, Standard Shader를 그대로 사용하면 비주얼이 제대로 표현되지 않거나 성능 저하가 발생할 수 있습니다.

2. 머티리얼 호환성 문제
각 렌더 파이프라인은 머티리얼의 셰이더를 다르게 처리하기 때문에, Material Upgrade를 통해 머티리얼을 새로운 파이프라인에 맞게 변환해야 합니다. 업그레이드를 수행하지 않으면, 다음과 같은 문제가 발생할 수 있습니다:

머티리얼이 검게 렌더링되거나 예상과 다르게 보일 수 있음.
조명과 반사, 반투명 효과 등 여러 그래픽 요소가 정상적으로 렌더링 되지 않음.
성능이 비효율적으로 동작할 수 있음.


3. 최적화된 그래픽 성능
URP와 HDRP는 성능을 극대화하거나 고품질 비주얼을 제공하기 위해 각기 다른 방식으로 최적화되어 있습니다. 머티리얼을 새 렌더 파이프라인에 맞게 업그레이드하면, 셰이더와 그래픽 기능이 해당 파이프라인의 장점을 최대한 활용하도록 변환됩니다. 이를 통해 렌더링 성능이 향상되고, 시각적으로 일관된 결과를 얻을 수 있습니다.

4. 렌더 파이프라인에 맞는 새로운 기능 사용
URP와 HDRP는 기존의 Built-in Render Pipeline에서 제공되지 않던 기능들을 제공합니다. 예를 들어:

HDRP는 고급 조명 효과(물리 기반 조명, 실시간 반사, Volumetric Lighting 등)를 지원합니다.
URP는 저사양 기기에서도 높은 성능을 유지할 수 있도록 최적화된 그래픽 렌더링을 제공합니다.
이러한 새로운 기능을 활용하려면 머티리얼과 셰이더가 새로운 파이프라인에 맞게 변환되어야 합니다. Material Upgrade는 이러한 기능들을 활성화하고 사용할 수 있도록 해줍니다.

Material Upgrade 과정
Render Pipeline Converter를 통해 머티리얼을 업그레이드할 때, Unity는 기존 머티리얼의 셰이더와 속성을 새로운 렌더 파이프라인에 맞게 자동으로 변환합니다. 예를 들어:

Standard Shader는 URP의 Lit Shader로 변환됩니다.
HDRP에서는 HDRP Lit Shader로 변환되어 더욱 고급스러운 조명과 반사 효과를 사용할 수 있습니다.
이 변환 과정은 자동으로 이루어지며, 개발자는 별도의 복잡한 수정 없이 새 파이프라인의 장점을 빠르게 활용할 수 있습니다.

결론
Unity에서 Material Upgrade를 해야 하는 이유는:

렌더 파이프라인 간 차이로 인해 호환성 문제가 발생할 수 있음.
그래픽 품질 및 성능 저하를 방지하고 새로운 파이프라인에 맞는 최적화를 적용하기 위함.
URP나 HDRP의 고급 그래픽 기능을 제대로 활용**하기 위해 머티리얼을 변환해야 함.

 

 

 

 

▣ 에셋을 불러왔을 때 Render 방식에 따라 이렇게 핑크색으로 나오는 경우가 있습니다.

이럴 때 해결하는 방법 두 가지가 있습니다. 

 

 

▣ 먼저 Edit->Project Settings에 

 

 

▣ Graphics에 Scriptable Render Pipline Settings URP를 다른 걸 지정하면 됩니다.

 

 

▣ 그럼 이렇게 핑크색 오류가 해결됩니다. 

 

 

 

▣ 또 다른 방법으로는 Edit->Graphics Tier->Materials->Convet Selected Built-in Materials to URP를 선택하면 됩니다.

 

 

 

▣ 안될 경우 Render Pipeline Converter를 설정에서 Material Upgrade를 진행하시면 됩니다. 

 

 

▣ 머티리얼의 쉐이더 수동 변경 방법 (URP/HDRP)


1단계: 프로젝트 뷰에서 머티리얼 찾기
Project 창을 엽니다.
Assets 폴더 내에서 Material을 검색합니다.

2단계: 머티리얼 선택 및 쉐이더 변경
변경하고 싶은 머티리얼을 더블 클릭합니다.
또는 Project 뷰에서 해당 머티리얼을 선택합니다.
Inspector 창이 열리면, 상단에 Shader 항목이 보입니다.


3단계: URP 또는 HDRP 쉐이더로 변경
Shader 드롭다운을 클릭합니다.
다음 중 해당하는 렌더 파이프라인에 맞는 쉐이더를 선택하세요.


URP 사용 시
Universal Render Pipeline > Lit
(이 쉐이더는 Standard Shader와 비슷한 기능을 제공합니다.)


HDRP 사용 시
HDRP > Lit
(HDRP 프로젝트에서 HDRP에 최적화된 쉐이더입니다.)

728x90
반응형

댓글