텍스쳐(Texture) 2D

텍스쳐(Textures)는 사용자의 메쉬(Meshes), 파티클(Particles) 그리고 인터페이스에게 생명을 가져다줍니다. 그것은 사용자 객체 위에 덮거나 둘러 싸는 이미지나 동영상 파일 입니다. 이것은 아주 중요하기 때문에 많은 속성을 가지고 있습니다. 이 글을 처음 보는 것이면 Details로 먼저 가시고 참조가 필요할 때 실제 설정으로 돌아오시기 바랍니다.

사용자가 객체를 위해 사용하는 쉐이더는 어떤 텍스쳐를 쓰는지를 정밀하게 요구하는데 기본적으로 사용자 프로젝트에 아무 아미지 파일이나 넣을 수 있습니다. 만약 그것이 크기 요구조건과 맞으면(아래 기술됨) 불려오기 된 후 게임에 맞도록 최적화 될 것입니다. 이것은 다중레이어 포토샾이나 TIFF 파일도 포함됩니다. 이들은 불려올때 플래튼(flatten) 되어지므로 사용자의 게임에서 파일 크기로 인한 문제는 없습니다.

Properties

텍스쳐 인스펙터(Texture Inspector)는 대부분의 것들과는 조금 다릅니다:

맨 위 섹션은 몇가지 설정을 포함하며 맨 아랫 부분은 텍스쳐 임포터(Texture Importer)와 텍스쳐 미리보기(Texture Preview)가 포함 됩니다.

Aniso Level 텍스쳐를 가파른 각도로 볼 때 텍스쳐의 퀄리티를 높입니다. 마루층(floor)이나 지면(ground) 텍스쳐에 좋습니다. 아래를 보세요.
Filter Mode 텍스쳐가 3D 변환(transformations)에 의해 늘려졌을 때 텍스쳐가 어떻게 필터되는지를 선택:
»>Point 텍스쳐가 가까이에서 뭉툭(blocky)하게 됩니다
»>Bilinear 텍스쳐가 가까이에서 흐려(blurry)지게 됩니다
»>Trilinear Bilinear같지만 텍스쳐가 다른 밉(mip) 레벨들 사이에서 블러(blur)해집니다
Wrap Mode 텍스쳐가 타일(tile)화 되었을 때 어떻게 행동하는지 선택합니다:
»>Repeat 텍스쳐가 타일화되어 반복됩니다
»>Clamp 텍스쳐의 가장자리(edge)가 늘려집니다(stretched)

텍스쳐 임포터(Texture Importer)

텍스쳐는 사용자 프로젝트 폴더(Project Folder)의 이미지 파일에서 옵니다. 그것이 어떻게 불려오는지는 텍스쳐 임포터(Texture Importer)에 의해 명시됩니다. 사용자는 프로젝트 뷰(Project View)에서 파일 텍스쳐를 선택하고 인스펙터(Inspector)에서 텍스쳐 임포터(Texture Importer)를 수정함으로써 이것을 바꿀수 있습니다.

유티니 3에서는 사용자를 위해 모든 설정을 간략화했습니다. 사용자는 이제 텍스쳐를 어디에 사용할 지와 선택하고 유니티가 사용자가 선택한 타입의 텍스쳐를 위한 기본 파라미터(default parameter)를 설정합니다. 물론 사용자가 텍스쳐의 완전한 제어를 원하고 특정한 수정을 가하길 원하면 텍스쳐 타입(Texture Type)고급(Advanced)으로 설정합니다. 이것은 사용자에게 가능한 모든 가능한 옵션을 보여줍니다.

Texture Type 텍스쳐의 목적에 따라 기본적인 파라미터(basic parameters)를 설정하기 위해 선택합니다.
»>Texture 모든 텍스쳐에 일반적으로 사용되는 가장 공통된 설정.
»>Normal Map 이것은 색상 채널(color channels)을 포맷에 맞는 실시간 노멀맵핑(real-time normal mapping)으로 전환할 때 선택하세요. 좀 더 많은 정보는 Normal Maps를 보세요.
»>GUI 이것은 사용자 텍스쳐가 어떤 HUD/GUI 제어에 사용될 때 이용하세요.
»>Reflection 큐브맵(Cube map)이라고도 알려져 있으며 텍스쳐에 반사(reflection)를 나타내기 위해 사용됩니다. 좀 더 많은 정보는 Cubemap Textures를 확인하세요.
»>Cookie 이것은 사용자의 빛(lights)의 쿠키(Cookies)를 위해 사용되는 기본적인 파라미터로 텍스쳐를 설정합니다.
»>Advanced 이것은 사용자가 텍스쳐에 어떤 특정 파라미터를 포함시키길 원하고 텍스쳐의 완전한 제어를 원할 때 선택하세요.


