Ogre相关的物理引擎

可用于OGRE的物理引擎有挺多的,很多开发者已经写好了适配器,将两OGRE与其它的物理引擎进行了连接。

比较著名的就是:

NxOgre:连接OGRE和physx。

http://www.ogre3d.org/tikiwiki/NxOgre

OgreNewt:

http://www.ogre3d.org/tikiwiki/OgreNewt

http://www.ogre3d.org/tikiwiki/OgreNewt+2

整合的是Newton这个开源的物理引擎。

OgreODE:

http://www.ogre3d.org/tikiwiki/OgreODE

整合的是ODE了。

OgreBullet:

http://www.ogre3d.org/tikiwiki/OgreBullet

据说bullet是排在havok,physx之后的第三大物理引擎,这样就是说是开源中的第一?不过好像这个整合的项目没有继续更新了。

取舍之后,决定还是看一下OgreNewt。

想要用到最新的就要去SVN上载,下载一个SVN,然后安装。

新建一个放OgreNewt的文件夹,右键check out, 加入如下地址:

https://svn.ogre3d.org/svnroot/ogreaddons/branches/ogrenewt/newton20

就可以下到最新的版本了,这边这个版本只能用于Newton2.33。

到Newton官网上下载Newton2.33(有可能要上googlecode上下):

http://newtondynamics.com/forum/downloads.php

折腾一天,终于能跑第一个demo。果然头几个吃螃蟹的人都有可能成为先烈。。。

用Ogre1.74和Newton2.33整合的OgreNewt,并且在VS2010下编译,真是有各种问题需要自己去解决。感觉外国人不太喜欢2010,觉得是个鸡肋,还劝大家不要花钱去买。

搜了一大堆的英文资料,先把链接发这里存一下。

解决

error C2664: ‘void std::tr1::_Function_impl2<_Ret,_Arg0,_Arg1>::operator ()(_Arg0,_Arg1) const‘ : cannot convert parameter 2 from ‘boost::arg<I>‘ to ‘OgreNewt::Body *‘

http://www.ogre3d.org/addonforums/viewtopic.php?f=4&t=14610

一个比较完整的编译Newton和OgreNewt指导教程:

http://www.ogre3d.org/addonforums/viewtopic.php?f=4&t=14859

大概就是:

1.要把 packages\projects\visualstudio_2008 文件夹里的build.sln打开,我这边就是用2010打开,把OGRE的路径配置好。现在2010整个的VC目录的配置换地方了,在视图-》属性管理 器里配置,可以自由的选择几个工程配置成只一个目录,方便了不少。

2.转换之后,直接生成就可以得到debug版本的了。然后去 packages\win32\下各个文件夹中把dmath_d.lib, dScene_d.lib, tinyxml_d.lib and dContainers_d.lib拷贝到packages\win32\debugDll文件夹中,注意不要拷贝并覆盖文件夹中已有的newton_d.lib and dJointLibrary_d.lib两个库。

3.配好环境,编译OgreNewt。

然后注意看一下少什么补什么,比如link出错了,就很有可能少了一些lib库,要把这些库拷到你工程能引用到的目录库里。

最后要如果生成成功,但窗口不出现,就要注意查下OGRE的日志了。这边主要遇到的问题就是现在版本的ogre在debug时读取的是后面_d的资源和plugin文件。

目前我只能跑第一个basic的demo,后面的编译都有问题。

第二个demo的问题:

error C2259: “OgreNewt::BasicRaycast”不能实例化抽象类:

http://ogre3d.org/addonforums/viewtopic.php?f=4&t=29244

就是父类的抽象方法子类没有覆盖实现。

现在运行时又出现了pure virtual function error。真心崩溃。。受不了,我还是换NxOgre试试好了,原以为我这电脑没有独显不能用,后来发现应该是有软件模拟的,只是比较慢而已。

http://devsupport.ageia.com/ics/support/default.asp

上官网上下载Physx的SDK,要登入,然后才能在下载页面中下载到。

查到一个不错的physx基本介绍的blog:

http://blog.csdn.net/xoyojank/article/details/4368968

时间: 2024-10-11 15:10:23

Ogre相关的物理引擎的相关文章

转: 在Ogre中使用Havok物理引擎(源码)

作者:CYM 众所周知Ogre则是评价很高的一款图形渲染引擎,Havok则是世界一流的物理引擎,今天花了点时间将两者结合在了一块,做了个Demo 由于国内对Havok的研究似乎很少,网上也找不到多少资料,所以先分享一下源码.. 演示了很多棍子掉落在地上的场景 --------------------------------------------华丽分割线--------------------------------------------------------------- 灰色部分为暂时

cocos2d-js中Chipmunk物理引擎相关(1)

最近看些cocos2d-js的东西,用到其中的Chipmunk的一些东西,因为相关的资料也不是很详细,所以看到一些东西有用就记录下来. 1. chipmunk是cocos2d的一个一个物理引擎,用来模拟重力,碰撞等等的现实场景. 一个chipmunk body代表虚拟空间中的一个物体,他可能会包含一个或者多个chipmunk shape从而构成它的几何形状. 比如将一个动态的chipmunk物体加入到场景中: 初始化: this.body = new cp.Body(1, cp.momentFo

[原][osg][osgEarth]关于在OE中使用物理引擎的调研

关于物理引擎旋转的一些整理 参考文档 http://blog.wolfire.com/2010/03/Comparing-ODE-and-Bullet 介绍ODE和bullet的利弊 http://stackoverflow.com/questions/6408198/bullet-vs-newton-game-dynamics-vs-ode-physics-engines 讨论作者想要哪款物理引擎 https://www.ibm.com/developerworks/cn/opensource

转:Bullet物理引擎不完全指南(Bullet Physics Engine not complete Guide)

write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 前言 Bullet据称为游戏世界占有率为第三的物理引擎,也是前几大引擎目前唯一能够找到的支持iPhone,开源,免费(Zlib协议,非常自由,且商业免费)的物理引擎,但是文档资料并不是很好,Demo虽然多,但是主要出于特性测试/展示的目的,会让初学者无从看起,一头雾水.我刚学习Bullet的时候困于没有好的文档及资料,非常没有头绪,折腾了很久,所以就发挥没有就创造的精神,写作及整

物理引擎Havok教程

物理引擎Havok教程(一) 搭建开发环境 网上关于Havok的教程实在不多,而且Havok学习起来还是有一定难度的,所以这里写了一个系列教程,希望能够帮到读者.这是第一期. 一.Havok物理引擎简介       Havok引擎,全称为Havok游戏动力开发工具包(Havok Game Dynamics SDK),一般称为Havok,是一个用于物理系统方面的游戏引擎,为电子游戏所设计,注重在游戏中对于真实世界的模拟.使用碰撞功能的Havok引擎可以让更多真实世界的情况以最大的拟真度反映在游戏中

实例介绍Cocos2d-x物理引擎:HelloPhysicsWorld

我们通过一个实例介绍一下,在Cocos2d-x 3.x中使用物理引擎的开发过程,熟悉这些API的使用.这个实例的运行后的场景,当场景启动后,玩家可以触摸点击屏幕,每次触摸时候,就会在触摸点生成一个新的精灵,精灵的运行是自由落体运动. HelloPhysicsWorld实例 使用物理引擎的一般步骤,如下图所示. 这个过程与上帝创建世界的过程类似,上帝首先创建了世界,然后为世界指定了边界,否则万物就会掉到世界之外的混沌里去了,最后上帝创建了万物.当然这只是一个最基本的步骤,有的时候还需要碰撞检测和使

Box2D物理引擎模拟炸弹爆炸效果

今天咱们来模拟炸弹效果.于是问题一来了:"为什么要模仿这么暴力的效果呢?莫非几日不见,Yorhom人品煞变?" 其实玩过愤怒的小鸟的同学都应该对这种效果似曾相识,因为据非官方报道,第二厉害的小鸟--黑色鸟的特技就是自爆.问题二出现了:"那第一厉害的小鸟是哪一种呢?"据Yorhom我本人测试,那只红色大鸟应该是最厉害的,不过貌似没有特技?愤怒的小鸟这种肤浅的游戏,Y某我最擅长了,以后有时间会专门写写这个游戏的攻略.这两种鸟的靓照如下: 敷衍了问问题二的同学,问题三就来

UIDynamic仿物理引擎-浮动碰撞效果-b

最近产品提了个需求(电商的APP-两鲜),需要在APP背景加上几个水果图案在那里无规则缓慢游荡...模仿 天天果园 APP的.好吧,那我就在网上找了很多文章,总结一下写个demo.效果如下: Mou icon 这里用到的是UIDynamic这个类. UIDynamic简介 一.简介 注意:UIKit动力学的引入,并不是为了替代CA或者UIView动画,在绝大多数情况下CA或者UIView动画仍然是最有方案,只有在需要引入逼真的交互设计的时候,才需要使用UIKit动力学它是作为现有交互设计和实现的

Bullet物理引擎在OpenGL中的应用

Bullet物理引擎在OpenGL中的应用 在开发OpenGL的应用之时, 难免要遇到使用物理来模拟OpenGL中的场景内容. 由于OpenGL仅仅是一个关于图形的开发接口, 因此需要通过第三方库来实现场景的物理模拟. 目前我选择 Bullet 物理引擎, 其官方网站为 Bullet, 开发库的下载地址则在 github 上. 1. OpenGL 环境 首先我们需要搭建框架, OpenGL 的基本框架这里不详述, 我个人是在几何着色器内实现光照, 这是由于我实现的是面法线. 另外用到的其他三方库