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

유니티 Material Tiling

by MRG 2024. 10. 10.
728x90
반응형

 

 

▣ Import Settings

1. Texture Type: Default
Default: 기본적으로 사용할 텍스처의 유형을 지정합니다. 

주로 3D 모델에 사용하는 일반적인 텍스처에 대해 설정합니다. 

만약 다른 유형(예: Normal Map, Sprite 등)을 사용할 경우 여기서 변경합니다.

Normal Map: 3D 모델의 표면 질감을 표현하는 텍스처로, 빛의 반사를 통해 사실적인 표면을 구현합니다.
Editor GUI and Legacy GUI: 유니티 에디터 내의 GUI에 사용되는 텍스처입니다.
Sprite (2D and UI): 2D 게임 및 UI 요소에서 사용되는 텍스처입니다.
Cursor: 커서 이미지로 사용될 텍스처입니다.
Cookie: 라이트 쿠키로 사용되는 텍스처입니다. 조명에서 특정 패턴을 나타내기 위해 사용됩니다.
Lightmap: 라이트맵으로 사용되는 텍스처로, 씬에서 미리 계산된 조명 정보를 저장하는 데 사용됩니다.
Single Channel: 하나의 채널만 사용하는 텍스처 유형입니다. 주로 알파 값이나 그레이스케일 데이터를 위해 사용됩니다.

 


2. Texture Shape: Texture Shape는 Unity에서 텍스처의 모양과 차원을 정의하는 옵션입니다. 

이 메뉴를 통해 텍스처가 단일 이미지인지, 여러 면으로 구성된 큐브 맵인지, 또는 2D 배열인지 등을 설정할 수 있습니다. 이 설정은 주로 3D 모델의 특성에 맞춰 적절한 텍스처 타입을 선택하는 데 사용됩니다.

Texture Shape의 종류
2D (Texture 2D):
기본적으로 가장 많이 사용되는 텍스처 형식입니다.
평면 상의 이미지(2D 이미지)를 사용하여 게임 오브젝트의 표면에 적용됩니다.
일반적인 UI 이미지, 스프라이트(Sprite), 기본적인 오브젝트 텍스처로 사용됩니다.


Cube (Cubemap):
큐브 맵은 6개의 텍스처를 한 세트로 사용하여 큐브의 각 면에 텍스처를 적용하는 방식입니다.
주로 환경맵(Environment Map)을 생성하거나 반사 효과를 내기 위한 반사 맵(Reflection Map)으로 사용됩니다.
예를 들어, 물체가 주변 환경을 반사하는 것처럼 보이게 할 때 사용합니다.


3D (Texture 3D):
3D 텍스처는 여러 층의 2D 텍스처로 구성된 텍스처 배열입니다.
3D 공간에서 텍스처의 층을 탐색할 수 있어, 볼륨 렌더링(Volume Rendering) 같은 복잡한 그래픽 표현이 가능합니다.
예를 들어, 의료 영상 데이터나 연기, 구름 같은 효과를 만들 때 사용됩니다.


2D Array (Texture 2D Array):
2D 텍스처의 배열입니다. 여러 2D 텍스처를 하나의 텍스처로 저장하여, 한 번에 여러 텍스처를 사용할 수 있도록 도와줍니다.
주로 타일 맵(Tileset) 같은 여러 이미지가 같은 속성을 가지는 경우에 유용합니다.


Texture Shape 설정 방법
Unity에서 텍스처의 Texture Shape을 설정하는 방법은 간단합니다. 텍스처 파일을 선택하면 Inspector 창에서 Texture Shape 항목을 찾아 원하는 형태를 선택할 수 있습니다. 기본적으로 텍스처는 2D로 설정되지만, 다른 모양(큐브맵, 3D 등)으로 변경할 수 있습니다.

Texture Shape의 실제 예시
2D: 평면 이미지. 스프라이트 또는 일반 텍스처로 사용됩니다.
Cubemap: 스카이박스나 반사 맵에 사용됩니다.
3D Texture: 의료나 과학적 시뮬레이션, 또는 복잡한 효과에서 사용됩니다.
2D Array: 다양한 텍스처를 배열로 묶어 타일맵 또는 여러 텍스처를 효율적으로 사용할 수 있습니다.

 


3. sRGB (Color Texture): 체크됨
텍스처가 색상을 표현할 때 sRGB 색상 공간을 사용할지 결정합니다. 일반적인 컬러 텍스처는 sRGB를 사용하므로, 기본적으로 이 옵션을 활성화합니다. 이것이 체크되면 색상 공간이 선형이 아닌 sRGB로 처리됩니다.


