오늘은 어색하지않은 바닥 텍스처를 직접 만들어보려합니다.
물론 실무 프로젝트에서 게임 프로그래머가 바닥 텍스처링을 직접 작업해야하는 경우는 드문일이라 생각합니다.
하지만 작업에서는 결국 언리얼 또는 유니티를 다루게 되는만큼 텍스처를 간단하게 작업해보는것만으로도
추후 아트담당자분과의 협업에서도 원활한 커뮤니케이션이 가능해지고 저와 같은 주니어 개발자의 경우라면
uv와 쉐이더의 기초적인 이해력 등 스킬들이 상승할수 있다 생각하여 이번 글을 올려보려합니다.
오늘 작업할 내용은
초원의 텍스처를 블랜더로 출력해보는것까지 진행해보겠습니다.
블랜더를 키고 기본 모델들을 삭제한 상태에서 Plane을 추가했습니다.
우리는 추후 Plane는 출력하지않고 오로지 텍스처 결과물만을 출력할 계획입니다.
상단 쉐이딩 에디터 탭을 클릭한뒤
새로운 머티리얼을 생성하고 바닥의 베이스가될 질감 텍스처를 추가하겠습니다.
보로노이 텍스처 노드
이때 우리는 처음보는 보로노이 텍스처의 호기심을 가지게될수있습니다.
보로노이텍스처의 개인적인 기준으로 설명들이겠습니다.
랜덤하게 생성된 x와y좌표를 가진 점들 pointer가 있다면 pointer들의 이웃된 점을 이어서 만들어낸 선으로 수직이등분선을 만들어가며
면들을 만들었을 시 나타나는 텍스처 입니다.
그냥 봤을시에는 잘 느껴지지 않지만 점이 있는 텍스처를 분석해서 보면 점들 사이 영역을 구분하기가 쉬운 특징을 찾아볼수있습니다.
이러한 텍스처는 일상에서 가끔 찾아볼수있는 자연적인 패턴이기도 합니다.
위 보로노이 자체만으로는 흔히볼수 없지만 다음 설명드릴 노드를 보로노이와 함께 사용된다면 더욱더 자연에서 많이 나타나는 패턴이 와성됩니다.
(펄린)노이즈 텍스처
위 노드는 펄린 노이즈에 생상을 검정 ~흰색으로만 표현하게끔 출력하였습니다.
펄린 노이즈는 제가 가장 좋아하는 질감이자 Nature of Code 책에서 자연과학과 코딩의 연관성을 상상하게 만드는 계기가 되었던 질감이기도합니다.
위 텍스처의 알고리즘을 알기전에 우리는 일반 노이즈와 펄린노이즈의 차이를 알아야합니다.
일반 노이즈의 경우 랜덤 값의 출력이 극과 극으로 나뉠수있습니다. 1,10,2,1,8 등
여기서 펄린 노이즈의 가장 큰 차이점은 랜덤의 값이 연속적이어야한다는 차이가 존재합니다. 1,1.4,1.9,2,1.9
이 차이가 별거 아니라 느껴질수 있지만 이를 질감과 색으로 표현하면 결국 연속된 수는 서로가 이어져서 나온 결과에 의해 부드럽고
연속되는 색의 변화가 자연스럽게 그라데이션이 만들어지게됩니다.
일반 노이즈로는 표현에 차별이 나올수밖에 없는 구조가 되지요
펄린 노이즈의 경우는 자연에서도 많이 찾아볼수 있습니다.
구름, 불, 안계 등 이밖의 우리 일상에서도 자연스럽게 볼수있는 질감입니다.
또는 3d로 출력하게된다면 마인크래프트의 맵 지형이 되거나 2d로 출력하여 이용하면 테라리아의 맵 자연환경이 완성되기도 합니다.
우리는 이제 위 두 질감을 섞어서 우리가 자주 일상에서 보았던 질감을 하나 완성해보겠습니다
노이즈의 컬러 랜덤값을 보로노의의 백터에 이어서 두 노드를 섞어보게되었습니다.
우리가 이야기하는 카모플라쥬와 같은 질감이 완성되었습니다.
우리는 초원의 바닥을 원하는데 위 둥근 쉐입의 질감이 바닥과 어울리지 않으니 노이즈 노드에서 지원하는 매개변수를 약간 수정하고
색상은 언리얼에서 컨트롤할수있게끔 제거하여 출력을 해보도록 하겠습니다.
자 이미지 텍스쳐 노드를 새로 생서하여 텍스처이름을 ground로 bake까지 해서 출력이 끝났습니다
여기서 가장 큰 문제는 위 텍스처의 모서리 면을 보면 타일이 반복될 시 우측 모서리 패턴과 좌측 끝 모서리 패턴이 이어지지 않아서
조잡하고 질이낮은 그라운드 패턴으로 모여지게 될것입니다.
이를 우리는 반드시 수정해야합니다. 이를 seamless 텍스처라 부릅니다.
seamless는 블랜더로도 출력이 가능하지만, 구글링에서도 무료로 손쉽게 수정이 가능합니다.
위와 같이 free create seamless texture라 검색하면
imgonline.com에서 우리가 원하는 텍스처로 수정이 가능합니다
위는 출력한 최종 그라운드 텍스처 입니다.
흠.. 이번 seamless texture 결과물은 이전과 다르게 패턴이 정리되지않은 느낌이 크네요
괜찮습니다 우리는 언리얼에서 지원하는 간단한 노드를 통해서 어색하지않게 지형 수정이 가능하니까요
빠른 시일 우리가 만든 텍스처를 이용해서 언리얼에 지형 머티리얼을 만드는 방법을 보여드리겠습니다
게시물에 툴의 기본적인 사용법에 대한 설명은 모두 글이 늘어지는것을 막기위해서 쓰지 않았습니다.
하지만 따라하는데 어려움이 있으시다면 댓글을 남겨주세요 최대한 도와드리겠습니다.
'모델링' 카테고리의 다른 글
어색하지않은 바닥 텍스처 만들기 (하) (0) | 2023.08.24 |
---|