Unity

Unity : Terrain에서 Prefabs Tree가 추가되지 않을 때 (충돌박스 있는 나무 심기)

Sorting 2020. 12. 25. 21:21
반응형

유니티는 터레인 편집 기능을 자체적으로 제공한다.

터레인에서 다음과 같이 트리를 손쉽게 그릴 수 있다.

 

 

 

위와 같이 Edit Trees 를 선택한 뒤, 

트리 "모델" 을 찾아 추가해준다.

 

 

그 다음엔 그림판처럼 브러쉬로 터레인 위를 슥슥 드래그하면 나무가 마구 자라난다.

 

 

 

그런데 모델에는 충돌박스를 적용할 수가 없으니,

충돌박스를 박은 나무 prefab 을 Terrain Tree 로 심으려고 해보았다.

 

안된다.

 

인터넷을 찾아보니 나보다 먼저 문제를 겪어본 사람들이 많이 있었다.

다음 문서에서 솔루션을 찾았다.

forum.unity.com/threads/custom-trees-not-painting.537113/

 

Custom Trees Not Painting

Okay, I've looked at a number of threads online and numerous videos on YouTube and I still cannot find my problem precisely. I made a tree in Blender...

forum.unity.com

 

 

원인은 LOD.

내가 tree로 사용하려는 나무 prefab 에는 LOD 컴포넌트가 없었다.

나무 모델의 경우, 자체적으로 LOD 가 적용된 오브젝트를 생성해주는 것으로 보이지만

커스텀 나무 오브젝트의 경우, LOD 컴포넌트가 없을 시 오작동 하는 것으로 보인다.

 

다음과 같은 스탭을 통해 내 나무 Prefab 에도 LOD 컴포넌트를 추가할 수 있다.

 

 

1. 일단 쉽게 편집하기 위해, 트리를 월드에 배치한다.

 

2. 나무에 적당히 collider 를 적용한다.

 

3. 나무에 LOD Group 컴포넌트를 추가한다.

 

4. LOD 0 를 클릭하고, 0레벨일 때 출력할 모델을 드래그해서 넣어준다.

  hierachy 에서 아까 월드에 배치한 나무를 확장하면 모델이 나오므로, 그걸 바로 드래그해서 넣어주면 된다.

 

5. 마찬가지로 LOD 1, LOD 2 에도 모델을 드래그해서 넣어준다.

 

6. hierachy 의 나무 오브젝트를 Prefab 에 다시 덮어씌워서, Prefab 을 업데이트한다.

 

 

 

7. 이후 Terrain Tree 에 해당 Prefab을 추가한 뒤 

   브러시로 월드를 쓱쓱 드래드해보면, 충돌박스가 적용된 나무가 심어지는걸 확인할 수 있다.

 

 

 

 

땡큐 MW_Industries ~

반응형