2010年2月25日 星期四

OgreNewt2~新的引擎,新的體驗

說來真的很久沒有回到Ogre的世界了
去年忙起來之後,根本沒什麼時間繼續學習與練習
只有拿新的1.6X版稍微跑個人家的Project看看
直到去年回到學校要拿文憑,考慮論文題目,被教授問到還會什麼時
才想起我會使用Ogre寫3D方面程式
教授希望我幫忙開發個模擬程式,其中除了3D顯示外,最重要的就是物理模擬了

那不用說,Ogre除了原生的ODE外,我就只會OgreNewt
(使用Newton為名的物理引擎所開發的套件)
接著在討論區找回失去的記憶時
才發現一直以為都沒更新的OgreNewt竟然出了OgreNewt2
雖然還沒有Release出來,不過從SVN抓下來的範例,大部分編譯後都可以使用
(目前剩下Ragdoll沒成功)
就在最近決定,轉換原先開發的版本到目前最新的OgreNewt2

在稍微試用過之後的感想
OgreNewt2在一些地方與原先最大的不用在於
不少的物件使用更為直接與便利
例如:Joint物件不需要在加個BasicJoint的namespace
連接時也不需要再加入World的引數
不過最強大之處還是因為它使用了去年才發表最新的Newton 2.x版的引擎
從裡面所附的範例,從不倒翁,陀螺到破碎的功能都已經有辦法實現
而且碰撞區(Collision)的使用已經從原先簡單幾何與凸面包覆(Convex Hull)
到連Mesh與Terian都可以建立,而且不是原先的TreeCollision而已
想想真令人高興,可惜OgreNewt2還沒有包含這樣的功能
想使用就得自己開發
但至少已經有了這項可能性

可以玩的東西還很多,等著之後再寫教學吧
(不知道有沒有空啊)