유니티 Terrain 사용기

Like Big·2023년 6월 10일
0

WGOLF

목록 보기
1/2

유니티 터레인 패키지

  • Package Manager에서 Terrain Tools를 다운로드 하면 유니티에서 기본적으로 제공하는 터레인 툴보다 더 많은 기능을 제공하는 패키지를 제공.
    기본 터레인 기능과 차이점은 터레인을 옆으로 확장하거나
    (그룹으로 묶은뒤), 이미지 컬러값으로 터레인 높낮이있는 터레인 생성, 브러쉬의 A,S,D를 통해 브러쉬 특성 강도 조절 등등 다양한 추가 기능을 제공한다.

  • 추가 터레인 어셋으로 추천하는것은 Unity Terrain - URP Demo Scene으로 다양한 추가 브러쉬 종류, 나무, 잔디 에셋을 제공하며, 샘플 씬도 제공한다.

  • 터레인 선택시 Inspector 이미지

터레인 생성

  • Windows -> Terrain Toolbox 창을 추가 하면 터레인 생성시 그룹id 단위로 터레인생성이 가능하다. 그룹아이디
  • Import Hightmap 을 통해 텍스처의 컬로로 터레인의 고저를 나타낼 수 있으며 remap을 통해 높이 조절이 가능하다.
  • 생성시 무조건 0으로 그룹아이디가 설정되므로 바꾸고 싶으면 터레인 선택후(그룹오브젝트 말고) 그룹아이디를 직접 바꾸고 터레인을 추가해야 같은 아이디의 터레인이 생성된다.
  • Import Hightmap에서 batch, tiles과 Preset 기능은 확인 필요.
  • Gizmo 를 통해 생성될 터레인의 대략적인 사이즈를 확인 가능하다.
  • 기타 탭에 Terrain Setting과 Utilities를 통해 다양한 세팅을 넣고 생성이 가능하다.
  • 디폴트로 Assets/Terrain/에 에셋이 추가되도록 되어있음.

터레인 추가

  • 추가는 터레인 인스펙터의 맨처음 +버튼을 누르면 이웃 터레인을 만들수 있으며 (그룹 오브젝트 하위에 생기지 않아 하위 자식으로 넣어주면 좋을듯) 맨 마지막 톱니바퀴 터레인 세팅을 누르면 같은 그룹 id가 할당되어 있는것을 확인할 수 있다.
  • 바로 옆의 터레인의 높이를 연속적(Clamp)으로 표현할 수도 있으며 미러(Mirror) 할 수 있다. 미러는 높이가 본래 높이만큼이 아니라 낮은데 그 이유를 유추해보면
    똑같은 복제본이 필요하다기 보다 연속성을 가지면서 비슷하게 보이게 확장하려는 목적이다 보니 높이가 점점 낮아지게 표현

터레인 브러쉬

  • Terrain Tools 패키지를 설치하면 다양한 브러쉬 모드, 브러시 모양(텍스처로 추가 가능)을 이용할 수 있다.
  • 한 번 우클릭으로 꾹 눌렀던 단위로 되돌리기롤 통해 복구가 가능하다.
  • Brush Mask는 각 수학적 공식을 더 브러쉬에 가미할 수 있으며 다양한 필터를 중복으로 사용할 수 있다. 잘 사용하기 위해서는 사용해보고 결과물을 봐야할듯 하다.
  • Stroke는 통해 강도(A), 사이즈(S), 로테이션(D)를 눌러 마우스를 이동하면서 조절하기 쉽게 되어있다. 다만 나무, 풀등은 단축키가 통하지 않는다.
  • Jitter 를 통해 랜덤의 Variation을 조정하며 Min Max를 사전에 지정할 수 있다.
  • Spacing을 적절히 사용하여 우클릭을 옆으로 드래그할때 spacing값 만큼 이동해야 브러쉬가 작동하게 되므로 드래그 할 때 유용하므로 설정이 필요한 부분이다.

터레인 브러쉬 설명이 필요한 브러쉬

  • Raise or Lower : 가장 많이 사용하며 height를 조절
  • Paint texture : 아래 텍스처 레이어에서 설명
  • Set height : 특정 높이로 세팅 Flatten Tile은 해당 터레인만 flat하고
    연결된 터레인은 flat하지 않게 한다.
  • Smooth height : 뾰족한 것을 스무스 하게 한다.
  • stamp Terrain : 글자나 특정 모양을 돋보이게 하고싶을때 사용하며
    도장찍은 느낌을 주며 Stamp Tool Controls 에 Max로 할경우 중간에 클릭하는 부분의 높이에서 시작하여 스탬프가 찍힌다. min으로 하면 - 높이 세팅이 가능하며 set으로 할경우 스탬프의 부호 값에 따라 min or max 세팅이 된다.
  • Effect/Slop Flatten : 평탄하게 해준다. Smooth 와 조금 다르게 굴곡을 더 펴준다.

텍스처 레이어

  • 기본적으로 Material 은 Terrain/Lit 을 사용하며 per-pixel Normal는 레이어 세팅값이 Smoothness 가 있어야 조금 차이가 느껴지고, height-based blend는 효과가 안보여 확인이 필요.
  • Layer Palette는 프로파일로 저장하여 에셋으로 저장할수 있다. 그리고 각 Terrain Layer는 Create 하거나 기존에 생성되어있는 Layer를 불러와서 텍스처로 사용가능 하다.
  • 레이어에 Mask Map을 통해 Metal, AO, Height, Smoothness 를 각 RGBA 채널을 가진 이미지를 불러와 사용할 수 있다. 다만 Mask를 지정시 아래 Metallic, Smoothness에 영향을 받지 않고 none일 때만 영향을 받으며 Specular는 버그인지 조절이 안된다.

나무

  • 나무는 LOD 메쉬를 이용하여 대량으로 심을 수 있으며, Mass Place Tree로 대량 분산 심기가 가능하며 모든 트리가 동등한 비율로 심어지며 초반세팅에 유리하다.
  • 나무에 Rigidbody가 있으면 물리효과를 받는다.
  • 초반에 전반적인 배치를 위해서 culling 하지 않는 LOD를 프리팹으로 설정하여 먼 화면에서도
    보이게 하는게 수정에 용이하다.
  • 3D object의 wind zone으로 나무의 흔들림을 표현할 수 있다. 바람의 강도이외 Turbulence, Pulse 값들은 변경에 큰 영향을 주지 않는 것 같으며, 0.1이 자연스러운 바람강도며 1정도만 되어도 강한바람.

Detail (Grass)

  • Detail Mesh는 프리팹을 추가하여 디테일이 더 살아 있고 바람에 흔들리는 효과를 세팅가능하다. 성능이 조금 더 들어가지만 사실같으며 GPU 인스턴싱이 가능하다.
  • Grass Texture는 텍스쳐를 추가하여 뿌린다. 성능에 부담이 적고 컬러세팅이 가능하며 디폴트 빌보드는 어느면에서 보더라도 평면으로 보이지만 빌보드가 아니면 회전시 납작한 형태를 볼 수가 있다.
  • 바람의 강도 및 빈도를 조정할 수 있는 세팅이 아래와 같이 보이지만 변경시켜도 바뀌지 않아보인다...

세팅

  • 그룹 아이디 확인가능, Draw를 통해 Terrain이나 나무,Detail을 그리지 않을수 있다.
  • Detail Distance로 Detail을 컬링할수 있으며 전체적인 분포를 볼땐 제일 크게 하여 확인한다.
  • 터레인의 메시 해상도를 조정할 수 있다.
profile
개고운(개발,고양이,운동)

0개의 댓글