delta3d重力设置功能缺少一个函数及解决办法

来源:互联网 发布:现代网络小说家排行榜 编辑:程序博客网 时间:2024/05/16 05:43
 

ODE默认所有物体都受重力影响,当我们不希望考虑重力时,须手动将重力影响消除,在ODE中是靠函数dBodySetGravityMode ( b,  mode);实现,而DELTA3D并没有将这个函数封装起来,即默认所有物体都受重力影响,解决办法有三:

l          将重力设为0

l          在我们自己的应用程序中include <ode/ode.h>,调用函数 dBodySetGravityMode()实现;

l         为平台通用化,在delta3d中实现,如下过程:

Dtcorescene.h添加函数声明:

       // Set the gravity mode 工业仿真添加。默认全部受重力影响,但mode为时取消重力影响

       void SetGravityMode(dBodyID b, int mode);

scene.cpp添加函数定义:

// 工业仿真添加

void Scene::SetGravityMode(dBodyID b, int mode)

{

     dBodySetGravityMode ( b,  mode);

}

decore重新编译,即可!

原创粉丝点击