zoukankan      html  css  js  c++  java
  • 关于ogrebullet中角色的控制

    对于角色的控制一个问题就是,是否使用角色的模型?如何控制人物的行走,旋转等?

    ogrebullet没有角色控制相关的使用,那么只有从bullet那里了,进行控制了

    在bullet物理引擎的介绍中有关于角色控制的一些资料,在bullet源代码中应该可以找到一个pdf

    文件。里面介绍的bullet的一些使用,那么第9节 Action:Vehicles & Character Controller 里面就介绍

    了一些角色控制相关的:角色或NPC可以使用一个囊状、球体或者其他相撞来代替,不想让他自动旋转,可以把

    angular factor 设置为0,等等,自己去看吧,下面是我自己使用ogrebullet的时候的一些设置这里我使用囊状

    // 创建一个囊状

     CapsuleCollisionShape *cyliderShap = new CapsuleCollisionShape(2,6,Ogre::Vector3(0,1,0));
       gBodyRigiBody = new RigidBody("PlayerBody",mWorld);

    // 设置用户信息,也就是说,这个是我们自己想放什么就放什么的,我的目的是在发生碰撞的时候用这个数据来判断。
       s = new std::string("PlayerBody1");

    //下面是设置形状了

       gBodyRigiBody->setShape(gBodyNode,cyliderShap,gDynamicBodyRestitution,0.6f,5.0f,Vector3(0,7,30),Quaternion::IDENTITY);

    //绑定用户的信息就在这里了

       gBodyRigiBody->getBulletRigidBody()->setUserPointer(s);
       gUserPointVect.push_back(s);// 保存一下,后面要删除的


       // 角色不可以转动,也不可以休眠,这样就可以让我们自己控制这个ogrebullet刚体的移动..等等了
       gBodyRigiBody->getBulletRigidBody()->setAngularFactor(0);
       gBodyRigiBody->getBulletRigidBody()->setSleepingThresholds(0.0,0.0);

  • 相关阅读:
    Day Six(Beta)
    Day Five (beta)
    Day Four(Beta)
    Day Three(Beta)
    Day Two(Beta)
    Day One(Beta)
    项目冲刺——总结
    beta版本贡献率
    软件工程实践总结
    团队作业--Beta版本冲刺
  • 原文地址:https://www.cnblogs.com/lancidie/p/1967713.html
Copyright © 2011-2022 走看看