기본적인 텍스쳐 설정 선택됨

Generate Alpha From Grayscale활성화 시, 알파 투명 채널(alpha transparency channel)은 이미지의 기존의 밝고 어두운 명암값에 의해 생성 됩니다.


텍스쳐 임포터(Importer)의 노멀맵(Normal Map) 설정

Generate from Greyscale
Bumpiness 울퉁불퉁함(bumpiness)의 정도를 제어.
Filtering 울퉁불퉁함(bumpiness)이 계산되는 방법을 결정:
»>Smooth 굉장히 부드러운 노멀 맵 생성.
»>Sharp Sobel 필터로도 알려져 있으며 이것은 보통보다 날카로운(sharp) 노멀맵을 생성합니다.


텍스쳐 임포터(Importer)를 위한 GUI 설정

이 경우 사용자는 아무 값도 설정할 필요가 없습니다. 유니티가 모든 값을 설정합니다.


텍스쳐 임포터(Importer)의 반사(Reflection) 설정

Mapping 이것은 어떻게 텍스쳐가 큐브맵에 맵핑되는지 결정합니다.
»>Sphere Mapped 텍스쳐를 "구모양(sphere like)같은" 큐브맵에 맵핑합니다.
»>Cylindrical 텍스쳐를 실린더에 맵핑합니다. 실린더 모양의 객체에 반사를 사용하고 싶을 때 사용합니다.
»>Simple Sphere 텍스쳐를 회전시 반사를 변형하는 간단한 구(sphere)에 맵핑합니다.
»>Nice Sphere 텍스쳐를 구(sphere)에 매핑합니다. 회전시 변형이 되지만 여전히 텍스쳐가 감싸진 것을 보실 수 있습니다.

사용자 씬에 더 많은 시각적인 디테일을 더하는 흥미로운 방법으로는 게임안의 빛의 정확함을 제어하기 위한회색톤(greyscale) 텍스쳐인 쿠키(Cookies)를 사용하는 것입니다. 이것은 움직이는 구름을 만들고 짙은 안개의 인상을 줄 때 아주 편리합니다. 이 모든 것의 좀더 자세한 사항은 Light를 보세요. 그러나 여기의 핵심은 쿠키를 위해 사용될 수 있는 텍스쳐를 위해서 사용자는 텍스쳐 타입(Texture Type)을 단지 쿠키(Cookie)로만 설정하면 됩니다.


텍스쳐 임포터(Importer)의 쿠키 설정

Light Type 텍스쳐가 적용될 빛의 종류(이것은 스팟라이트(spot light), 포인트라이트(point light) 또는 디렉셔널라이트(directional light)가 될 수 있습니다). 디렉셔널 라이트를 위해서는 이 텍스쳐는 타일화 될 것입니다. 그를 위해서 텍스쳐 인스펙터에서 사용자는 가장자리 모드(Edge Mode)를 반복(Repeat)으로 설정합니다. 스팟라이트를 위해서 사용자는 적절한 효과를 얻기 위해 쿠키 텍스쳐의 가장자리(edges)를 완전히 검정 단색으로 유지합니다. 텍스쳐 인스펙터에서는 가장자리(edge) 모드를 클램프(Clamp)로 설정합니다.
Generate Alpha from Greyscale 활성화 되면, 알파 투명 채널 (alpha transparency channel)은 이미지의 기존의 밝고 어두운 명암값에 의해 생성 됩니다.


고급 텍스쳐 임포터 (Advanced Texture Importer) 설정 대화창

