본문 바로가기
언리얼/Shader Study

07. 머터리얼 디테일 살펴보기

by witn331ss 2023. 5. 31.

이쪽 내용을 살펴볼 것.

 

 

Physical Material

이 머터리얼이 들어가있는 오브젝트를 의미한다

보통 바닥이나 바위 이런 곳이 많이 사용된다.

 

Phys Material

이 머터리얼이 사용하는 피지컬 머터리얼이라는 뜻이다

상호작용해주는 물리같은걸 넣어준다고 생각하면 될 것 같다.

 

쉐이더가 이거까지 해준다고 싶지만 언리얼은 그런다고 한다.

 

Phys Material Mask

사운드팀이나 기획팀이 연결요청할때 만지는 뭐시기라고 한다

 

 

Material Domain

이 머터리얼의 사용 용도를 결정하는 칸

 

surface : 일반적인 쉐이더

decal : 말 그대로 바닥에 붙이는 스티커 같은거 장판 효과같은거 만들때에도 사용가능

Light Function : 라이트 마스크 같은 느낌 자주사용하지는 않는다

Volume : 볼륨특성을 가진 무언가를 만들 때 사용하는 것

PP : 후처리효과에 사용할 머터리얼을 만들어주는 것

UI : ui에 사용한 쉐이더를 만들때 쓰는 것

 

Blend Mode

머터리얼의 색이 배경색과 어떻게 블렌드 될지 결정하는 것

 

Opaque : 불투명 

 

Masked : 1bit alpha , 흰색이면 보여주고 검은색이면 안보여주는 모든데 기준을 정해서 수정할 수 있다. 

반투명이 아니라 불투명패스에서 그리는 것

 

Translucent : 반투명

일반적인 캐릭터에게 적용되면 꽤 많이 비싸다.

 

Additive : 이거도 반투명

포토샵에서 닷지, 그러니까 겹치는곳과 색을 더하는 계산을 가지고 있다. (이펙트에서 많이 사용됨)

 

Modulate : 이거도 반투명 포토샵에서 멀티플라이라고 생각하면 된다.

뒷배경에 색을 곱한다 (모바일 환경에선 사용이 안될 것이다)

 

Alphacomposite (Premultiplied Alpha) : 반투명이랑 비슷한데 약간 다르다.

뎁스를 하나 더 써서 사전에 곱해놓고 나오는 것

 

AlphaHoldout : 반투명이랑 반투명을 올리는 것

반투명이 뚫어져보이게 할 수 있다.

 

 

 

Shading Model

Unlit : 라이트 계산을 하지않는 재질. 

 

Default Lit : 일반적인 PBR

 

Subsurface : 표면화산란

 

Preintegrated Skin : 피부전용 쉐이딩 모델. SSS보다 가볍다고 생각하면 된다.

모바일에선 쓰기 어렵다.

 

Clear Coat : 얇게 플라스틱을 바른 그런 느낌을 살려주는 재질.

원래 재질이 투명막에 비춰보인다던지 하는 그런

(카본 코팅이나 핸드폰 케이스 등)

 

Subsurface Proflie : 기존 SS랑 같은데 계산을 오브젝트 기준이 아니라 뷰 기준으로 잡아준다.

Subsurface Proflie을 따로 지정해줘야함

 

Two Sided Foliage : 양면 머터리얼. 내리쬐는 빛을 덜 어두워지게 빛이 투과되게 만들어주는 머터리얼

풀에 많이 쓰인다.

 

Hair : 극 실사 캐릭터를 만들 때 사용되는 헤어 머터리얼

 

Cloth : 털 재질용 머터리얼.

털에 보풀이 있는 표현을 만드는데 도움을 준다.

 

Eye : 극 실사 캐릭터를 만들 때 사용되는 눈 머터리얼 

 

SingleLayerWater : 

 

Thin Translucent : 얇은 반투명 재질.

뚫린 부분에 색상을 입혀줄 수 있다. 등등

 

From Material Expression : 하나의 머터리얼으로 쉐이딩 모델을 가진 애를 믹스한 형태로 사용할때

모듈화 시켜서 사용하기 위해서 사용하는 머터리얼. (잘 쓰이진 않는다)

 

-

 

Two sided : 양면 렌더링

 

Use Material Attributes : 어트리뷰트 활성화

 

Cast Ray Traced Shadow :  레이트레이스 된 그림자를 사용할 것이냐를 가져오는 것.

