
지난주부터 <시작해요 언리얼 2023> 웨비나에 참가하게 되었다.
언리얼엔진을 돌리기 위한 컴퓨터 사양을 최근에 겨우 맞춘 터라 이제서야 시작하게 되었고, 웨비나를 시작으로 하나씩 공부하려고 한다. 생각보다 배워야 할 게 엄청나게 많은 것 같아서, 학습 도중에 방향성을 잃거나 기억 초기화를 당할 것 같다. 그래서 공부한 것들을 조금씩 남겨놓으려고 한다.
유리 온실을 만들어보고 싶어서 퀵셀 브릿지에서 유리 재질을 찾아보는데 가져와서 적용해 보니 제대로 적용되지 않았다. 임시방편으로 내가 직접 만들어 써 보려고 유튜브의 간단한 가이드를 통해 만들었다. 그 과정에서 머티리얼이 가진 프로퍼티에 대해 알고 있어야겠다는 생각이 들어, 머티리얼 프로퍼티에 대해 정리하고자 한다.
[참고문서]
머티리얼 프로퍼티
언리얼 엔진의 머티리얼 프로퍼티를 소개하는 문서입니다.
docs.unrealengine.com
physical material

머터리얼이 받는 물리적 영향을 설정하는 부분.
마스크 :
https://eastroot1590.tistory.com/entry/UE4-Beginner-Masking-Material
UE4 Beginner | Masking Material
Masking Material에 대해 알아보자. 원하는 결과물을 정하고 그 결과가 나오도록 공부하면 이해하기가 쉬운데, 서서히 화면에서 사라지는 효과를 만들면서 기본적인 원리와 사용법에 대해 알아볼 수
eastroot1590.tistory.com
마스크는 기본적으로 어떤 대상 물체 A에 적용해서 일치하는 특정 부분만을 남기는 레이어처럼 작동한다.
(예상)피지컬 머티리얼 마스크도 피지컬 머티리얼에 특정한 조건을 걸어 일치하는 것만 작동하게 하는 것일 듯.
Material Domain

특정 머티리얼을 사용하기 위한, 인스트럭션 셋을 설정하는 기능.
Surface | 머티리얼을 오브젝트의 표면에 사용될 대상으로 정의. 메탈, 플라스틱, 피부 등의 물리적 표면이 포함. 디폴트 세팅이며, 대부분 이 세팅을 사용합니다. |
Deferred Decal | 데칼 머티리얼을 만들 때 사용합니다. |
Light Function | 라이팅 함수와 함께 사용할 머티리얼을 만드는 경우에 사용합니다. |
Volume | 머티리얼의 어트리뷰트를 3D 볼륨으로 설명할 때 사용합니다. |
Post Process | 포스트 프로세스 머티리얼을 생성하려는 경우에 사용합니다. |
User Interface | UMG 또는 슬레이트 유저 인터페이스를 위한 머티리얼을 만들 때 사용합니다. |
Virtual Texture | 런타임 버추얼 텍스처를 만들 때 사용합니다. |
Blend mode
렌더링 시 엔진에서 이 머터리얼(원본색)과 프레임 버퍼(대상색)에 있는 내용을 결합하는 방식을 조절하도록 한다.
Opaque | 최종색 = 원본색. 즉, 배경 위에 머티리얼을 그립니다. 이 블렌드 모드는 라이팅과 호환됩니다. |
Masked | OpacityMask > OpacityMaskClipValue인 경우 최종색 = 원본색. 그 외의 경우 픽셀을 버립니다. (보이지 않음) 이 블렌드 모드는 라이팅과 호환됩니다. |
Translucent | 최종색 = 원본색 오파시티 + 대상색 (1 - 오파시티). 이 블렌드 모드는 다이내믹 라이팅과 호환되지 않습니다. |
Additive | 최종색 = 원본색 + 대상색 이 블렌드 모드는 다이내믹 라이팅과 호환되지 않습니다. |
Modulate | 최종색 = 원본색 x 대상색. 데칼 머티리얼이 아닌 이상 이 블렌드 모드는 다이내믹 라이팅이나 포그와 호환되지 않습니다. |
Alpha Composite |
사전에 곱한 알파를 가진 텍스처가 있는 머티리얼에 사용합니다. 즉, 컬러 채널에 이미 알파를 곱했기 때문에 프레임 버퍼와 블렌딩할 때 GPU가 일반적으로 알파 블렌딩에 사용되는 (SrcAlpha * SrcColor) 계산을 건너뛸 수 있습니다. 애디티브 블렌딩의 시각적 외관을 향상시킬 수 있습니다. |
Alpha Holdout |
머티리얼의 알파를 ‘홀드아웃'하여 반투명 오브젝트를 통과해 바로 뒤에 구멍을 뚫을 수 있습니다. |
Opacity 는 불투명도. 불투명도 마스크가 불투명도 마스크 클립 값보다 크면 원본의 색을 그대로 적용하고, 그렇지 않으면 픽셀을 버린다. 블렌드 마스크드 기능을 사용하여 Opacity Mask 애트리뷰트를 활성화했을 경우, 다음과 같은 현상이 발생한다.