Non Power of 2 만약 텍스쳐 이미지 크기가 2의 제곱수의 크기를 가지지 않으면 이것은 불러오기를 할때 크기변환 행동(Scaling behavior)을 정의할 것입니다.(더 자세한 사항은 아래 Texture Sizes 섹션을 보세요):
»>None 텍스쳐가 GUITexture 컴포넌트 사용을 위해 두번째로 제일 큰 2의 제곱수 크기에 맞게 패딩됩니다.
»>To nearest 텍스쳐가 불려올 때 가장 가까운 2의 제곱수 크기에 맞춰집니다. 예를 들어 257x511크기의 텍스쳐는 256x512가 될 것입니다. PVRTC 형식은 정사각형 텍스쳐를 요구하므로 최종 크기가 512x512로 맞춰집니다.
»>To larger 텍스쳐가 불려올 때 다음으로 큰 2의 제곱수의 크기에 맞춰집니다. 예를 들어 257x511 텍스쳐는 512x512가 될 것 입니다.
»>To smaller 텍스쳐가 불려올 때 다음으로 작은 2의 제곱수에 크기가 맞춰집니다. 예를 들어 257x511 텍스쳐는 256x256가 될것입니다.
Generate Cube Map 다른 생성 방법을 이용해 텍스쳐에서 큐브맵을 생성합니다.
Read/Write Enabled 스크립트(GetPixels, SetPixels 그리고 다른 Texture2D (script ref 참조) 함수들)들로부터 텍스쳐 데이터에 대한 접근을 가능케하기 위해 선택합니다. 그러나 텍스쳐 데이터의 카피가 생성되며 텍스쳐 에셋을 위해 두배의 메모리가 필요함에 주의하세요. 꼭 필요한 경우에만 사용하세요. 이것은 비압축(uncompressed)과 DTX 압축 텍스쳐에서만 유효합니다, 다른 타입의 압축 텍스쳐는 읽히지 않습니다. 기본으로 비활성화 되어 있습니다.
Generate Mip Maps 밉맵 (mip-map) 생성을 활성화하기 위해 선택하세요. Mip map 들은 텍스쳐가 화면에서 아주 작은 부분일 때 사용되는 더 작은 버전의 텍스쳐 입니다. 자세한 사항은 Mip Maps를 보세요.
Correct Gamma 밉-레벨 당 감마 코렉션(per-mip-level gamma correction)을 활성화 할 때 선택하세요.
Border Mip Maps 색이 낮은 밉 (Mip) 레벨들의 가장자리에서 새어나오는 것을 피할때 설정합니다. (아래를 참조하세요.)
Mip Map Filtering 이미지 퀄리티를 최적화 하기위한 밉맵 필터링의 두가지 방법이 있습니다:
»>Box Mipmap들을 서서히 사라져 가게(fade out) 하기 위한 가장 쉬운 방법입니다. 밉 레벨이 크기가 작아 질수록 점점 더 부드러워집니다.
»>Kaiser 날카로운 Kaiser algorithm 이 크기가 점점 작아지는 mip맵에서 실행됩니다. 사용자 텍스쳐가 멀리서 너무 흐릿하면 이 옵션을 택하세요.
Fade Out Mips 밉 레벨들이 진행되면서 밉맵들이 회색으로 변하게 하기 위해 이것을 활성화 시킵니다. 이것은 디테일 맵(detail map) 으로 사용됩니다. 가장 왼쪽의 스크롤은 사라져 갈 첫 밉 레벨입니다. 가장 오른쪽의 스크롤은 텍스쳐가 완전히 회색으로 되었을 때의 밉 레벨을 정의합니다.
Generate Normal Map 색상 채널을 실시간 노멀맵핑(Normal Mapping)에 적합한 형식으로 바꾸는 것을 활성화합니다. 더 많은 정보를 위해서 Normal Maps를 보세요.
Bumpiness 울퉁불퉁함(bumpiness)의 정도를 제어.
Filtering 울퉁불퉁함(bumpiness)이 계산되는 방법을 결정:
»>Smooth 꽤 부드러운 노멀맵을 생성.
»>Sharp Sobel 필터로도 알려져 있으며 이것은 표준보다 날카로운 노멀맵을 생성합니다.
Normal Map 노멀맵이 어떻게 텍스쳐에 적용될 지 보고 싶다면 선택하세요.
Lightmap 텍스쳐를 라이트맵(Lightmap)으로 사용하고 싶다면 선택하세요.

플랫폼별 오버라이드(Per-Platform Overrides)

다른 플랫폼에서 빌드할 때 타겟 플랫폼의 텍스쳐 해상도, 크기, 그리고 퀄리티에서의 텍스쳐를 생각해야 합니다. 유니티3에서는 이 옵션들을 오버라이드 할 수 있으며 사용자가 배포하는 플랫폼에따라 특정 값을 할당할 수 있습니다. 사용자가 오버라이드를 위한 값을 선택하지 않으면 프로젝트가 빌드될때 에디터가 기본 값을 적용합니다.


