• [原创]为Irrlicht中的人物添加武器


    在Irrlicht中的人物添加武器 其实相当简单:找到关节然后attach上去就ok了。

     scene::IAnimatedMesh* pManMesh = smgr->getMesh("../../media/noblade.ms3d");
     scene::IAnimatedMeshSceneNode* pnMan = smgr->addAnimatedMeshSceneNode( pManMesh );
     pnMan->setMaterialTexture(0, driver->getTexture("../../media/skin.jpg"));
     pnMan->setMaterialFlag(video::EMF_LIGHTING, false);
     pnMan->setPosition(core::vector3df(50,50,-60));
     pnMan->setScale(core::vector3df(5,5,5));
     pnMan->setAnimationSpeed(25*10);
     // this is a scene node where we can attach things to joints
     scene::ISceneNode* pJointNode = pnMan->getMS3DJointNode("leftWeaponJoint");
     if(pJointNode)
     {
      scene::IAnimatedMesh* pWeapon = smgr->getMesh("../../media/blade.ms3d");
      scene::IAnimatedMeshSceneNode* pnWeapon = smgr->addAnimatedMeshSceneNode( pWeapon );
      pnWeapon->setScale(core::vector3df(2,2,2));
      core::vector3df jointPos = pJointNode->getAbsolutePosition();
      //pnWeapon->setPosition(jointPos);
      pJointNode->addChild( pnWeapon );
      printf("Join weapon to body, x=%d, y=%d, z=%d\n", jointPos.X, jointPos.Y, jointPos.Z);
     }
     
     
     
  • 相关阅读:
    rapidjson 的练习
    在Struts2中集成Spring详细讲解
    AJAX实例入门
    Redhat Enterprise Linux中如何关闭SELinux?
    C3P0连接池详细配置
    hibernate中load,get;find,iterator;merge,saveOrUpdate,lock的区别
    107个常用Javascript语句
    车祸 shit
    JAVASCRIPT实现XML分页
    javabeans的运用
  • 原文地址:https://www.cnblogs.com/flysnow/p/457830.html
Copyright © 2020-2023  润新知