클립값이 0.333.. 으로 지정되어 있는 듯 하다.
Addtive 모드에서는 특이한 결과물이 나온다.



Additive 모드는 머티리얼 자체의 색과 투명도를 중심으로 대충 이런 느낌의 재질을 낸다.
Translucent 모드에서는 Opacity를 0~1까지 조절해서 투명도를 결정할 수 있다.

Alpha Holdout 모드를 적용해 보면 이렇게 나온다.

조금 덜 탁하고 선명하게 이미지가 나오는 것을 볼 수 있지만, 그 이상의 자세한 차이는 솔직히 모르겠다. 설명도 어렵고.
shading model
머티리얼의 입력값을 어떻게 결합할 것인지를 결정하는 모델이다.
머티리얼의 입력값이란, 머티리얼 창에서 확인할 수 있는 블루프린트에서 입력할 수 있는 항목들을 말한다.

머티리얼의 도메인, 블렌드 모드, 쉐이딩 모델 등 다양한 조건에 따라 입력할 수 있는 값의 종류가 제한된다.
위의 사진에서 glass의 입력값 중 불이 들어오지 않은 부분이 이에 해당한다.
이 값들을 받아 어떻게 처리할지를 결정하는 것이 쉐이딩 모델로, UE5 프로그램에서 마우스를 올릴 시 친절하게 설명해 준다.
Two sided
머티리얼의 양면에 노멀(?) 을 적용한다. 즉 라이팅이 양면에 계산된다는 것이다. 이것을 켜지 않으면 머티리얼의 한쪽 면에만 라이팅이 적용된다. 평면 매쉬의 한쪽 면에 Opacity를 적용하더라도, 반대쪽에서 볼 땐 불투명하게 보이는 것이 이녀석 때문이다.
그 밖의 내용들은 필요할 때마다 찾아보도록 하자.
Translucency
반투명 옵션들을 다루는 메뉴다. 다음 중 몇 가지를 이해되는 선에서 알아보자.

Translucency Lighting Mode : 라이팅 모드에선 머터리얼 안에서 반투명물체에 적용되는 라이팅을 설정할 수 있다. 각 라이팅 방식에 대한 설명은 마우스를 올리면 볼 수 있다.
[참고] 스페큘러 란?
물체 표면의 스페큘러 칼라에 대하여.
안녕하세요 Silverchime 이라고 합니다 실버차임입니다 치매가 아닙니다 ;ㅅ; 현재 T사의 TG프로젝트에서 배경쪽과 TA로 일하고 있습니다. 쟁쟁하신분과 차마 비교할 수는 없는데다, 평소에 항상 왜?
gamedevforever.com
좋은 포스트가 있어서 링크를 첨부한다.
스페큘러 리플렉션은 빛의 정반사를 뜻한다.
물체의 표면에 있는 전자가 빛에너지를 받았을 때, 일정한 밴드를 형성하며 특정파장의 가시광선을 흡수하게 된다. 그 과정에서 스페큘러가 고유의 색을 띄게 된다. 금속인지 아닌지에 따라 다르다고는 하나 확실치 않다.
디퓨즈 리플렉션은 빛의 난반사를 뜻한다.
https://m.blog.naver.com/wa1998/221789757197
[물리학][광학] 1. 빛의 반사 - 정반사, 난반사, 반사의 법칙, 반사파
광학(Optics)은 모든 학문이 그렇겠습니다만, 기초부터 천천히 다져나가야 깊게 파고들 수 있는 기반이 생...
blog.naver.com
정반사는 이 링크를 참고하자.
게임 그래픽은 반사되는 빛이 가지고 있는 정보를 통해 질감, 양감 등을 표현해 내야 한다.
https://gamedevforever.com/303
유니티 라이팅이 안이뻐요. 딱딱하고 입체감이 없어요. 어떻게해야하나요?
저는 COCOS 2D-X로 개발을 하고 있습니다만, 유니티는 교양(?)으로 알아두어야 할 것 같아서 만지작거려볼까 하는 중입니다. 그래서 유니티 포럼이나 웹을 돌아다니다보니 라이팅에 관한 질문이 가
gamedevforever.com
이 글을 통해 UE5에서 보고 이해되지 않았던 내용들을 조금이나마 확인할 수 있다.
간략하게 머티리얼 프로퍼티에 어떤 항목들이 있는지, 이해 가능한 선에서 살펴보았다.
시작해요 언리얼 2023을 진행하면서 배우는 내용들과 더불어 차근차근 기록해가며 할수 있는 것들을 늘려나갈 예정이다.
'UE5' 카테고리의 다른 글
Lerp : 선형보간 (Linear interpolation) (0) | 2023.03.30 |
---|---|
2. Material Graph 기초(1) - 메인 머티리얼 노드 (0) | 2023.03.28 |
physical material
Material Domain
Blend mode
shading model
Two sided
Translucency