모든 플랫폼들을 위한 기본 세팅

Max Texture Size 불려올 최대 텍스쳐 크기. 그래픽 작업자는 보통 아주 큰 텍스쳐로 작업하는 것을 선호합니다. 이 옵션으로 텍스쳐를 적당한 크기로 맞추세요.
Texture Format 텍스쳐에 어떤 내부 표현이 사용되었는가. 이것은 크기와 퀄리티간의 절충(trade-off)이 필요합니다. 아래 예에서는 게임 내 텍스쳐의 최종 크기(256x256 픽셀)를 보여줍니다.
»>Compressed 압축된 RGB 텍스쳐. 이것은 디퓨즈(diffuse) 텍스쳐의 가장 흔한 형식입니다. 픽셀 당 4bits (256x256 텍스쳐에 32KB).
»>16 bit 낮은 퀄리티의 트루컬러(True color). 빨강, 녹색, 파랑(Red, Green, Blue) 그리고 알파(alpha)의 16가지 레벨이 있습니다.
»>Truecolor 최상의 퀄리티인 트루컬러. 256x256 텍스쳐에 256 KB.

만약 사용자가 텍스쳐 타입(Texture Type)고급(Advanced)으로 하면 텍스쳐 포맷(Texture Format)은 다른 값을 가집니다.

Desktop!

Texture Format 텍스쳐에 어떤 내부 표현이 사용되었는가. 이것은 크기와 퀄리티간의 절충(trade-off)이 필요합니다. 아래 예에서는 게임 내 텍스쳐의 최종 크기(256x256 픽셀)를 보여줍니다.
»>RGB Compressed DXT1 압축된 RGB 텍스쳐. 이것은 디퓨즈(diffuse) 텍스쳐의 가장 흔한 형식입니다. 픽셀 당 4bits (256x256 텍스쳐에 32KB).
»>RGBA Compressed DXT5 압축된 RGBA 텍스쳐. 이것은 디퓨즈(diffuse) & 스페큘러(specular) 제어 텍스쳐의 가장 주요 형식입니다. 1 byte/pixel (256x256 텍스쳐에서 64KB).
»>RGB 16 bit 알파(alpha) 없는 65,000가지 색상. 압축 DXT 포맷은 더 적은 메모리를 사용하면서도 보통 더 좋아보입니다. 256x256텍스쳐에 128KB.
»>RGB 24 bit 알파 없는 트루 컬러. 256x256 텍스쳐에서 192KB.
»>Alpha 8 bit 색상 없는 높은 퀄리티의 알파 채널. 256x256 텍스쳐에서 64KB.
»>RGBA 16 bit 낮은 퀄리티의 트루컬러. 16가지 레벨의 빨강(R), 초록(G), 파랑(B) 그리고 알파. 압축된 DXT5 형식은 적은 메모리를 사용하면서도 보통 더 좋아보입니다. 256x256 텍스쳐에서 128KB.
»>RGBA 32 bit 알파 있는 트루 컬러 – 이것은 가장 높은 퀄리티를 가집니다. 256x256텍스쳐에서 256KB를 가지며 이것은 아주 큰 용량을 가집니다. 대부분 _DXT5_는 훨씬 작은 크기에서도 충분한 퀄리티를 제공합니다. 보통 노멀맵쪽에서의 DXT압축은 상당한 퀄리티의 손실을 수반하기 때문에 이것이 주로 사용되는 곳은 노멀맵(Normal Map)에서 입니다.

iOS!