4. Alpha Source: Input Texture Alpha
Input Texture Alpha: 텍스처에 포함된 알파 채널(투명도)을 사용할지 결정합니다. 알파 채널이 있는 텍스처 파일은 이 옵션을 사용하여 투명도를 처리할 수 있습니다.


5. Alpha Is Transparency: 체크 해제됨
이 옵션을 체크하면, 알파 채널이 투명도로 처리됩니다. 주로 UI나 투명한 물체를 처리할 때 사용됩니다.

None: 텍스처의 알파 채널을 사용하지 않습니다.
Input Texture Alpha: 텍스처 파일에 포함된 알파 채널을 그대로 사용합니다.
From Gray Scale: 텍스처의 회색조 데이터를 알파 채널로 변환합니다.

 


6. Advanced (고급 설정)
6.1 Wrap Mode: Repeat
Wrap Mode는 텍스처가 오브젝트의 UV 좌표를 넘어섰을 때 어떻게 처리할지 결정합니다.
Repeat: 텍스처가 경계를 넘어갈 경우 반복됩니다.
Clamp: 텍스처가 경계를 넘어가지 않고 마지막 픽셀이 계속 반복됩니다.


6.2 Filter Mode: Bilinear
Filter Mode는 텍스처가 확대되거나 축소될 때 적용되는 필터링 방법을 결정합니다.
Point (No Filter): 필터링 없이 픽셀이 그대로 표현됩니다. 저해상도 픽셀 아트를 사용할 때 적합합니다.
Bilinear: 텍스처가 부드럽게 보이도록 필터링합니다. 일반적으로 사용되는 필터링 방식입니다.
Trilinear: Bilinear 필터링에 더해 Mipmap 간의 필터링을 추가하여 더 부드러운 결과를 제공합니다.


6.3 Aniso Level: 1
Anisotropic Filtering의 레벨을 설정합니다. 이 값이 클수록 텍스처가 비스듬한 각도로 보일 때 더 선명하게 렌더링 됩니다. 1은 비활성화 상태이며, 이 값을 높이면 텍스처 품질이 향상되지만 성능에 영향을 줄 수 있습니다.


7. Default (플랫폼별 설정)
이 섹션에서는 텍스처가 각 플랫폼(PC, 모바일, 콘솔 등)에서 어떻게 처리될지 설정합니다.


7.1 Max Size: 2048
텍스처의 최대 크기를 설정합니다. 성능과 메모리 사용량을 고려하여 텍스처의 해상도를 제한할 수 있습니다. 여기서는 2048 픽셀로 설정되어 있습니다. 이 값보다 큰 텍스처는 자동으로 축소됩니다.


7.2 Resize Algorithm: Mitchell
텍스처 크기를 축소할 때 사용할 리사이징 알고리즘을 설정합니다. Mitchell은 고품질 축소 알고리즘 중 하나입니다. 성능보다는 품질을 중시할 때 사용합니다.


7.3 Format: Automatic
텍스처의 압축 형식을 자동으로 설정합니다. 유니티는 각 플랫폼에 맞는 최적의 압축 형식을 자동으로 선택합니다.
Automatic: 유니티가 플랫폼에 맞는 적절한 압축 방식을 선택합니다.
RGB Compressed DXT1: 고정된 압축 형식을 수동으로 선택할 수 있습니다. 용량 절감이 필요할 때 사용됩니다.


7.4 Compression: Normal Quality
텍스처 압축의 품질을 설정합니다. Normal Quality는 균형 잡힌 성능과 품질을 제공합니다.
High Quality: 더 높은 품질을 제공하지만, 메모리 사용량이 증가합니다.
Low Quality: 더 낮은 메모리 사용량을 제공하지만, 품질이 낮아질 수 있습니다.


7.5 Use Crunch Compression: 체크 해제됨
Crunch Compression은 텍스처를 더욱 작은 파일 크기로 압축하는 방식입니다. 성능 상의 이점이 있을 수 있지만, 압축 및 해제하는 데 시간이 더 오래 걸립니다. 이 옵션은 일반적으로 모바일 게임에서 사용됩니다.


8. Asset PostProcessors
이 섹션은 특정 Asset PostProcessor 스크립트를 사용하여 텍스처를 불러올 때 자동으로 처리되도록 할 수 있는 설정입니다. 이미지에서는 ShaderGraph 관련 PostProcessor가 활성화되어 있습니다.

 

 

▣ Unity의 Material은 3D 오브젝트가 렌더링 될 때 어떻게 보일 지를 정의하는 중요한 요소입니다.

Material은 Shader를 사용하여 표면의 색상, 질감, 반사율, 투명도 등을 설정하고 제어합니다.

간단히 말하면, Material은 물체의 시각적 속성을 제어하는 객체입니다. Unity에서 3D 모델이 화면에 표시될 때, Material이 그 모델의 표면을 어떻게 표현할지를 결정하게 됩니다.

▣ Material 생성: Unity에서 새로운 Material을 생성하려면 Assets 창에서 마우스 오른쪽 버튼을 클릭한 후, Create → Material을 선택합니다.

 

 

1.  Shader: Universal Render Pipeline/Lit
Lit Shader는 URP에서 사용하는 기본 쉐이더로, 다양한 표면 속성을 적용하여 현실적인 조명을 표현합니다. 

여기서는 URP의 Lit Shader가 선택되어 있습니다.


2. Surface Inputs (표면 입력)
2.1 Base Map
Base Map은 재질의 기본 색상 및 텍스처입니다. 

텍스처를 여기에 지정하여 오브젝트의 표면에 적용할 수 있습니다. 

만약 텍스처가 없을 경우 옆에 있는 색상 선택기를 통해 색상을 지정할 수 있습니다.
색상 선택기: Base Map이 없는 경우, 기본 색상을 수동으로 설정할 수 있습니다.


2.2 Metallic Map
Metallic Map은 오브젝트가 얼마나 금속적인 성질을 가지고 있는지를 정의합니다.

텍스처를 할당하여 픽셀 단위로 금속성을 제어할 수 있으며, 값 슬라이더를 사용하여 전체적인 금속성(0에서 1까지)을 설정할 수 있습니다.
0: 금속적이지 않은 재질(비금속성).
1: 완전히 금속적인 재질.


2.3 Smoothness
Smoothness는 표면의 매끄러움을 조정하여 반사의 선명도를 설정합니다. 값이 높을수록 반사가 선명하게 나타나며, 값이 낮을수록 반사가 흐려집니다. 이는 재질의 반사 특성을 시뮬레이션합니다.
0: 반사 없음(매우 거칠음).
1: 매우 매끄러움(완벽한 반사).


2.4 Source: Metallic Alpha
이 옵션은 Smoothness 값이 어디에서 올지 설정합니다.
Metallic Alpha: Metallic Map의 알파 채널에서 Smoothness 값을 가져옵니다.
Albedo Alpha: Base Map의 알파 채널에서 Smoothness 값을 가져옵니다.


2.5 Normal Map
Normal Map은 재질의 표면 디테일을 추가하여 실제로 메쉬의 기하학적 구조를 변경하지 않고도 표면의 세부 사항을 시뮬레이션합니다. 이 맵을 추가 하면, 빛이 표면에서 어떻게 반사되는지를 변경하여 더 세밀한 표면 효과를 표현할 수 있습니다.
체크 후 텍스처를 할당할 수 있습니다.


2.6 Height Map
Height Map은 표면의 높이 정보를 기반으로 입체적인 효과를 제공합니다. 

오브젝트가 마치 실제로 울퉁불퉁한 것처럼 보이게 만들어 줍니다.
체크 후 텍스처를 할당할 수 있습니다.


2.7 Occlusion Map
Occlusion Map은 주변 광 차단 효과를 추가하여 오브젝트의 어두운 부분을 더 진하게 표현할 수 있습니다. 이를 통해 빛이 차단된 영역에서 더 사실적인 음영을 줄 수 있습니다.
체크 후 텍스처를 할당할 수 있습니다.


2.8 Emission
Emission은 재질이 자체적으로 빛을 내는 효과를 적용합니다. Emission Map을 통해 특정 부분에서 빛이 나오는 것처럼 보이게 할 수 있으며, 전체적으로 색상을 지정해 빛을 낼 수 있습니다.
체크 시 Emission Color 선택 가능: 기본적으로는 검은색으로 설정되어 있습니다. Emission을 활성화하면 텍스처가 빛나는 효과를 적용할 수 있습니다.
HDR 설정을 통해 고급 색상 및 강도를 설정할 수 있습니다.


2.9 Tiling & Offset
Tiling: 텍스처가 표면에 반복되는 횟수를 결정합니다. X와 Y 값에 각각 다른 숫자를 넣어 가로와 세로 반복 횟수를 다르게 설정할 수 있습니다.
Offset: 텍스처가 표면에 적용될 때 이동하는 좌표를 설정합니다. X와 Y 좌표에 값을 넣어 텍스처가 시작되는 지점을 변경할 수 있습니다.

 


3. Detail Inputs (세부 입력)
Detail Inputs는 재질의 세부 질감을 추가로 표현할 수 있는 옵션들입니다. 이는 2차 텍스처 또는 디테일 텍스처라고도 불리며, 주로 표면의 더 세밀한 요소들을 표현할 때 사용됩니다.

3.1 Mask
Mask는 재질의 특정 영역에만 세부 효과를 적용할 때 사용하는 텍스처입니다. 이 텍스처를 통해 세부적인 부분에만 텍스처가 표시되도록 할 수 있습니다.


3.2 Base Map
Base Map은 기본적으로 오브젝트의 표면에 적용되는 색상이나 텍스처입니다. Detail Inputs에서의 Base Map은 기본 표면 외에 추가로 세부적인 표면을 지정할 수 있습니다.


3.3 Normal Map
Normal Map은 오브젝트의 표면 디테일을 제어하는 두 번째 맵으로, 더 정교한 세부 표면을 시뮬레이션할 수 있습니다. 이는 기본 Normal Map 외에 세부적인 표면 변화를 추가하는 데 사용됩니다.


3.4 Tiling & Offset
Tiling: 디테일 텍스처의 반복 횟수를 설정합니다. X와 Y 값으로 가로 및 세로 방향의 반복을 제어할 수 있습니다.
Offset: 디테일 텍스처의 시작 지점을 설정할 수 있습니다.


4. Advanced Options (고급 옵션)
Advanced Options는 추가적인 고급 설정을 포함할 수 있으며, 주로 렌더링 또는 셰이더와 관련된 최적화와 관련된 옵션을 제공합니다. 이 섹션에서는 복잡한 셰이더 최적화 설정 등을 포함할 수 있습니다.

 

 

 

▣ Material 적용: Material을 오브젝트에 적용하려면 해당 오브젝트의 Mesh Renderer 컴포넌트에서 Material 슬롯에 생성한 Material을 드래그하면 됩니다.

 

 

 

▣ Wrap Mode는 Unity에서 Texture(텍스처)가 오브젝트의 표면에 적용될 때, 

텍스처가 어떻게 반복되는지를 결정하는 설정입니다. 특히, 텍스처가 UV 좌표의 0에서 1 범위를 넘어설 때의 처리를 정의합니다. Wrap Mode는 주로 텍스처가 여러 번 반복되거나 경계 부분에서 처리 방식이 중요한 경우에 사용됩니다.

▣ Wrap Mode 종류
Repeat:
텍스처가 반복됩니다. UV 좌표가 0에서 1을 넘어가면 텍스처가 다시 반복해서 적용됩니다.
이 모드는 무한히 반복할 수 있는 패턴 텍스처에 유용합니다.


Clamp:
텍스처의 가장자리 픽셀을 확장하여 UV 좌표가 0에서 1을 넘더라도 마지막 픽셀 값이 계속 유지됩니다.
주로 텍스처의 경계 부분이 늘어나야 할 때 사용됩니다.


Mirror:
텍스처가 좌우로 반복되지만, 반복될 때마다 거울처럼 뒤집혀서 적용됩니다. 텍스처의 끝부분이 자연스럽게 이어져야 할 때 유용합니다.


Mirror Once:
텍스처가 한 번 뒤집혀 반복된 후 더 이상 반복되지 않습니다. UV 좌표가 0에서 1을 넘으면 가장자리 픽셀이 유지됩니다.

 

 

https://docs.unity3d.com/ScriptReference/Material.html

 

Unity - Scripting API: Material

This class exposes all properties from a material, allowing you to animate them. You can also use it to set custom shader properties that can't be accessed through the inspector (e.g. matrices). In order to get the material used by an object, use the Rende

docs.unity3d.com

 

https://assetstore.unity.com/packages/3d/environments/industrial/rpg-fps-game-assets-for-pc-mobile-industrial-set-v3-0-101429

 

RPG/FPS Game Assets for PC/Mobile (Industrial Set v3.0) | 3D 공장 | Unity Asset Store

Elevate your workflow with the RPG/FPS Game Assets for PC/Mobile (Industrial Set v3.0) asset from Dmitrii Kutsenko. Find this & other 공장 options on the Unity Asset Store.

assetstore.unity.com

 

https://assetstore.unity.com/packages/3d/characters/survivalist-character-181470

 

Survivalist character | 3D 캐릭터 | Unity Asset Store

Elevate your workflow with the Survivalist character asset from Slayver. Find this & other 캐릭터 options on the Unity Asset Store.

assetstore.unity.com

 

728x90
반응형

댓글