- 텍스쳐 3장으로 8개의 랜드스케이프 레이어/브러쉬를 구현
- gles3.0 이상, sm5 지원
- 2048 텍스쳐 두장에 8장의 1024 텍스쳐 추가
- 2048 텍스쳐 한장에 rgba 채널별 8장의 노멀 추가
- 채널별 압축손실,srgb에 의한 문제를 피하기 위해 마스크로 임포트됨
- GLes3.0을 지원하는 미드레인지 이상의 모바일에서도 사용가능해야하며 PC에서도 볼만 해야 함
- 가능한 많은 테마의 지역을, 하나의 머티리얼로, 최소한의 리소스를 사용하여 구현할 수 있도록 하는 것이 목적
- 8브러쉬당 3장의 텍스쳐를 사용하고 옵션으로 마스킹 텍스쳐 사용시 1장당 16개의 마스킹 텍스쳐 사용가능.
- 몇몇 문제점을 해결하지 못해 개발 중단
- 도움을 준다면 반영 하겠음
- LOD계산시 문제로 인한 경계부분 텍스쳐 에러
- MTI_AtlasLandscape을 연다.
- 2048 사이즈의 아틀라스 텍스쳐 두장을 넣는다.
- 2048 사이즈의 아틀라스 노멀맵 한장을 넣는다.
- 노멀맵은 rg채널만 사용해 첫번째 텍스쳐와 동일한 순서로 제작하고 ba 채널을 사용해 두번째 텍스쳐와 동일한 순서로 제작한다.
- 노멀맵 임포트 옵션에 가서 마스크로 변경하여 srgb를 사용하지 않게 한다.
- 압축/포맷/srgb의 여부에 의해 각 채널별 할당된 색의 해상도가 달라지기 떄문에 바꿔주는것이다.
- 랜드스케이프를 만들고 브러쉬를 해보자.
노드를 추가하거나, 아틀라스 텍스쳐를 4k로 쓰고 싶거나, 브러쉬를 더 만들고 싶다면 여기부터 보자. 혹은 디버깅을 해주고 싶은분이 있다면 여기를 보자. MT_AtlasLandscape을 열어라.
- 브러쉬의 크기는 여기서 조절. 조금 내려가면 노멀도 동일한 노드가 있다.
- 20을 입력했더니 3인칭 템플릿에서는 픽셀이 보임. 10정도로 해보자.
- 텍스쳐 사이즈를 입력했음.
- 노멀에도 같은 항목이 있다.
- 이값을 머티리얼펑션으로 넘겨주었다는것 잊지말자
- MF_Tile에서는 몇등분으로 나눠지는지 결정
- MF_LODLevel에서는 텍스쳐에 입력할 밉레벨을 계산.
- 아틀라스 텍스쳐를 드래그
- 텍스쳐를 파라메터로 변경
- 밉벨류를 밉레벨로 바꾸면 노드에서 레벨이 노출됨
- 텍스쳐 옵션에서 샘플러 타입은 컬러로 변경. 임포트 옵션에서 기본으로 변경.
- 글쓴이도 스샷찍고 글 타이핑 하다가 발견하고 급히 바꾸러갔음
- 노멀맵은 텍스쳐 옵션에서 마스크/no srgb 여야 더 정확한 결과가 나올 것
- 레벨에 MF_LODLevel 입력
- 아래로 내려가면 노멀도 있는데 샘플러타입을 제외하면 여기까지는 동일함
- uv별로 자른 텍스쳐와 uv별로 자른 텍스쳐에서 채널별로 잘라서 만든 노멀맵을 레이어 블랜드 노드에 연결
- snow의 경우 노멀맵이 잘못 들어가서 상수 vector3에 1/1/1로 입력했음
- 수정 후 사용할 사람은 유일하게 비어있는 노드와 snow를 연결 할것
- 이쪽은 조금 유의해야함. 피로에 의해 포토샵에서 복붙 작업중 노멀맵 아틀라스를 잘못 만들거나, 최초의 노멀값이 정규화 되지 않아있었거나, 공식에 문제가 있거나 하면 노멀이 제대로 나오지 않을 수 있음
- 눈을 크게 뜨고 채널별로 껏다 켯다 하며 프리뷰 값을 잘 살펴보아야함
- RGBA 각 채널을 rgba로 표기하고 4등분 하여 좌상(top-left)부터 우하(bottom-right)까지를 각각 00,01,10,11으로 지칭함
- 노멀의 r00, g00이 1번텍스쳐의 첫번째 레이어에 매칭됨
- 노멀의 r01,g01이 1번텍스쳐의 두번째 레이어에 매칭, 노멀b00,a00이 2번텍스쳐의 첫번째 레이어에 매칭됨
- rg값으로 b값을 계산 하고 세값을 합쳐 최종 노멀을 산출함
- r == r
- g == r
- b == sqrt(1 - (pow(R) - pow(G))
- 다시 강조하지만 계산의 결과물과 원본을 비교해보고 제대로 나왔는지 확인
- UV를 계산해냄
- 몇 조각으로 쪼갤지 여기서 조절함
- 기본 가로세로2/2
- UV를 적절하게 계산함
- 밉레벨을 계산하는 부분으로 기본 노드인 ComputeMiplevel을 수정해 거리에 대한 변수를 고려하게 함.
- 인터넷서 퍼왔음.
- 사실 이 부분은 잘 모름. 값이 들어오는지를 알 수가 없다.
- sorry
- ComputeMiplevel을 복제해 ComputeMiplevelFix를 만듬
- 기존 노드 뒤쪽에 Custom 뒤로 다음 내용들이 추가됨.