일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- data science
- 통계
- 빅 데이타
- openCV
- Machine Learning
- Artificial Intelligence
- No SQL
- 데이터 과학
- MongoDB
- 빅데이터
- 빅데이타
- 빅 데이터
- 김양재 목사
- nodeJS
- R
- 딥러닝
- probability
- 인공지능
- 김양재
- 김양재 목사님
- c++
- node.js
- Statistics
- 우리들교회
- 몽고디비
- 주일설교
- 확률
- Deep learning
- WebGL
- Big Data
- Today
- Total
Scientific Computing & Data Science
[WebGL/ThreeJS] COLLADA(dae) Loader 본문
WebGL의 ThreeJS 프레임워크에서 3D 지오메트리 포맷인 COLLADA를 로딩하는 방법에 대하여 알아보도록 하겠습니다.
COLLADA 포맷은 3D 지오메트리 정보를 표현하는 포맷 중 하나이며, .dae 확장자명으로 XML 태그 형식으로 정의됩니다. 시중의 거의 대부분의 3D 저작도구는 COLLADA 포맷 익스포트(export)를 지원한다. COLLADA 포맷에는 지오메트리 뿐만아니라 매터리얼과 애니메이션 정보가 포함됩니다.
Step 1 - Export COLLDAD Format
Blender, Maxon CINEMA 4D, Autodesk Maya, Autodesk 3dsMax 등 3D 저작도구에서 지오메트리를 생성합니다.
만약 텍스쳐를 적용하였다면 가급적 Bake 기능을 활용하여 하나의 전체적인 UV 맵(하나의 이미지)으로 생성하도록 합니다. 해당 지오메트리를 COLLADA 포맷으로 내보내기 합니다.
Tip: COLLADA 포맷은 가급적 1.4 이전 버전으로 내보내도록 합니다. 1.5 이상으로 했더니 ThreeJS의 로더로 잘 불러지지 않습니다. 만약 내보내기 COLLDADA 포맷과 텍스쳐(이미지) 파일의 이름이 변경되거나 경로가 달라지는 경우, 반드시 해당 COLLADA 파일을 열어 이미지 경로를 확인하고 필요 시 수정하도록 합니다.
Step 2 - ColladaLoader.js 파일 인클루드
ColladaLoader.js는 COLLADA 파일을 로딩하기 위하여 반드시 필요한 스크립트 파일입니다. 이 파일은 MrDoob의 Github 사이트에서 다운로드 할 수 있습니다. 다음과 같이 ColladaLoader.js를 HTML 파일에서 로딩한다:
1 | <script src="ColladaLoader.js"></script> | cs |
Step 3 - COLLADA 파일 로딩
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | var dae; var loader = new THREE.ColladaLoader(); loader.options.convertUpAxis = true; loader.load( {YOUR_COLLADA_FILE}, function ( collada ) { dae = collada.scene; dae.traverse( function ( child ) { if ( child instanceof THREE.SkinnedMesh ) { var animation = new THREE.Animation( child, child.geometry.animation ); animation.play(); } } ); init(); animate(); } ); | cs |
Step 4 - 로딩한 COLLADA 파일 Scene 추가
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var scene; ... function init() { ... scene = new THREE.Scene(); // Add the COLLADA scene.add( dae ); ... } | cs |
이렇게 하면 COLLADA 포맷을 WebGL에서 로딩하여 사용할 수 있습니다.
'Programming > WebGL(ThreeJS)' 카테고리의 다른 글
[Programming / WebGL] Web Cam Texture (0) | 2016.08.28 |
---|---|
[Programming / WebGL(three.js)] CINEMA 4D로부터 Collada Export하여 WebGL에서 불러오기 (2) | 2016.06.06 |
[WebGL] Path Tracing (0) | 2015.08.07 |
[WebGL] Blur Shader (0) | 2015.08.07 |
[WebGL] Bloom Shader (0) | 2015.08.07 |