Unity 터레인을 나무 로 꾸밀 수 있습니다. 하이트맵이나 텍스처로 색칠하는 것과 똑같은 방식으로 나무 패치를 터레인에 색칠할 수 있습니다. 다만, 나무는 표면에서 위로 자라는 입체 3D 오브젝트입니다. Unity 에디터는 최적화(예: 멀리 있는 나무를 빌보드로 처리)를 사용하여 렌더링 퍼포먼스를 유지하므로, 수천 그루의 나무로 이루어진 울창한 숲을 만들어도 괜찮은 프레임 속도를 유지할 수 있습니다.
툴바의 나무 버튼으로 나무 색칠하기를 활성화합니다.
처음에는 터레인에 나무를 사용할 수 없지만 Edit Trees 버튼을 누르고 Add Tree 를 선택하면 프로젝트에서 나무 에셋을 선택할 수 있는 창이 나타납니다.
Unity에서는 프로토타이핑 목적의 스탠다드 에셋 패키지에서 여러 가지 SpeedTree 나무 오브젝트 샘플(Assets > Import Package > Terrain Assets)을 제공합니다. 또는 SpeedTree Modeler 앱, Unity 나무 생성기 툴 또는 기타 3D 모델링 앱에서 적절한 오브젝트를 생성할 수도 있습니다.
선택한 나무 오브젝트를 나무 생성기에서 생성했다면 바람 반응성을 조정하는 구부림 인수(Bend factor)가 창에 표시됩니다. 아래의 바람에 휘어지는 나무 만들기 섹션을 참조하십시오.
텍스처나 하이트맵을 색칠하는 것과 똑같은 방식으로 나무를 선택하여 터레인을 색칠할 수 있습니다. 터레인을 색칠하는 중에 Shift 키를 누른 채 나무를 선택하여 한 영역에서 나무를 모두 제거할 수도 있고, Ctrl 키를 누른 채 나무를 선택하여 현재 선택한 나무 타입만을 제거할 수도 있습니다. 나무로 색칠할 때에는 친숙한 Brush Size 옵션을 사용할 수 있으며, Opacity 프로퍼티가 Tree Density 옵션으로 대체되어 주어진 영역 단위에 색칠될 나무의 평균 개수를 조절할 수 있습니다.
나무의 최소 높이와 최대 높이를 조절할 수 있는 범위 슬라이더도 있습니다. 랜덤 옵션을 비활성화하면 모든 나무에 적용되는 높이 값을 지정할 수 있습니다. 기본적으로 나무의 너비는 높이에 대해 고정되어 있으므로 나무가 항상 동일하게 조절됩니다. 하지만 Lock Width to Height 옵션을 비활성화하고 너비를 따로 지정할 수도 있습니다.
Color Variation 및 Random Tree Rotation 옵션도 있습니다. 배리에이션 옵션을 사용하면 똑같은 나무로 이루어진 인공 농장 같은 모습이 아닌 무작위하게 구성된 자연스러운 숲과 같은 인상을 만들 수 있습니다.
Mass Place Trees 버튼은 전체 터레인을 색칠할 필요 없이 전체를 나무로 덮을 수 있는 아주 유용한 기능입니다. 대량 배치 후에도 색칠하기를 사용하여 나무를 추가하거나 제거하여 더 울창하거나 듬성듬성한 영역을 만들 수 있습니다.
Unity 5부터는 IDV, Inc.에서 만든 SpeedTree Modeler를 사용하여 매끄러운 LOD 전환, 빠른 빌보드화, 자연스러운 바람 애니메이션 같은 고급 시각 효과가 적용된 나무를 생성할 수 있습니다. 자세한 내용은 해당 웹사이트를 참조하십시오. 에셋 스토어 패키지 또는 기타 서드파티 소스에서 SpeedTree 에셋을 프로젝트 폴더로 자유롭게 임포트할 수도 있습니다.
자세한 내용은 여기를 참조하십시오.
Unity에는 새로운 나무 에셋을 생성하는 데 사용할 수 있는 자체적인 나무 생성기가 있지만, 스탠다드 3D 모델링 앱을 이 작업에 사용할 수도 있습니다. 나무 메시의 삼각형은 성능을 이유로 2,000개 이하여야 하며 앵커 포인트는 나무 하단, 즉 나무가 지면에서 솟아나오는 지점에 위치해야 합니다. 메시에는 항상 정확히 두 개의 머티리얼(하나는 나무 몸통, 다른 하나는 잎)이 있어야 합니다.
나무에는 Nature/Soft Occlusion Leaves 및 Nature/Soft Occlusion Bark 셰이더를 사용해야 합니다. 이러한 셰이더를 사용하기 위해서는 “Ambient-Occlusion”이라는 이름이 포함된 특수 폴더 안에 나무를 위치시켜야 합니다. 해당 폴더에 모델을 넣고 다시 임포트하면 Unity 에디터는 나무용으로 특별 설계된 방식을 통해 소프트 앰비언트 오클루전을 계산합니다. “자연/소프트 오클루전” 셰이더는 폴더 명명 규칙을 따르며, 이 이름 규칙을 따르지 않으면 나무가 제대로 렌더링되지 않습니다.
나무 에셋을 모델링 프로그램에서 저장할 때 업데이트된 나무가 터레인에 표시되도록 하려면 (나무 페인팅 툴이 선택된 경우 인스펙터에 표시되는) Refresh 버튼을 클릭해야 합니다.
새 나무 에셋에 캡슐 콜라이더를 추가하려면 씬에서 인스턴스화하고 콜라이더를 추가한 후(메뉴: Component > Physics > Capsule Collider) 수정된 나무 오브젝트용의 새 프리팹을 생성하면 됩니다. 터레인에 페인팅용으로 나무를 추가할 때 원본 오브젝트가 아닌, 콜라이더가 추가된 프리팹을 선택하도록 해야 합니다. 또한 터레인의 Terrain Collider 컴포넌트 인스펙터에서 _Create Tree Colliders_를 활성화해야 합니다.
가장 먼저 해야 할 일은 윈드 존을 생성하는 것입니다. 메뉴에서 __Game Object > Create General > Wind Zone__을 선택하면 됩니다.
이 지점에서 나무들이 휘어지도록 설정되었는지 확인해야 합니다. 나무 타입을 선택하고 Edit Trees… -> Edit tree를 선택해야 합니다. 아직 이 작업을 하지 않았을 경우 벤드 값을 1로 설정하면 나무가 조정됩니다.
나무가 상당히 과격하게 움직이는 것처럼 보일 수도 있습니다. 이 현상을 수정하려면 벤드 값을 변경하면 되지만, 더 쉬운 방법은 이 값을 “윈드 존”에서 직접 설정하여 나무 벤드 값이 1로 계속 유지되도록 하는 것입니다. 바람 터뷸런스를 0.10.3 사이로 낮추면 나무가 지나치게 흔들리는 것을 막을 수 있고 훨씬 부드러워질 것입니다. 나무가 방향으로만 지속적으로 흔들리는 것을 원치 않는다면, 바람 메인 값을 터뷸런스와 같은 값으로 낮춰 설정해야 합니다.