저는 오늘부터 30일간 매일 1개씩 Material을 만들어볼겁니다!(유튜브 톤으로)
오늘의 주제는
텍스쳐 없이 UV 수식만으로 체커보드 패턴 만들기
Procedural Checker의 핵심은 UV 좌표를 이용해서 체커보드의 칸을 수학적으로 나누는 것인데...
UV가 뭐고 체커보드가 뭔데? 먼저 알아보고 가자
UV는 3D 모델 표면 위의 좌표를 2D 좌표로 표현한 것이다.
3D 모델은 실제로 입체로 표현되는데 해당 모델에 입혀지는 텍스쳐이미지는 2D다.
Unreal에서 TextureCoordinate 노드는 UV텍스쳐 좌표를 2채널 벡터값으로 출력하고 Material에서 UV채널 선택, 타일링지정, 매시UV 조작에 사용할 수 있다.
종이 박스를 생각하면 되는데
V 1.0 ┌──────────────┐
.
.
.
.
.
V 0.0 └──────────────┘
U 0.0 . . . 1.0
UV = 0 ~ 1
UV * 4 = 0 ~ 4
UV를 4칸으로 쪼갤 준비가 됐다.
체커보드는 말 그대로 두 색이 번갈아 배치된 격자 패턴.
대표적으로 체스판/바둑판 비슷한 패턴을 생각하면 된다.
■ □ ■ □
□ ■ □ ■
■ □ ■ □
□ ■ □ ■
오늘은 이걸 이미지가 아니라 수식으로 제어해볼 것이다.
핵심은 각 픽셀이 몇 번째 칸에 있는지 알아내는 것이다.
예를들어 UV에 TileCount = 4 를 곱하면
Floor를 사용해 소수점을 버리면 칸 번호가 나온다.
floor(U TileCount) = U 방향 칸 번호
floor(V TileCount) = V 방향 칸 번호
이후 두 칸 번호를 더하고 2로 나눈 나머지를 모으면 그게 체커보드가 된다.