필요없다면 꺼도 된다.

 

 

Transluceny

Lighting mode 

반투명을 선택할 때 라이트계산을 아껴주는 여러가지 도구

 

Volumetric Nondirectional : 방향성이 없는 볼륨에 조명이 계산된다.

연기와 먼지같은 파티클에 사용하는것이 좋다.

가장 저렴한 Per-pixel 반투명 방법이지만 머티리얼의 노멀은 지원하지 않는다.

 

Volumetric Directional : 머터리얼의 노멀을 위해 방향성이 있는 볼륨에 조명이 계산된다.

무겁지만 재질표현을 위해 사용한다.

 

Volumetric PerVertex NonDirectional : 첫번째와 동일하지만 이건 계산을 버텍스 쉐이더에서 해준다.

디테일이 빠지고 원거리에서 그림자도 생성되지 않을 것이다.

 

Volumetric PerVertex Directional : 두번째와 동일하지만 버텍스에서 해준다.

 

Surface TranslucencyVolume : 표면에 대한 조명이 계산된다.

빛이 볼륨에 축적되는 관계로 흐리게 처리되고 거리제한도 존재하긴 하지만

픽셀당 비용이 낮다는 장점이 있다. 유리나 물같은 반투명 표면에서 사용된다 (디퓨즈 라이팅만 지원된다)

 

Surface ForwardShadeing : 무거운 반투명

 

 

 

Render After DOF : 피사계심도 적용 할거냐는뜻

Responsive AA : 머터리얼이 반응형 안티 에일리어싱을 사용하며 렌더링 해주는 도구

스파크와 같이 작은 입자의 선명도를 향상시킨다. 배경에 에일리어싱이 생겨서 이동량이 작은 곳에만 사용하자

 

Mobile Seprate Translucency : 반투명 머터리얼이 볼륨이나 DOF의 영향을 받지 않게 하는 도구

거의안씀

 

Disable Depth Test : 뎁스 신경 안쓰고 화면 제일 앞에 그린다는 뜻

 

Write Olny Alpha : 프레임버퍼에 반투명 패스가 알파값만 곱한다는 뜻

 

Allow custom Depth Writes : 커스텀 댑스 사용할 수 있게끔 해주는것

 

 

 

여기는 뭐가 있는지 정도는 살펴보자.

 

켜져있지 않아도 적용이 되긴함. 오토매틱이라

오토매틱을 끄고 사용할때는 켜야지 전용 쉐이더가 잡히니 확인은 해주자

 

기본이 없어지는건 아니고 플러스 하겠느냐 뜻

 

 

 

 

Mobile

모바일은 픽셀쉐이더로 넘어가는 데이터타입을 낮춰 사용한다.

 

 

Use Full Precision : 체크하면 최대 정밀도로 나간다. 무거워진다고 생각하면 됨.

맵같은거 생성할 때 너무 크면 정밀도가 떨어지는데 그걸 해결해줄 수 있다 (float 같은거)

 

Use Lightmap Directionality : 픽셀 별 노멀에 따른 라이트맵의 방향성을 사용할 것인지의 대한 여부

왠만해선 다 켜서 작업한다.

 

Use Alpha to Coverage : 마스크인데도 알파블렌딩처럼 보이게끔 만드는 것

일반적으로는 잘 안쓰임.

 

 

Forward Shading

Preintgrated For Simple IBL : 단순IBL으로 사전의 합쳐서 샘플하나 더쓰는대신 한번에 합쳐서 라이트를 받아내는 방법

이렇게 사용하게되면 텍스쳐 샘플하나가 늘지만 계산을 하지 않아도 되어서 연산이 조금 가벼워진다.

 

High Quality Refections : 모바일에서 리플렉션 퀄리티 올릴려고 사용하는 메뉴인데

보통 쓸일이 없다.

 

Planar Reflections : 바닥에 평평한 리플렉션을 만들어주는 경우 (물이라던가 빙판등)

일반적으로 쓰는건 동그란 리플렉션이다.

 

 

 

Tessellation

배경쪽에서 지형의 디테일 살릴 때 보통 사용되는 것

쓸일 잘 없을거임

 

 

PostProcess Material

포스트 프로세싱은 복잡한 단계를 거쳐서 순서대로 진행된다.

보통은 톤맵핑 전에 넣는다 (후에 하면 색보정을 못함)