LOD 적용
게임 내에서 이용되는 오브젝트들에 LOD를 적용하는것은 지형 LOD와는 달리 매우 쉬웠습니다.
DirectX 에는 기본적으로 Progressive Mesh 라는것을 지원하여 실시간으로 Mesh의 Face , Vertex 를 조정할 수 있게 해줍니다.
거리에따라 Progressive Mesh 로 지정된 메쉬의 Face 값을 +,- 해주면 간단히 LOD 가 구현이 됩니다.
실제 테스트 결과 오브젝트의 수가 많아질수록 LOD의 적용유무에 따른 속도차이가 엄청났습니다.
LOD를 이용하기위해 Progressive Mesh를 생성하는 과정은 다음과 같습니다.
1. X파일을 일반 Mesh 로 불러옴
2. Mesh 최적화를 해줌
- CleanMesh , WeldVertices
(저는 이렇게 두개의 과정만 하였는데 이상이없네요. 상황에따라 다른방식의 최적화가 필요할수도 있습니다)
3. Valid Mesh 를 이용해 DX에서 사용적합한 Mesh 상태인지 확인
4. Progressive Mesh 생성
Progressive Mesh를 사용하려면 Valid Mesh를 반드시 통과하여야 됩니다.
처음 작업을 했을 때 책에 별다른 말이 없어서 1, 4 번 으로 바로 진행하였는데 몇몇 모델 파일들에서 오류가 발생하여 여기저기서 찾아보았더니
Valid Mesh로 부터 OK싸인을 받아야 Progressive Mesh 가 생성된다는 걸 알게되었습니다.
일반적인 게임회사에서는 이미 3D 모델러분들께서 게임에 적합하게 모델링을 해주실 것이라 생각되지만... (그래서 책에 저 작업이 없었던 것 같기도 하고...)
저같이 혼자 공부하는 입장에서는 게임용 모델파일이 아닌 여기저기서 빼오다 보니 Valid Mesh 작업이 꼭 필요한것 같습니다...;;
'Programming > DirectX' 카테고리의 다른 글
| 다중캐릭터 (0) | 2009/08/11 |
|---|---|
| Mesh Hierarchy Animation (0) | 2009/08/09 |
| LOD 적용 (0) | 2009/07/31 |
| 이것저것 섞다보니.... (0) | 2009/07/28 |
| Direct3D 지형시스템 만들기 : 멀티텍스쳐링 + 안개 (0) | 2009/07/25 |
| Direct3D 지형 시스템 만들기 : 라이트맵 적용 + 버텍스 블러링 (0) | 2009/07/20 |


댓글을 달아 주세요