当前位置: 首页 > 工具软件 > OGRE 3D > 使用案例 >

基于Ogre3d的.NET版本(MOGRE)做的台球游戏

公孙慎之
2023-12-01

最原始的代码是sunstar1989大佬写的C++源码,我这里是用了MOGRE+MyGUI+Physx Candy Wrapper做的一个.NET版本的转换,目前代码托管在GitHub上:

GitHub - cookgreen/BilliardGame: Open Source Billiard Game

关于这个游戏,我只想说两点:

第一点:NxOgre和Physx Candy Wrapper之间有很多不一样的地方

NxOgre是英国人betajean做的一个Physx的封装,相当于是对原本的Physx API进行OO化(也就是对象化),他里面封装了很多的东西,比如Trigger,Volume什么的,这在原来的Physx API是没有的。

而Physx Candy Wrapper是Ageia写的一个关于Physx SDK的.NET的封装,虽然表面上使用了OO设计思想,但是基本上仍然是对Physx API的封装而没有OO化,更没有对Physx进行二次封装,因此在寻找两者关联的时候费了不少劲儿。

这就需要我们有一定的阅读源代码的能力,我查了好多NxOgre的源码,然后再加上对Physx SDK的研究,才总算摸索出一条调用之路。

比如挂钩Physx场景碰撞事件的时候,在C#代码需要你的类实现三个接口:

第一个是IUserNotify

第二个是IUserContactReport

第三个是IUserTriggerReportÿ

 类似资料: