亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

整合Bullet物理引擎到Ogre on iPhone

系統 1885 0

write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie

討論新聞組及文件

為什么選擇Bullet

Bullet 算是一個比較流行的3D物理引擎了,大概的看了幾眼以后,了解了一些基本用法,發現很多3D物理中的概念與2D(比如Box2d)中的概念是相同的,甚至,Bullet的一些用法都與Box2D類似。基本了解以后,對于我來說,那就是iPhone平臺的問題了。
我選擇Bullet而不是其它一大堆同樣著名的物理引擎,主要源自烏龍( oolongengine ) 引擎,該引擎由wolfgang.engel最先創建,并且內嵌了bullet的支持,竟然如此大牛都青睞的引擎,我怎么能無視呢?何 況,oolongengine的使用,也說明Bullet在iPhone中使用完全沒有問題。另外,還有Blender這個非常著名的3D建模工具也是對 Bullet有直接支持,可見Bullet的流行程度。事實上,還有些故事,比如oolongengine的項目負責人之一erwin.coumans, 同時就也是Bullet的項目創建者兼現在的負責人。(到Google Code上去看看就知道了)并且,erwin提到,Bullet能夠流暢的在iPhone上運行,wolfgang提供了很大的幫助,對浮點運算進行了特 別優化。最有意思的是,迪斯尼公司,自己的一些項目用到了Bullet,(看主頁上的介紹,起碼玩具總動員3這個游戲用到了Bullet)所以開發了自己 的MAYA Bullet插件,為了回報開源社區,已經將此插件開源了。。。。。感謝Bullet,也感謝迪斯尼,同時感嘆國外這種開源社區之間的交互。。。。。呵 呵,這才叫欣欣向榮的良性發展,你幫助我,我幫助你,公司受到幫助,也對社區進行回報。知道了這么多故事以后,更加是對Bullet多了很多好感。最值得 一提的是, erwin 簡直就是個開源狂人。。。。。他還發起過一個叫做 gamekit 的開源游戲引擎項目,希望整合Ogre/Irrlicht和Bullet,因為是erwin創建的項目,也非常值得期待。。。。。。。
閑話多說一向是我的毛病。。。。也就說到這里了,用以前的 OGRE on iPhone 工程直接開工了。


在XCode中編譯Bullet和OgreBullet

初下載Bullet后,用CMake做工程,只能做Mac OS X的工程,沒有iPhone的選項,于是參考一下烏龍引擎的做法,就是將整個Src目錄都拷貝進自己的工程,好像是從iPhone開始,流行這種"暴力" 使用源代碼的方式了。。。。。只能說Apple的XCode開發的還不足夠人性化,所以建庫的工程沒有VS那么方便,再加上iPhone天生的不支持動態 庫,更加助長了這種“暴力”使用源代碼的方式,其實每次修改工程文件編譯都會慢很多,無奈啊。。。。。在Bullet的論壇中,搜索到erwin的準 官方解決方案 就是拷貝全部目錄。。。。汗一個-_-!
既然如此,一切倒是簡單了。。。。。下載 Bullet的源碼 ,目前最新的是2.77,拷貝Src目錄,刪掉無用文件,比如CMake的一些文件。(或者直接從oolong引擎中將整個Bullet目錄拷貝過來最簡單,只不過版本目前是2.73)然后配置Bullet的Include目錄,編譯,一切OK。
現在開始嘗試嵌入OgreBullet,方法還是直接包含源代碼。比較特殊點的是OgreBullet需要用到Bullet的 ConvexDecomposition,這個庫在Bullet的Extra中,也將源代碼都拖過來,然后弄好include目錄,就沒有問題了。


測試

現在進入測試階段,就用OgreBullet的 Tutorial 中 的例子。源代碼全部拷貝過來,唯一的問題是ExampleApplication在iPhone中有些小問題,修改一下函數,namespace后問題解 決。運行時崩潰,查看問題,還是ExampleApplication這個類的問題,難怪在Ogre的iPhone template不用這個類,崩潰的地方很有意思,OIS獲取鍵盤的時候:
mKeyboard = static_cast<OIS::Keyboard*>(mInputManager->createInputObject( OIS::OISKeyboard, bufferedKeys ));
注釋更加有意思:
//Create all devices (We only catch joystick exceptions here, as, most people have Key/Mouse)
典型反映了代碼永遠趕不上時代變化,既然這個類已經不被人使用了,我也就不費勁去用了,將原來的例子代碼全部嵌入到OgreFramework類中。
運行,崩潰,發現忘了添加新增的資源,將BumpyMetal.jpg材質和cube.mesh模型添加進工程。再次運行,一些正常,有圖有真相:

整合Bullet物理引擎到Ogre on iPhone

當一切都OK以后,我發現我的目標竟然與GameKit是一樣的。。。。。不就是Ogre+Bullet嗎? erwin 估計以前就已經想過我所想了。。。。。也許,嘗試下GameKit也不錯。

原創文章作者保留版權 轉載請注明原作者 并給出鏈接

write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie

整合Bullet物理引擎到Ogre on iPhone


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久色网| 国产精品久久久久久吹潮 | 在线国产福利 | 免费真实播放国产乱子伦 | 999精品久久久中文字幕蜜桃 | 久久综合性 | 亚洲综合射 | 日韩久久免费视频 | 香蕉久久网 | 日韩精品欧美精品中文精品 | 久草视频免费在线观看 | 国产成人综合网 | 欧美大片a一级毛片视频 | 免费区欧美一级毛片 | 伊人爱爱网| 久草精品在线播放 | 午夜一区 | 精品视频日本 | 久久久这里有精品999 | 久久久夜间小视频 | 免费一级毛毛片 | 国产伦一区二区三区免费 | 国产性大片黄在线观看在线放 | 伊人色综合久久天天伊 | 亚洲精品一二三四区 | 四虎影视国产永久免费 | 亚洲欧美日韩精品久久亚洲区 | 伊人涩涩 | 爱爱视频网站免费 | 深夜福利网站在线观看 | 亚洲国产精品一区二区久 | 精品99久久 | 一级毛片免费在线播放 | 97国产| 久久久这里只有精品加勒比 | 久久久高清国产999尤物 | 99久久综合狠狠综合久久一区 | 国产成人精品免费视频网页大全 | 免费看成人毛片日本久久 | 国产黄mmd在线观看免费 | 日韩日b |