纠结半天还是来看了nxOgre引擎。

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

 

最后搭建的环境是:

VS2010+nxOgre+Ogre1.74+physx2.8.4

 

主要是看那个:

Betajaen's Ramblings

这两个算是比较新的了,其它的好像是OGRE1.7版本以前的兼容版本,没法在新的OGRE中使用了。

要下载的东西有:

NxOgre的下载地址https://github.com/betajaen/nxogre/

Critter的下载地址https://github.com/betajaen/critter

Tutorial的下载地址https://github.com/betajaen/nxogretutorials

最后一个是教程,需要上面两个才能编译。

 

我用的是VS2010,所以会有版本升级时的问题,我在下面列出解决方法。

1.在编译Critter时,有:

命令行 error D8016: “/ZI”和“/O2”命令行选项不兼容

英文应该是:

Command line error D8016 : '/O1' and '/RTC1' command-line options are incompatible


解决方法为:

GL为全程优化,在配置属性-> C/C++   -> 优化-> 全程优化中设置,而ZI编译生成调试信息,在配置属性-> C/C++   -> 常规-> 调试信息格式中设置。如编译debug版本,则去掉 GL选项(将全程优化中选为 否),如编译release版本,则可去掉 ZI选项。重新生成即可。

2.boost库在Ogre1.74已经换为1.47了,在包含文件中要换一下。

3...悲剧发生了, error C2039: “VisualDebugger”: 不是“NxOgre::Enums”的成员

上网查了下,是critter旧版本的东西,新的他还没有打包,得用SVN下。所以用SVN从上面那个网址下最新的critter来编译。

按照2改一下,OK,编译成功。


现在改一下教程里的配置,就可以成功编译了,他会自动的把生成的DLL放到OGRE的Sample浏览器里,就可以方便的查看结果(其实不方便。。打开要载入半天的资源)。

注意要把nxOgre.zip放到OGRE的media里,并在resource_d.cfg中配置好路径。

还有把physx的几个dll也放进来。

  • PhysXCooking.dll
  • PhysXCore.dll
  • PhysXDevice.dll
  • PhysXLoader.dll


我这运行时还提示少一个cudart32_30_9.dll,去physx目录下再拷过来就OK了。


(1002)一个风的例子:

 


这边有个简单的例子解析,是101的那个工程。

https://github.com/betajaen/nxogretutorials/blob/master/text/101.textile