青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

麒麟子

~~

導航

<2013年3月>
242526272812
3456789
10111213141516
17181920212223
24252627282930
31123456

統計

常用鏈接

留言簿(12)

隨筆分類

隨筆檔案

Friends

WebSites

積分與排名

最新隨筆

最新評論

閱讀排行榜

評論排行榜

irrlicht引擎:實現天龍八部的RPG角色換裝

看了看時間,已經3點過了,突然想寫點什么,卻又不知從何說起。

那就從今天這個用irrlicht做天龍八部的模型換裝說起吧。

 

也不知道是為什么,最近又搗鼓起了OGRE和irrlicht. 并且,總想用irrlicht實現一些OGRE中的東西。

當然,這不是商業項目,也沒有商業目的,純屬蛋疼而已。

 

一切行動的由來,都來自于vczh那天晚上的舉動。

記得有一天晚上在群里聊天,大伙就稱贊各位菊苣是多么的厲害。

最后vc發了一個自己的桌面截圖說:讓你們看看菊苣是如何練成的(這不是原話,和話的字眼有出入,在此不想負任何責任,如果真有想看的,去翻群的聊天記錄)

那天晚上,我想了很久。想想自己自從轉做頁游以后,是如何虛渡光陰的。

終于忍不住了,翻開了自己的移動硬盤,看看自己曾經做過的小東西。90%是建好工程就沒理了。

這才明白,我花在思考上的時間遠遠大于了行動。 于是,我決定改變自己,找回那個真的我。

 

3D游戲是我的真愛, 真愛到就算畫面差一點,只要是3D,我也會很喜歡。

于是,我覺得自己還是應該接著先前的路走下去。 什么服務器,什么 AS3. 都是浮云, 不喜歡就是不喜歡。

私下又開始研究irrlicht了。

猛地一發現,自己是多么的搞笑, 從09年到11年,一直在做引擎開發, 也翻過irrlicht和ogre無數遍。 卻從來就沒有寫完過一個完整的DEMO。

連功能測試用例都沒有寫過。突然覺得之前的一些設計似乎有些脫離了實際。沒有真正使用過,又怎知如何是好,如何是壞呢?

 

這一次是真的玩irrlicht了, 中間也糾結過是不是OGRE更適合。 但在目前這個時間有限的空間下,我更愿意玩irrlicht.小巧,輕便。 當然,意味著更多東西要自己實現。 不過對于一個代碼控來說,也反而更自得其樂。 正好可以在短路的時候,去參考一下其它引擎,用來擴充irrlicht.

我要做的不是把irrlicht整得牛B,而是想自己弄弄,加上移動平臺的崛起,我覺得irrlicht更加適合吧。 據說gameloft也有使用(僅是據說)。

 

可能很多兄弟會說我這講的東西,其實就是一坨屎了。 不過,我覺得再壞的評論,也表示一種關注。 批評好過于無視啊~~~~

----------------------------------------------------------下面說說我遇上的糾結------------------------------------------------

糾結1:換裝需要場景節點配合

  在irrlicht中,并沒有提供普通引擎中的submesh或者bodypart這種東西,用于直接支持換裝。 在irrlicht中,如果想要換裝,最直接的方法就是依賴于場景結點

比如,在我的示例中,可以更換頭發,帽子,衣服,護腕,靴子,面容。 那就需要7個場景節點,1個作為根節點,用于控制整個角色的世界坐標,平移,縮放,旋轉等屬性。另外6個場景節點則分別綁有各個部件的模型

貼一下我的角色類的代碼,行數不多

class CCharactor
{
    IrrlichtDevice* m_pDevice;
    IAnimatedMeshSceneNode* m_pBodyParts[eCBPT_Num];
    ISceneNode* m_pRoot;
public:
    CCharactor(IrrlichtDevice* pDevice)
        :m_pDevice(pDevice)
    {
        memset(m_pBodyParts,0,sizeof(m_pBodyParts));
        m_pRoot = pDevice->getSceneManager()->addEmptySceneNode(NULL,12345);
    }
    void changeBodyPart(ECharactorBodyPartType ePartType,stringw& meshPath,stringw& metrialPath)
    {
        ISceneManager* smgr = m_pDevice->getSceneManager();

        IAnimatedMeshSceneNode* pBpNode = m_pBodyParts[ePartType];
        IAnimatedMesh* pMesh = smgr->getMesh(meshPath.c_str());
        if(pMesh==NULL)
            return;

        if(pBpNode==NULL)
        {
            pBpNode = smgr->addAnimatedMeshSceneNode(pMesh,m_pRoot);
            m_pBodyParts[ePartType] = pBpNode;
        }
        else
        {
            pBpNode->setMesh(pMesh);
        }
        ITexture* pTexture = m_pDevice->getVideoDriver()->getTexture(metrialPath.c_str());
        if(pTexture)
            pBpNode->setMaterialTexture(0,pTexture);
    }
};

 

