Unity 터레인을 나무 로 꾸밀 수 있습니다. 하이트맵 및 텍스처로 페인팅하는 것과 동일한 방식으로 나무 패치를 터레인에 페인팅할 수 있는데, 나무는 표면에서 자라는 솔리드 3D 오브젝트입니다. Unity는 최적화(예: 멀리 있는 나무에 대한 빌보드화)를 사용하여 렌더링 퍼포먼스를 유지하므로, 나무 수천 그루로 이루어진 울창한 숲을 만들면서도 여전히 괜찮은 프레임 속도를 유지할 수 있습니다.
툴바의 나무 버튼으로 나무 페인팅을 활성화합니다.
처음에는 터레인에 나무를 사용할 수 없지만 Edit Trees 버튼을 누르고 Add Tree 를 선택하면 프로젝트에서 나무 에셋을 선택하기 위한 창이 나타납니다.
Unity 에디터는 프로토타이핑 용도의 스탠다드 에셋 패키지에 포함된 몇몇 SpeedTree 나무 오브젝트 샘플(Assets > Import Package > Terrain Assets)을 제공하며, 이외에 SpeedTree Modeler 앱, Unity 나무 생성기 도구, 기타 3D 모델링 앱으로 적합한 오브젝트를 생성할 수도 있습니다.
선택한 나무 오브젝트를 나무 생성기에서 생성했다면, 이 창에서는 바람 반응성을 조정하기 위한 벤드 팩터를 보여줄 것입니다. 아래의 바람에 휘어지는 나무 만들기 섹션을 참고할 수 있습니다.
텍스처 또는 하이트맵을 페인팅하는 것과 동일한 방식으로 나무를 선택하여 터레인을 페인팅할 수 있습니다. 페인팅 중에 Shift 키를 누른 채 나무를 선택하여 한 영역에서 나무를 모두 제거할 수도 있고, Ctrl 키를 누른 채 나무를 선택하여 현재 선택한 나무 타입만을 제거할 수도 있습니다. 나무 페인팅에서는 친숙한 Brush Size 옵션을 사용할 수 있으며, Opacity 프로퍼티는 Tree Density 옵션으로 대체되어 주어진 영역 단위에 페인팅 될 나무의 평균 수를 조절할 수 있습니다.
나무의 최소 높이 및 최대 높이를 조절할 수 있는 범위 슬라이더도 있습니다. 랜덤 옵션을 비활성화하면 모든 나무의 높이에 대해 값을 지정할 수 있습니다. 디폴트로 나무의 너비는 높이에 대해 고정되어 있으며, 따라서 나무는 항상 동일하게 조절됩니다. 그러나 높이에 대해 폭 고정 옵션을 비활성화하고 각각 폭을 지정할 수도 있습니다.
또한 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 > 3D Object > Wind Zone 메뉴에서 윈드존을 선택하여 생성할 수 있습니다.
이 시점에 나무가 휘어지도록 설정되었는지 확인해야 합니다. Terrain 을 선택하고 Inspector 에서 Place trees 버튼을 클릭한 다음 Edit Trees > Edit Tree 를 선택합니다. Bend Factor 를 1로 설정하면 나무를 아직 조절하지 않은 경우 나무가 조절됩니다.
나무가 상당히 과격하게 움직이는 것처럼 보일 수도 있습니다. 구부림 값을 변경하여 이 문제를 해결할 수 있지만, 구부림 인수를 1로 유지한 채로 두고 Wind Zone 에서 직접 값을 설정하는 것이 더 쉬울 수 있습니다. 나무가 지나치게 흔들리지 않도록 하려면 바람 터뷸런스를 0.10.3 사이로 낮춥니다. 그러면 모든 것이 훨씬 더 부드러워집니다. 나무가 한쪽 방향으로 끝까지 흔들리지 않게 하려면 Wind Main 값을 터뷸런스와 같은 값으로 낮춥니다.
2017–09–19 일부 편집 리뷰를 거쳐 페이지 수정됨
Unity 4.6에서 게임 오브젝트 메뉴 변경됨