1. 텍스처 (Texture)
- 정의: 텍스처는 2D 이미지로, 3D 모델의 표면에 적용되어 색상, 패턴, 세부사항을 추가하는 데 사용.
- 역할: 비주얼 요소로서 객체의 표면을 꾸미는 데 사용. 텍스처는 일반적으로 픽셀 데이터로 구성되며, 다양한 유형의 텍스처(디퓨즈, 노멀, 스페큘러 등)가 존재.
- 용도: 주로 3D 모델의 시각적 효과를 향상시키는 데 사용되며, 게임 환경이나 캐릭터의 외형을 더욱 사실적으로 만드는데 필수적.
2. 머티리얼 (Material)
- 정의: 머티리얼은 3D 객체의 표면 특성을 정의하는 설정의 집합. 머티리얼은 텍스처뿐만 아니라 반사도, 투명도, 메탈릭 특성 등을 포함.
- 역할: 객체가 빛과 어떻게 상호작용하는지를 정의. 머티리얼은 셰이더를 기반으로 하며, 텍스처와 다른 매개변수를 조합하여 다양한 시각적 효과를 생성.
- 용도: 그래픽스 개발자가 물체의 특성을 세밀하게 조정할 수 있도록 하여 사실적이거나 스타일화된 비주얼을 구현할 수 있게 한다.
3. 스프라이트 (Sprite)
- 정의: 스프라이트는 2D 그래픽스에서 사용되는 이미지나 애니메이션의 한 형태로, 일반적으로 2D 게임에서 캐릭터, 배경, 아이템 등을 표현하는 데 사용.
- 역할: 스프라이트는 보통 2D 평면에서 단일 이미지로 표현되며, 종종 애니메이션 프레임으로 이루어져 있어 움직임을 표현할 수 있다. 스프라이트는 텍스처 아틀라스를 사용하여 여러 개의 이미지를 하나의 텍스처에서 가져와 관리하는 경우가 많다.
- 용도: 2D 게임이나 UI 요소에서 시각적으로 정보를 전달하거나 캐릭터를 표현하는 데 사용.
3. 텍스처 아틀라스(Texture Atlas)
- 정의: 여러 개의 개별 텍스처를 하나의 큰 텍스처 이미지로 결합하여 사용하는 기술. 큰 텍스처는 개별적인 작은 텍스처들(스프라이트 등)을 포함하고 있으며, 각 텍스처는 특정 좌표에 배치한다. 이 기법을 통해 2D 및 3D 그래픽스에서 텍스처 간의 메모리 할당을 줄일 수 있어 효율성을 높일수 있다.
- 역할: 드로우 콜을 줄이고 더 효율적으로 메모리를 사용하여 성능을 향상시킨다. 여러 개의 관련 요소나 항목을 하나의 큰 자료로 관리하기 때문에GPU가 텍스처를 변경하는 횟수(드로우 콜)를 줄일 수 있다. 여러 개의 요소를 하나로 묶어 관리함으로써 메모리와 성능을 최적화 한다. 또한, 관련된 항목들을 하나의 이미지나 데이터 구조로 관리할 수 있어 작업이 더 간편해진다.
- 용도: 여러 스프라이트 이미지를 하나의 이미지로 결합하여 관리하는 스프라이트 아틀라스 (Sprite Atlas) . 여러 개의 텍스처를 하나의 큰 텍스처 이미지로 결합하여 사용하는 텍스처 아틀라스 (Texture Atlas). 3D 모델의 여러 작은 메쉬를 하나로 묶어 사용하는 지오메트리 아틀라스 (Geometry Atlas)
요약
- 텍스처: 2D 이미지로, 주로 3D 모델의 표면에 적용되어 비주얼을 강화.
- 머티리얼: 텍스처와 다양한 속성을 조합하여 3D 객체의 표면 특성을 정의.
- 스프라이트: 2D 게임에서 사용되는 이미지 또는 애니메이션으로, 캐릭터나 UI 요소를 표현하는 데 사용..
텍스처 샘플링(Texture Sampling) : 3D 그래픽스에서 텍스처를 활용할 때, 특정 위치의 색상 데이터를 가져오는 과정을 의미. 셰이더(Shader) 프로그램 내에서 이루어지며, 주로 픽셀 단위에서 텍스처의 데이터를 읽어와 3D 모델의 표면 색상과 특성을 결정하는 데 사용
- 텍스처 좌표:텍스처 샘플링은 주로 텍스처 좌표(보통 UV 좌표)를 사용. UV 좌표는 2D 텍스처에서의 위치를 나타내며, 각 점이 텍스처의 어떤 부분을 참조하는지를 결정. U는 수평 위치, V는 수직 위치를 나타낸다.
- 샘플링 과정: 텍스처 샘플러를 사용하여 지정된 UV 좌표에 대한 텍스처의 색상을 조회. 이 과정에서 각 픽셀의 색상 데이터가 GPU의 메모리에서 읽혀져 해당 픽셀의 최종 색상을 결정.
- 샘플링 필터링:샘플링 과정에서 해상도를 조절하는 기술. 필터링 방법을 선택할 수 있다. 주로 사용되는 필터링 방법은 다음과 같다:
- Nearest Neighbor Filtering: 가장 가까운 픽셀의 색상을 선택. 이 방법은 빠르지만, 계단 현상이 있을 수 있다.
- Bilinear Filtering: 주변 픽셀의 색상을 선형 보간하여 부드러운 결과를 제공.
- Trilinear Filtering: 두 개의 텍스처 레벨에서 bilinear 필터링을 수행하여 더 부드럽고 세밀한 결과를 제공.
- Mipmaps:텍스처의 다양한 해상도를 미리 계산하여 저장한 것. 멀리 있는 객체에 대해 더 낮은 해상도의 텍스처를 샘플링하여 성능을 최적화하고, 고품질의 렌더링을 유지할 수 있다. Mipmap이 활성화되면 언리얼 엔진은 텍스처와 카메라 간의 거리에 따라 적절한 Mipmap 레벨을 자동으로 선택한다. 이를 통해 메모리를 절약하고, 멀리 있는 오브젝트의 텍스처 품질을 유지하는 데 도움을 준다. Mipmap이 활성화되어 있으면, GPU는 오브젝트와의 거리에 따라 가장 적합한 Mipmap 레벨을 선택한다.