//然后,我用了一個結構體來構建部件信息

struct SBodyPartInfo
{
    stringw Desc;
    ECharactorBodyPartType Type;
    stringw MeshPath;
    stringw MeterialPath;
};

 

糾結2:共享骨骼

首先,irrlicht 1.8中對OGRE模型的格式支持在代碼中,最高只看到了1.40版本的解析,更高的就會被無視。 天龍八部的模型有幾個是1.30的,而用于換裝和主角的,都是1.40的。 可能是解析不全的原因,導致1.40的骨骼動畫無法正常播放。 這個問題整了幾個小時,沒有解決,明天繼續

其次,多個模型共享骨骼只能通過場景節點的useAnimationFrom來完成,并且傳入的是一個Mesh參數。這點讓人蛋疼, 天龍八部的角色動作是分開了的,不同的攻擊動作是一個skeleton文件。 想要實現共享,有點麻煩。

 

糾結3:模型文件格式

irrlicht不像OGRE那樣有一個強大且成熟的模型文件格式,雖然提供了.irr格式,但僅是用于irrEdit的場景信息輸出。先看一張圖

image

這張圖是irrlicht samples中的MeshViewer的提示框內容。 上面列出了可以支持的模型文件類型。 大家可以看看,又有多少模型格式是可以直接拿來放到項目上用的呢? mdl和ms3d可以考慮,dae的話,我在開源游戲0 A.D. 中見到使用過。 其它的話,就完全不熟悉了。 OGRE的 .mesh支持也不完全。 難道真要自己整一個。

我能想到的,就是選一個插件完整和模型和動畫格式都比較好的作為與美術工具交互的格式。 自己再寫一個工具,轉換成自己的格式。

 

糾結4:硬件蒙皮

我以為像NIKO那樣的技術狂,怎么會放掉這一個特性。 很高興地在場景節點上發現了硬件蒙皮的函數接口。但一看注釋,把我咽著了。

//! (This feature is not implemented in irrlicht yet)
virtual bool setHardwareSkinning(bool on);

 

其它地方,還沒有去整,就先不發表言論了。 繼續著這個很傻B,很天真的搗鼓之路。

上個圖,紀念一下我的irrlicht產物。

 

布衣

image

 

換了身盔甲

image

 

換了帽子和靴子

image

 

PS:頭發沒有紋理,所以是白的。