Texture Format 텍스쳐에 어떤 내부 표현이 사용되었는가. 이것은 크기와 퀄리티간의 절충(trade-off)이 필요합니다. 아래 예에서는 게임 내 텍스쳐의 최종 크기(256x256 픽셀)를 보여줍니다.
»>RGB Compressed PVRTC 4 bits 압축된 RGB 텍스쳐. 이것은 디퓨즈(diffuse) 텍스쳐의 가장 흔한 형식입니다. 픽셀 당 4bits (256x256 텍스쳐에 32KB).
»>RGBA Compressed PVRTC 4 bits 압축된 RGBA 텍스쳐. 이것은 디퓨즈(diffuse) & 스페큘러(specular) 제어 텍스쳐의 가장 주요 형식입니다. 픽셀당 1 바이트(1 byte/pixel) (256x256 텍스쳐에서 32KB).
»>RGB Compressed PVRTC 2 bits 압축된 RGB텍스쳐. 디퓨즈(diffuse) 텍스쳐에 가장 적합한 낮은 퀄리티의 포맷. 픽셀당 2 비트 (256x256 텍스쳐에서 16KB).
»>RGBA Compressed PVRTC 2 bits 압축된 RGBA 텍스쳐. 디퓨즈(diffuse) & 스페큘러(specular) 제어 텍스쳐에 가장 적합한 낮은 퀄리티의 포맷. 픽셀당 2 비트 (256x256 텍스쳐에서 16KB)
»>RGB Compressed DXT1 압축된 RGB 텍스쳐. 이 형식은 iOS에서 지원되지 않지만 데스크탑 프로젝트의 호환성을 위해 가지고 있습니다.
»>RGBA Compressed DXT5 압축된RGBA 텍스쳐. 이 형식은 iOS에서 지원되지 않지만 데스크탑 프로젝트의 호환성을 위해 가지고 있습니다.
»>RGB 16 bit 알파(alpha) 없는 65,000 가지 색상. RVRTC 형식보다 메모리를 더 사용하지만 UI 또는 그레이디언트(gradient)없는 날카로운(crisp) 텍스쳐에 더욱 적합합니다. 256x256 텍스쳐에서 128KB.
»>RGB 24 bit 알파 없는 트루컬러. 256x256 텍스쳐에서 192KB.
»>Alpha 8 bit 높은 퀄리티의 알파 채널. 256x256 텍스쳐에서 64KB.
»>RGBA 16 bit 낮은 퀄리티의 트루컬러. 16 레벨의 빨강(R), 초록(G), 파랑(B) 그리고 알파(alpha). RVRTC형식보다 메모리를 더 사용하지만 사용자가 정확한 알파 채널을 원할때 편리합니다. 256x256 텍스쳐에서 128KB.
»>RGBA 32 bit 알파 있는 트루컬러 – 이것은 가장 높은 퀄리티를 가집니다. 256x256 텍스쳐에서 256KB를 가지며 이것은 아주 비쌉니다. 대부분 _PVRTC_는 훨씬 작은 크기에서도 충분한 퀄리티를 제공합니다.

Android!

<

Texture Format 텍스쳐에 어떤 내부 표현이 사용되었는가. 이것은 크기와 퀄리티간의 절충(trade-off)이 필요합니다. 아래 예에서는 게임 내 텍스쳐의 최종 크기(256x256 픽셀)를 보여줍니다.
»>RGB Compressed DXT1 압축된 RGB 텍스쳐. 엔비디아 (Nvidia) Tegra에 의해 지원됩니다. 픽셀당 4 bits (256x256 텍스쳐에서 32KB).
»>RGBA Compressed DXT5 압축된 RGBA 텍스쳐. 엔비디아 (Nvidia) Tegra에 의해 지원됩니다. 픽셀당 6 bits (256x256 텍스쳐에서 64KB).
»>RGB Compressed ETC 4 bits 압축된 RGB 텍스쳐. 이것은 디퓨즈(diffuse) 텍스쳐의 가장 흔한 포맷입니다. 픽셀당 4bits (256x256 텍스쳐에서 32KB).
»>RGB Compressed PVRTC 2 bits 압축된 RGB 텍스쳐. 이매지네이션 (Imagination) PowerVR GPUs에 의해 지원됩니다. 픽셀당 2bits (256x256 텍스쳐에서 16KB)
»>RGBA Compressed PVRTC 2 bits 압축된RGBA 텍스쳐. 이매지네이션 (Imagination) PowerVR GPUs에 의해 지원됩니다. 픽셀당 2bits (256x256 텍스쳐에서 16KB)
»>RGB Compressed PVRTC 4 bits 압축된 RGB 텍스쳐. 이매지네이션 (Imagination) PowerVR GPUs에 의해 지원됩니다. 픽셀당 4bits (256x256 텍스쳐에서 32KB)
»>RGBA Compressed PVRTC 4 bits 압축된RGBA 텍스쳐. 이매지네이션 (Imagination) PowerVR GPUs에 의해 지원됩니다. 픽셀당 4bits (256x256 텍스쳐에서 32KB)
»>RGB Compressed ATC 4 bits 압축된 RGB 텍스쳐. 콸콤(Qualcomm) Snapdragon에 의해 지원됩니다. 픽셀당 4bits (256x256 텍스쳐에서 32KB).
»>RGBA Compressed ATC 8 bits 압축된RGBA 텍스쳐. 콸콤(Qualcomm) Snapdragon에 의해 지원됩니다. 픽셀당 6bits (256x256 텍스쳐에서 64KB).
»>RGB 16 bit 알파 없는 65,000 가지 색상. RVRTC형식보다 메모리를 더 사용하지만 UI또는 gradient없는 주름진 텍스쳐에 더욱 적합합니다. 256x256 텍스쳐에서는128KB.
»>RGB 24 bit 알파 없는 트루컬러. 256x256 텍스쳐에서 192KB.
»>Alpha 8 bit 높은 퀄리티의 알파 채널. 256x256 텍스쳐에서 64KB.
»>RGBA 16 bit 낮은 퀄리티의 트루컬러. 알파 채널이 있는 텍스쳐에서의 기본 압축. 256x256 텍스쳐에서 128KB.
»>RGBA 32 bit 알파 있는 트루컬러 - 알파 있는 텍스쳐를 위한 가장 높은 퀄리티의 압축. 256x256 텍스쳐에서 256KB.

사용자가 Tegra 같은 어떤 특정 하드웨어를 목표로 하지 않는다면 저희는 ETC1 압축 사용을 권장합니다. 필요할 경우 외부(external) 알파 채널을 저장할 수 있으면서도 낮은 텍스쳐 종류의 이득을 받을 수 있습니다. 만약 사용자가 반드시 텍스쳐에 알파 채널을 저장하길 원하면 모든 하드웨어 공급 업체에서 지원하는 압축인 RGBA16 bit을 사용하세요.

사용자 앱이 지원되지 않는 텍스쳐 압축(compression)을 사용하면 그 텍스쳐는 RGBA32로 무압축(uncompressed)되며 압축된 것들과 함께 메모리에 저장이 됩니다. 그래서 이 경우 텍스쳐의 압축을 푸는데 시간을 잃게되며 두번의 저장으로 인해 메모리 손실을 봅니다. 이것은 또한 렌더링 성능에도 아주 부정적인 영향을 줄 수 있습니다.

details

상세 설명 (Details)

지원 포맷 (Supported Formats)

유니티는 다음의 파일 형식을 읽을 수 있습니다: PSD, TIFF, JPG, TGA, PNG, GIF, BMP, IFF, PICT. 유니티는 멀티 레이어의 PSD & TIFF 파일도 불러올 수 있습니다. 이들은 불러오기 될때 자동으로 합쳐(flatten)지지만 레이어는 에셋에서 그대로 유지되므로 이 파일 타입 자체를 그대로 사용할 때 사용자는 아무런 작업도 잃지 않습니다. 이것은 사용자가 포토샾에서 사용하는 텍스쳐 하나를 3D 모델링 프로그램 또는 유니티에서도 쓸 수 있게 하기 때문에 중요합니다.

texturesizes

텍스쳐 크기 (Texture Sizes)

이상적으로 텍스쳐의 크기는 측면이 2의 제곱수 이어야 합니다. 이 크기는 다음과 같습니다: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 또는 2048 픽셀들. 텍스쳐는 정사각형일 필요는 없습니다. 즉 넓이가 높이와 달라도 괜찮습니다.

유니티에서 다른 크기(2의 제곱수가 아닌것)를 사용하는 것도 가능합니다. 2의 제곱수가 아닌 크기의 텍스쳐는 GUI Textures에서 사용될 때 가장 좋으나 기타 다른 곳에서 쓰일 경우 무압축 (uncompressed) RGBA32bit 형식으로 변환됩니다. 이 말은 그것이 PVRT(iOS)/DXT(Desktop) 압축 텍스쳐들에 비교해서 더 많은 비디오 메모리를 차지하며 로드(load)하거나 렌더링하는데 더 오래 걸릴 것입니다 (iOS 모드일때). 보통은 GUI의 목적일때만 2의 제곱수가 아닌 크기를 사용합니다.

2의 제곱수가 아닌 텍스쳐 에셋은 불러오기 할때 불러오기 설정의 고급 텍스쳐 타입의 Non Power of 2 옵션을 사용하여 크기(scale) 확대를 할 수 있습니다. 유니티는 요청된 바에 따라 텍스쳐 컨텐츠의 크기를 조절하며 게임 상에서 그것들은 다른 텍스쳐와 같이 문제없이 행동하므로 압축이 여전히 가능하며 로드할때 아주 빠르게 될 수 있습니다.

