Trang

12/6/16

USING 3DSMAX AS LEVEL EDITOR IN IRRLICHT

DÙNG 3DSMAX NHƯ LÀ TRÌNH BIÊN TẬP MÀN CHƠI TRONG IRRLICHT
3    3dsMax là một phần mềm 3D Editor rất mạnh , tại sao chúng ta không tận dụng nó để làm level Editor trực tiếp cho Irrlicht.Cách làm của mình như sau :
-         Xuất file khung cảnh trong Max sang dạng .X (bằng Panda Exporter) chú ý chọn Sub frame hierarchy)
-         

-         Như vậy sao khi ra file .X thì sẽ có kèm theo các bone để làm neo (archor) giúp cho việc tách các phần tử Mesh ra làm nhiều phần con một cách thuận lợi ! (các bone có tên như là group trong Max đã đặt tên)
-        
-         Vậy trong Irrlicht ta có hàm như :
void ConvertMeshBuffertoBullet(scene::IAnimatedMesh* mesh)
{
                if (mesh)
                {
                                scene::IAnimatedMeshSceneNode* anode = mySmgr->addAnimatedMeshSceneNode(mesh);
                                for (u32 i=0;i<mesh->getMeshBufferCount();i++)
                                {
                                                scene::SMesh* pMesh = new scene::SMesh();
                                                pMesh->addMeshBuffer(mesh->getMeshBuffer(i));
                                                vector3df pos =anode->getJointNode(i)->getAbsolutePosition();
                                                scene::IMeshSceneNode* Node = mySmgr->addMeshSceneNode(pMesh,0,-1,pos);
                                                //chuyen node thanh dang vat ly theo yeu cau cu the
                                                if (i==0) ::convertISceneNodeToRigidBody(Node,::btScalar(0),true);
                                                else ::convertISceneNodeToRigidBody(Node,::btScalar(5),true);
                                }
                                anode->remove(); /xoa node tam
                }

                  }

Không có nhận xét nào:

Đăng nhận xét

Bài đăng phổ biến