您的位置:首页 > 其它

OgreNewt碰撞开发平台的初始化

2008-11-19 19:53 127 查看
先从这里开始:http://www.ogre3d.org/wiki/index.php/Newton_Game_Dynamics

这个教程实际上已经过时了。上面说适用于Ogre 1.1.x,实际上OgreNewt已经为1.4.x做了更新了。

插一句,Newton是一个物理引擎,Ogre是一个图像引擎,两者由OgreNewt连接起来。

根据这个教程,先到http://www.newtondynamics.com/downloads.html下载了Newton的SDK。

然后在http://walaber.com/index.php?action=showitem&id=9下载OgreNewt。

最后下载Media pack。这个包里面实际上就是编译Demo时需要的一些mesh。但在编译Demo时发现,还缺少很多东西。

安装NewtonSDK,将OgreNewt拷贝到一个你能找到的地方。

依照教程,用VS打开OgreNewt/下的OgreNewt.sln,这个时候就可以看见这样的项目列表了:

OgreNewt_Main - this is the library itself, where all classes are defined.
Demo01_TheBasics - an extremely simple demo, where you can throw objects at a solid object, and watch them interact.
Demo02_Joints - another simple demo, showing TreeCollision bodies, and simple Joints.
Demo03_CollisionCallbacks - how to use advanced collision callbacks to control object behavior through the example of a conveyor belt.
Demo04_Raycasting - using raycasting with rigid bodies
Demo05_SimpleVehicle - how to use the Newton vehicle system
Demo06_SimpleBuoyancy - how to use the Newton buoyancy system
Demo07_CustomJoints - simple example of how to make your own joints with OgreNewt.
Demo08_RagdollExample - an example of how to make skinned ragdolls using OgreNewt.
这个时侯就要开始配置项目的属性了。
首先,在每个项目上点右键选择“属性”。
1.最上面的“配置”要选择“活动(Release)”(选“Debug”是不行的……)
2.“C/C++“——”常规”——“附加包含目录”,添加你安装的OgreSDk目录下的include/和samples/include。比如我添加了"C:/OgreSDK/samples/include;C:/OgreSDK/include;“。这是因为demo里面需要ogre的头文件,以及ogre示例的ExampleApplication和ExampleFrameListener两个类的文件。
3.“链接器”——“常规”——“附加库目录”,添加OgreSDK的lib/。比如我添加了"C:/OgreSDK/lib;”。

按理说现在可以编译、链接成功了,但是运行不了。运行时出现了这些信息:

Demo01_TheBasics.exe 中的 0x7c812aeb 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012faf0 处的 Ogre::FileNotFoundException。
Demo01_TheBasics.exe 中的 0x7c812aeb 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012fc20 处的 Ogre::FileNotFoundException。
程序“[3292] Demo01_TheBasics.exe: 本机”已退出,返回值为 0 (0x0)。
不要担心,实际上程序是可以运行的。切换到OgreNewt/demos/bin/release/。双击这里的exe就可以运行demo程序了。
运行程序后你会发现,很多贴图都没有了,物体就是一片白色……不过终究可以运行了……。
如果是在Debug模式下,运行程序后会中断退出,并在Ogre.log的记录的最后一行出现"*** Initializing OIS ***"然后就没有记录了。在Release时就没有这个问题了。
在Release模式下,你也可以查看一下Ogre.log,你会发现里面有一些错误,找不到一些材质,所以运行的时候发生了缺少贴图的情况。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: