fbx http www autodesk comfbx easy to use
그럼… - fbx 를 써보자 얻기 http: //www. autodesk. com/fbx easy to use c++ based window, mac, linux
importer 참고자료 - View. Scene Sample
KFbx. Scene importer - KFbx. Node* l. Node = p. Scene->Get. Root. Node();
KFbx. Node importer - transfrom 얻기 Evaluate. Local. Translation Evaluate. Local. Rotation Evaluate. Local. Scaling
일리히트엔진 씬노드로… importer const KFbx. Vector 4 fbx_trn = pchd. Node->Evaluate. Local. Translation(); irr: : core: : vector 3 df trn(fbx_trn[0], fbx_trn[1], fbx_trn[2]); …<생략> p. Node->setposition(trn); p. Node->setrotation(rot); p. Node->setscale(scl);
KFbx. Node. Attribute importer - Mesh, Skeleton, Camera, Light. .
KFbx. Mesh importer l. Attribute. Type = (p. Node->Get. Node. Attribute()->Get. Attribute. Type()); if( KFbx. Node. Attribute: : e. MESH == l. Attribute. Type ) { KFbx. Mesh* p. Mesh = (KFbx. Mesh*) p. Node->Get. Node. Attribute (); }
일리히트 메쉬 만들기 importer - meshbuffer irr: : scene: : SMesh. Buffer* pbuffer; pbuffer = new irr: : scene: : SMesh. Buffer();
Vertex importer - control point l. Control. Points. Count = p. Mesh->Get. Control. Points. Count(); KFbx. Vector 4* l. Control. Points = p. Mesh->Get. Control. Points(); Get. Element. Normal Get. Element. Vertex. Color Get. Element. UV element fbx controlpoint element …. . element
일리히트 정점 importer - irr: : video: : S 3 DVertex vert; vert. Pos = irr: : core: : vector 3 df( l. Control. Point[0], l. Control. Point[1], l. Control. Point[2]); … pbuffer->Vertices. push_back(vert);
인덱스 버퍼 importer for(i=0; i<p. Mesh->Get. Polygon. Count(); i++) for(j=0; j<p. Mesh->Get. Polygon. Size(i); j++) { irr: : u 32 index = p. Mesh->Get. Polygon. Vertex(i, j); pbuffer->Indices. push_back(index); }
exporter 참고자료 - Import. Export Sample
exporter create control point l. Mesh->Init. Control. Points( 원하는 갯수); KFbx. Vector 4* l. Control. Points = l. Mesh->Get. Control. Points(); l. Control. Points[index++] = KFbx. Vector 4(x, y, z);
exporter UV KFbx. Layer* l. Layer = l. Mesh->Get. Layer(0); KFbx. Layer. Element. UV* l. UVDiffuse. Layer = KFbx. Layer. Element. UV: : Create(l. Mesh, "Diffuse. UV"); l. Layer->Set. UVs(l. UVDiffuse. Layer, KFbx. Layer. Element: : e. DIFFUSE_TEXTURES); l. UVDiffuse. Layer->Get. Direct. Array(). Add(UV_data); l. UVDiffuse. Layer->Get. Index. Array(). Set. At(i, i);
exporter another UV? KFbx. Layer* l. Layer = l. Mesh->Get. Layer(1); KFbx. Layer. Element. UV* l. UVDiffuse. Layer = KFbx. Layer. Element. UV: : Create(l. Mesh, "Diffuse. UV"); l. Layer->Set. UVs(l. UVDiffuse. Layer, KFbx. Layer. Element: : e. DIFFUSE_TEXTURES); l. UVDiffuse. Layer->Get. Direct. Array(). Add(UV_data); l. UVDiffuse. Layer->Get. Index. Array(). Set. At(i, i);
- Slides: 27