Unity3D/Terrain Textures

Unity 3D Terrain Textures

Soul-Learner 2014. 2. 20. 20:59

유니티 3D 를 이용하여 생성한 지형에 텍스쳐 적용하기


선행된 작업으로 아래와 같은 지형을 생성하였다면 이제는 지형에 텍스쳐를 적용하여 보다 실제의 모습에 가깝도록 꾸며보자.



유니티는 지형에 적용할 텍스쳐를 이미 포함하고 있으므로 프로젝트 생성시에 Terrain Assets 패키지를 포함하도록 선택하거나 프로젝트가 생성된 후라도 Assets > Import Package > Terrain Assets 를 선택하면 지형을 생성하는 것부터 텍스쳐를 적용하는 등 지형과 관련된 지원을 제공한다




만약 직접 제작한 이미지를 텍스쳐로 사용한다면 우선 유니티에 Assets 으로 등록을 하면 되는데, Assets > Import New Assets 을 선택하여 직접 제작한 이미지를 선택하면 된다. Project 뷰에서 Assets 폴더 아래에 별도의 폴더를 생성하여 직접 제작한 지형 텍스쳐를 보관하면 관리가 편할 것이다

텍스쳐를 직접 제작할 때는 이미지의 가로, 세로의 크기가 2^n 제곱이 되도록  설정해야 한다. 예를 들어 512 x 512 크기의 이미지이면 된다.




이제 지금까지 생성한 지형에 텍스쳐를 적용하는 절차를 시작해보자.


1. Scene 뷰에 보이는 지형을 선택하거나 Hierarchy 뷰에서 지형의 이름을 클릭하면 Inspector 뷰에는 지형과 관련한 속성과 툴들이 보이면 다음 그림과 같이 차례로 선택한다




2. 아래 그림에서 번호 순으로 선택하여 7번으로 표시한 텍스쳐를 선택하고 그 선택창을 닫는다.



3. 아래 그림과 같이 선택된 텍스쳐가 보이는 창에서 Add 버튼을 눌러 지형에 텍스쳐를 적용한다




4. 아래 그림과 같이 Inspector 뷰에 선택된 텍스쳐가 등록되어 있고 지형 전체에 텍스쳐가 적용되어 있는 것을 확인할 수 있다.




5. 위의 그림과 같이 전체 지형에 텍스쳐가 적용되었지만 전체가 동일한 텍스쳐로 덮여 있기 때문에 또 다른 텍스쳐를 등록하여 브러시로 칠해주면 단조로움을 해결할 수 있다.

Inspector 뷰의 Edit Textures... 버튼을 누르고 앞서 했던 절차와 동일한 방법으로 다른 텍스쳐를 선택하여 Inspector 뷰에 텍스쳐를 하나 더 등록하고 아래 그림처럼 지형에 적용한다




6. 위에서 작업한 Scene 뷰의 내용을 저장하면 유니티는 지형에 적용된 텍스쳐의 정보를 저장하기 위해서 Splat Map파일을 생성하여 관리한다

File > Save Scene As... 으로 Scene을 저장하고 아래 그림처럼 확인할 수 있다. 스플랫맵 파일의 적색은 첫 텍스쳐를 나타내고 초록색은 두번째 적용한 텍스쳐를 가리킨다. 또 다른 텍스쳐를 적용하면 파란색으로 표시될 것이다. 이렇게 RGB 색상 순으로 텍스쳐를 표시하고 있고 3개가 넘는 텍스쳐를 적용하면 또 다른 파일을 생성하여 상태를 저장하게 된다. 그러므로 파일명이 SplatAlpha 0 으로 뒤에 숫자가 붙고 파일 수가 늘어갈 때마다 파일명에 포함된 숫자가 높아질 것이다.




7. 적용된 텍스쳐를 삭제하기

또 다른 한개의 텍스쳐를 등록하고 지형에 텍스쳐를 적용한 후에 Inspector 뷰에 등록된 텍스쳐를 삭제하면 지형에 적용되었던 해당 텍스쳐가 제거되면서 제거된 자리에 적용된 그 이전 텍스쳐도 함께 삭제고 전체 지형에 적용되었던 첫번째 텍스쳐만 남게 되므로 주의할 필요가 있다.


두번째 텍스쳐를 적용한 지형



두번째 텍스쳐 위에 세번째 텍스쳐를 적용한 지형



세번째 텍스쳐까지 적용한 위의 상태에서 Inspector 뷰에 등록된 세번째 텍스쳐를 삭제하려면 Inspector 뷰에서 Edit Textures...  > Remove Texture를 선택하면 된다.


적용했던 세번째 텍스쳐를 Inspector 뷰에서 삭제한 지형의 상태 ( 전체 지형에 적용했던 첫번째 텍스쳐가 보인다)



8. 알파채널이 포함된 텍스쳐를 적용하는 경우에는 텍스쳐가 반복해서 타일처럼 적용되며 Edit Textures... > Edit Texture 항목을 선택하여 반복주기를 편집할 수도 있다.


알파채널을 포함한 텍스쳐



알파채널이 포함된 텍스쳐를 적용한 후에 텍스쳐의 반복 조밀도를 조정하려면 Inspector 뷰의 Edit Textures... > Edit Texture 항목을 선택하고 아래 그림처럼 x, y 축방향 반복 조밀도를 편집하면 된다