posted on 2013-03-24 04:08 麒麟子 閱讀(3668) 評論(0)  編輯 收藏 引用 所屬分類: Game and EngineIrrlicht

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩亚洲欧美一区二区三区| 国产精品久久久久久久久免费 | 99视频在线观看一区三区| 久久综合99re88久久爱| 亚洲国产黄色| 亚洲国产片色| 欧美系列电影免费观看| 欧美中文字幕在线| 裸体一区二区三区| 一区二区三区四区蜜桃| 午夜精品久久久久久久久久久| 国产午夜精品久久| 亚洲丁香婷深爱综合| 欧美日韩一区二区三区视频| 欧美一区二区视频在线| 久久九九免费视频| 999亚洲国产精| 欧美一区二区三区播放老司机| 亚洲国产另类精品专区 | 久久成人综合网| 可以看av的网站久久看| 一本色道婷婷久久欧美| 欧美一区二区三区在线免费观看| 亚洲国产精品va| 91久久精品网| 99re这里只有精品6| 亚洲成色777777女色窝| 欧美日韩美女在线观看| 久久综合九色综合久99| 欧美日韩国产专区| 麻豆精品精品国产自在97香蕉| 欧美另类一区二区三区| 久久久午夜精品| 国产精品久久久久久超碰| 亚洲国产高清一区二区三区| 国产欧美日韩亚洲一区二区三区| 亚洲国产精品久久久久秋霞不卡 | 欧美刺激午夜性久久久久久久| 亚洲一区二区三区四区视频| 久久男女视频| 久久国产精品99国产精| 欧美午夜一区二区| 亚洲欧洲一区二区三区久久| 一区二区三区在线看| 亚洲女爱视频在线| 亚洲免费在线精品一区| 欧美激情综合网| 欧美大片va欧美在线播放| 国产偷国产偷精品高清尤物| 一区二区三区四区蜜桃| 99综合电影在线视频| 欧美福利电影网| 欧美成人乱码一区二区三区| 一色屋精品视频在线观看网站| 亚洲欧美日韩在线高清直播| 亚洲免费综合| 国产精品免费看| 亚洲视频在线观看| 亚洲欧美日韩综合国产aⅴ| 国产精品成人一区二区| aa级大片欧美| 亚洲欧美一区二区三区久久| 国产精品qvod| 午夜精品一区二区三区电影天堂| 性欧美精品高清| 国产亚洲一本大道中文在线| 香蕉久久一区二区不卡无毒影院| 久久精品中文字幕免费mv| 国产日韩三区| 久久久蜜臀国产一区二区| 美女脱光内衣内裤视频久久网站| 激情欧美一区| 老司机午夜精品| 亚洲美女视频在线观看| 亚洲午夜伦理| 国产伦精品一区二区三区| 新狼窝色av性久久久久久| 麻豆国产va免费精品高清在线| 在线观看视频日韩| 欧美激情一区二区三区蜜桃视频| 日韩视频精品| 久久久久国产一区二区三区四区| 激情五月综合色婷婷一区二区| 美女任你摸久久| 亚洲免费电影在线| 久久精品青青大伊人av| 亚洲第一精品夜夜躁人人躁| 欧美精品三级| 午夜视频在线观看一区二区| 久久在线视频在线| 亚洲欧美日韩精品在线| 亚洲激情啪啪| 欧美日韩在线电影| 欧美亚洲一区| 亚洲电影第三页| 亚洲欧美日韩专区| 亚洲国产欧美不卡在线观看 | 亚洲天堂免费在线观看视频| 久久视频在线看| 99视频精品| 韩国精品在线观看| 欧美日韩久久| 久久看片网站| 亚洲在线观看免费视频| 亚洲高清视频一区| 久久成人av少妇免费| 夜夜嗨av一区二区三区四区| 国产自产v一区二区三区c| 欧美日本二区| 麻豆久久久9性大片| 亚洲欧美激情四射在线日 | 国产色产综合色产在线视频| 欧美福利网址| 久久久久久久久久久成人| 中文亚洲欧美| 亚洲区免费影片| 美日韩精品视频免费看| 久久精品1区| 午夜精品一区二区三区在线| av72成人在线| 亚洲区第一页| 亚洲国产乱码最新视频 | 欧美激情五月| 欧美不卡一卡二卡免费版| 久久久久国产精品一区二区| 亚洲午夜一级| 亚洲性xxxx| 一区二区三区偷拍| 在线一区二区三区四区五区| 亚洲精选一区| 99精品国产高清一区二区| 91久久在线观看| 亚洲国产精品va在看黑人| 免费久久99精品国产自| 久久在线免费| 欧美91大片| 亚洲第一毛片| 亚洲茄子视频| 一区二区三区高清在线观看| 日韩一区二区精品视频| 日韩视频永久免费观看| 亚洲免费观看视频| 在线一区二区三区四区| 亚洲在线一区二区三区| 午夜视频一区| 久久天堂国产精品| 欧美成人精品在线观看| 欧美激情一区二区三区在线| 欧美精品在线看| 国产精品观看| 国内偷自视频区视频综合| 在线日韩视频| 日韩亚洲精品视频| 亚洲制服丝袜在线| 欧美一区视频| 欧美www视频| 亚洲人成免费| 亚洲综合色激情五月| 久久精品国产亚洲aⅴ| 欧美91大片| 国产精品高潮呻吟| 激情综合中文娱乐网| 蜜桃伊人久久| 欧美一区二区三区免费大片| 欧美专区在线播放| 欧美刺激性大交免费视频| 欧美视频网站| 激情综合色丁香一区二区| 亚洲美女在线一区| 新狼窝色av性久久久久久| 另类av导航| 中文国产一区| 久久综合久久综合九色| 欧美视频不卡中文| 伊人激情综合| 亚洲一区日韩在线| 欧美成人免费在线视频| 亚洲调教视频在线观看| 久久亚洲国产精品一区二区 | 亚洲自拍偷拍视频| 免费成人小视频| 国产精品呻吟| 9l国产精品久久久久麻豆| 久久久久久久久久久久久女国产乱| 亚洲福利在线观看| 欧美在线www| 欧美性理论片在线观看片免费| 精品51国产黑色丝袜高跟鞋| 亚洲已满18点击进入久久| 欧美国产乱视频| 午夜国产一区| 国产精品美女一区二区在线观看| 亚洲国产精品一区| 久久精品二区三区| 亚洲视频一二三| 欧美人与禽猛交乱配| 亚洲欧洲一区二区在线播放| 久久久蜜桃精品| 午夜久久黄色| 国产精品欧美日韩|