텍스쳐
언리얼에서 텍스쳐는 2의 제곱으로 들어와야한다.
정사각형일 필요는없다 가로 세로 2의제곱이면된다.
(HDR 텍스쳐 포맷은 이것을 지키지않아도 된다.)
EX)1024x1024 , 2048x64
2제곱이 아닌 상태로 임포트 하게되면
엔진은텍스쳐를 임포트할때 포멧을하게되는데
올바른 사이즈로 들어오지 않게 되면
포멧을 하면서 밉맵이 생성이안된다.
(밉맵은 기본적으로 텍스처의 LOD로써 멀리 떨어졌을 때의 렌더링 비용을 줄여준다.
밉맵생성은 텍스쳐를 UE로 임포트할때 발생하며
아주특별한 상황이 아니라면 신경 안써도된다. 반,반,반,반 텍스쳐의 해상도가 작아 지며 저장된다 )
알파맵을 사용할 때에는 독립적인 알파를 사용하도록 권장
RGBA 로 알파를 추가 포함된 이미지는 독립된 알파보다 비용이 2배가 더 들기 때문이다.
이경우에는 언리얼에 압축 되지 않은채 언리얼로 들어 오기 때문이다.
독립된 알파가 삽입된알파보다 사용하기가 좋은 또다른 장점은.
개별로 컨트롤할 수 있기때문.
삽입된 텍스쳐는 밉맵을 적용시 다같이 해상도가 줄어서.
알파 따로 텍스쳐따로 제어가 안된다.
독립된 알파로 사용할때는 알파맵이 크다싶으면 알파맵만 밉맵을 적용시켜서 알파맵만 제어가가능
비용도 적게들고 알파맵이 크다 싶으면 밉맵을 적용해서 자유롭게 컨트롤할 수 있다.
-----------------------------------------------------------------------------------------------------
노멀맵을 임포트 하게되면 언리얼에서
텍스쳐의 특정값을보고 노멀맵으로 판단하여 자동으로 노멀맵 포맷으로 저장한다.
------------------------------------------------------------------------------------------------------
텍스쳐그룹
항상 프로젝트의 텍스처들이 올바른 텍스처그룹에 있는지 확인할 필요가있다.
이유는 텍스쳐그룹이 실제로 그룹안의 텍스처가 프로젝트에서 그려질 크기를 제어하기때문
텍스처를 축소하고 확대하는 정도도 제어하며, GPU를 통해서 텍스처에 적용할
필터링 종류도 제어한다.
텍스쳐의 LOD 패널에보면 텍스쳐그룹이있다.
텍스쳐 그룹의 장점은 그룹단위로 텍스처를 제어할 수 있다는점.
텍스쳐 그룹을 이용해서
메모리를 효율적으로 관리, 제어 할수있다.
최적화 작업을 할때 텍스쳐를 하나하나 해상도를 낮추어서 리임포트하거나.
일일이 텍스쳐들의 밉맵설정을 제어할 필요없이
텍스쳐들이 그룹단위로 지정 되어 있다면
시스템 언어를 통해서 그룹 단위로 텍스쳐의 해상도 밉맵을 편리하게 조절할 수 있다는 설명.
모든텍스처를 텍스처 그룹에 정리 하는게 중요하다.
-----------------------------------------------------------------------------------------------------
RGB마스킹- 프로젝트 전체에 사용되는 텍스처의 양과 메모리를 줄이는방법.
다양한 텍스처들을 빨강,초록,파랑 가끔은 알파체널로 저장하는것.
주로 VFX, 케릭터, 정말 높은 수준의 표면 디테일이 필요할때 사용한다.
이테크닉을 사용하기위해서는 Sampler Type은 마스크
텍스쳐에서 감마값보정(sRGB) 해제
sRGB - 감마값 보정
노멀맵과 마스크 텍스처같은 애셋은 텍스처 정보가 아니라
활용할 렌더러의 정보를 포함하기에 이 텍스처에 포함된 정보는
어떤 방법, 형태, 형식으로든 절대 조정되지 않고
지정된 방식을 정확히 그대로 고수해야하기 때문에 감마 보정이 되면 안된다.
-------------------------------------------------------------------------------------------------------
텍스쳐 스트리밍.
기본적으로 거리에 따라서 텍스쳐를 얼마나 크거나 작게 보일지 처리한다.
추가 - 화면상에서 텍스처가 얼마나 큰지에따라 텍스처의 밉맵레벨을 조정한다.
텍스처의 레벨 오브디테일이나 밉맵을 모두 가져다가
텍스쳐가 가까이있을 때는 최고해상도의 밉맵을 표시
멀리 떨어졌을때는 낮은 해상도의 밉맵을 표시
이것은 현재 레벨에 배치된 카메라 영역에 있을때만 수행
(밉맵이란 텍스쳐에 LOD를 추가하는 효과적인 수단)
작업을 하다보면 텍스처 스트리밍 풀의 크기가 부족하다는 경고를 받을수 있다.
이 경고는 그저 풀에 미리 할당된 메모리 양이 너무작고 기본적으로 이 풀을 너무 빨리채우고있거나
풀에 수용할 수 있는것보다 더많은 정보를 넣고 있다는뜻.
텍스쳐 스트리밍 풀 사이즈란
텍스처 밉맵으로 채울 수 있는 특정 메모리 세트를 말한다.
- 텍스쳐의 LOD를 보관하는 메모리 공간이라고 생각 하면 될거같다.
텍스쳐 스트리밍 풀 크기 제한 초과 라는 오류가 발생하면
r.Streaming.PoolSize=숫자 를 콘솔에입력해
예) 어포스트로피( ` ) 키로 콘솔창을 열고 r.Streaming.PoolSize=50000
스트리밍풀 사이즈를 메가바이트단위로 입력해 해결할 수 있다.
스트리밍풀 저장 공간을 지정한 숫자만큼 늘려주는것
텍스쳐링 스트리밍풀 사이즈를 안함으로 설정 할수도 있다.
스트리밍풀을 사용안함으로 LOD 밉맵이 적용 되지 않아서 항상 같은 해상도를 유지.
필요한 경우에만 사용한다.