C#/Problems

Normal Mapping / Shader / Material - parameter

dev_sr 2020. 6. 4. 00:59

Texture는 이미지 파일인데 텍스쳐가 3D오브젝트에 적용되기 위해서는 Material이 필요함

Material은 여러가지 Texture 파일을 조합하고  Shader를 비롯한 여러가지 설정을 적용시켜서

오브젝트의 다양한 질감을 나타내는 데 사용됨. 

 

텍스쳐 파일을 가지고 Material을 직접 만들어서 씌워보면서 shader를 적용시켜봄

불러온 텍스쳐는 모두 normal map으로 한번 변환해봄

 

*normal mapping은 법선 벡터(normal vector)를 이용해서 low poly인 모델에서 사실적인 입체감과 질감을 구현하는

일종의 눈속임 기법이라고 한다.

->normal maaping기술을 사용하면 폴리곤으로 질감과 굴곡을 모두 나타내 것보다

훨씬 적은 연산과 리소스로 많은 폴리곤 수를 가진 오브젝트의 질감과 비슷하거나 더 뛰어난 효과를 보여준다.

 

*여기서는 몇몇 쉐이더 별로 텍스쳐와 노말 맵으로 바꿔보았는데 눈에 띄는 차이는 안보였음

 

 

유니티 - 매뉴얼: Normal map (Bump mapping)

Normal map (Bump mapping) Normal maps are a type of Bump Map. They are a special kind of texture that allow you to add surface detail such as bumps, grooves, and scratches to a model which catch the light as if they are represented by real geometry. For ex

docs.unity3d.com

 

노말 맵핑(Normal mapping)

Normal mapping Parallax mapping Displacement mapping 쿠재아이 김재경

www.slideshare.net

 

Shader

 

mobile / vertexLit을 적용

표 출처: 

 

[Unity] Material, Shader, Texture, Light

| 텍스쳐(Texture) 스마트폰의 그래픽칩에 따라 텍스쳐 크기를 정하는 것도 중요하고, 항상 정사각형의 텍스쳐 해상도를 가지는 것도 중요하다. 해상도 128x128 256x256 512x512 1024x1024 2048x2048 *x, y가 같.

yeobi27.tistory.com

 

 

유니티 - 매뉴얼: 노멀 쉐이더 패밀리

Unity 내장 쉐이더 사용 및 퍼포먼스 정점 라이팅(Vertex-Lit) 노멀 쉐이더 패밀리 주의: Unity 5에서 이 쉐이더는 Standard Shader로 대체되었습니다. 이러한 쉐이더는 Unity의 기본적인 쉐이더입니다. 이들�

docs.unity3d.com

 

 

 

 

Standard

 

standard를 적용한 모습

 

* 밑의 파라미터 값이 나타내는 것

1. 렌더링 모드 

1) Opaque - 기본 솔리드 오브젝트

2) Cutout - 너덜너덜한 천, 잎등 어느정도 투명한 오브젝트를 나타낼 때 사용

3) Transparent - 투명한 플라스틱이나 유리 오브젝트

4)  Fade - 홀로그램처럼 페이드아웃되면서 불투명한 물체

 

2. Albedo - 기본 표면 색상, 색상과 투명도 조절 가능

3. Specular - Standard(Specular setup)에서 사용 가능,

                   - 물체가 반사하는 하이라이트를 나타냄 (ex - 햇빛을 반사하는 쇠구슬)

                   - Smoothness로 부드럽게 할 수 있음

4. Metallic - 얼마나 금속 같을 지 나타냄, Smoothness 로 부드럽게 할 수 있음

5. heightmap - gray scale 이미지여야하며 알베도 이미지와 일치해야함

                       - 돌이나 바위의 튀어나온 부분을 하얗게 색감을 입혀서 입체적으로 보이게함

6. Occlusion Map - 오브젝트가 받는 간접조명양을 조절해줌

                              - gray scale 이미지여야함

7. Emissive - 표면에서 방출되는 빛의 색상과 강도를 제어, 적용하면 자체발광하는 것처럼 보임

                   - 어둠 속에서 보이는 동물이나 괴물의 눈, 모니터 화면등 내부에서 광원이 비추고 있는 것처럼 보이는 오브젝트에 사용 

8. Secondary Maps - 흉터, 이끼 등 디테일한 요소

 

 

 

 

                  

 

머티리얼 생성과 사용 - Unity 매뉴얼

새 머티리얼을 생성하려면 메인 메뉴의 Assets->Create->Material 또는 Project View 컨텍스트 메뉴를 사용해야 합니다.

docs.unity3d.com

 

유니티 - 매뉴얼: 머티리얼 파라미터

 

docs.unity3d.com