UV 맵핑 (UV Mapping)

2D 텍스쳐를 3D텍스쳐 위에 맵핑할 때 감싸기(wrapping) 같은 형태의 행동을 하게됩니다. 이것은 UV 맵핑 (UV mapping)이라고 불리며 사용자 3D 모델링 프로그램에서 행해집니다. 유니티 안에서는 Materials을 이용해 텍스쳐의 크기를 조절하고 이동시킬 수 있습니다. 노멀(Normal) & 디테일(Detail) 맵을 스케일 변화 시키는 것은 굉장히 유용합니다.

mipmaps

밉 맵 (Mip Maps)

밉맵은 실시간 3D 엔진 게임에서 성능을 최적화 하기 위해 쓰이는, 어떤 이미지의 점차적으로더 작은 버전들의 리스트입니다. 카메라로부터 더 멀리 떨어진 객체는 더 작은 텍스쳐 버젼을 쓰게 됩니다. 밉맵을 사용하는 것은 33%의 메모리를 더 사용하는지만, 사용하지 않을 경우 더 큰 성능 손실을 봅니다. 사용자는 항상 밉맵을 게임 내부 텍스쳐로 사용해야 합니다. 단 한가지 예외는 GUI 텍스쳐처럼 작게 스케일 되지 않는 텍스쳐들 뿐입니다.

normalmaps

노멀 맵 (Normal Maps)

노멀맵은 노멀맵 셰이더에 의해 낮은 폴리곤 모델들이 조금 더 많은 디테일을 포함하는 것처럼 만들기 위해 사용됩니다. 유니티는 RGB 이미지들로 코드화된 노멀맵을 사용합니다. 사용자는 그레이스케일(grayscale)의 높이맵(height map) 이미지로부터 노멀맵(Normal Map)을 생성할 수 있는 옵션이 있습니다.

디테일 맵 (Detail Maps)

만약 사용자가 어떤 지형을 만들고 싶으면 잔디, 바위, 모래 등이 어디에 있는지 보여주기 위해 사용자의 메인 텍스쳐를 주로 사용할 것입니다. 사용자 지형이 꽤 있는 크기이면 그것은 아주 흐릿(blurry) 해지고 말 것입니다. Detail textures는 이런 사실을 메인 텍스쳐가 가까이 올수록 작은 디테일(세부사항)들이 서서히 사라지게 함으로써 숨깁니다.

디테일 맵을 그릴 때는 중간 회색(neutral grey)은 보이지 않고 흰색은 메인 텍스쳐를 두배 더 밝게 보이게 하며 검정은 메인 텍스쳐를 완전히 어둡게 만듭니다.

반사 Reflections (Cube Maps)

사용자가 리플렉션(반사)맵을 위해 텍스쳐를 (가령 반사되는 (Reflective) 내장셰이더를 사용) 사용하길 원하면 Cubemap Textures를 사용해야 합니다.

anisotropy

애니소트로픽 필터링 (Anisotropic filtering)

비등방성 필터링, 이방성 필터링, 애니소트로픽 필터링(anisotropic filtering, 간단히 AF)은 3차원 컴퓨터 그래픽스에서 빗각에 놓인 표면 위의 질감의 품질을 강화하는 방법이다.

이중선형 및 삼중선형 필터링과 같이, 비등방성 필터링은 텍스쳐가 거칠게 보이는 효과를 제거하지만 뭉개짐을 제거하고 비스듬한 시야각에서 세부 형태를 보존함으로써 이러한 다른 기술들을 보완한다.

애니소트로픽 필터링 (Anisotropic filtering) 은 렌더링(이것은 완전 그래픽 카드 성능에 달림)에 영향을 미친다.

비스듬한 각도에서 볼때 텍스쳐의 퀄리티를 향상시킵니다. 보통 땅(ground)이나 바닥(floor) 텍스쳐를 위해 애니소트로피 (anisotropy) 레벨을 높이는 것은 좋은 생각이다. Quality Settings 에서 애니소트로픽 필터링 (anisotropic filtering)은 모든 텍스쳐가 사용하도록 강제화하거나 완전히 비활성화하는것이 가능하다.


anisotropy 없을 때 (왼쪽) / 최대의 anisotropy (오른쪽) 가 그라운드 텍스쳐에 쓰였을 때

역링크