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

麒麟子

~~

導(dǎo)航

<2009年10月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

統(tǒng)計(jì)

常用鏈接

留言簿(12)

隨筆分類

隨筆檔案

Friends

WebSites

積分與排名

最新隨筆

最新評論

閱讀排行榜

評論排行榜

irrlicht引擎:實(shí)現(xiàn)天龍八部的RPG角色換裝

看了看時(shí)間,已經(jīng)3點(diǎn)過了,突然想寫點(diǎn)什么,卻又不知從何說起。

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

 

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

當(dāng)然,這不是商業(yè)項(xiàng)目,也沒有商業(yè)目的,純屬蛋疼而已。

 

一切行動(dòng)的由來,都來自于vczh那天晚上的舉動(dòng)。

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

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

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

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

這才明白,我花在思考上的時(shí)間遠(yuǎn)遠(yuǎn)大于了行動(dòng)。 于是,我決定改變自己,找回那個(gè)真的我。

 

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

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

私下又開始研究irrlicht了。

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

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

 

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

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

 

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

----------------------------------------------------------下面說說我遇上的糾結(jié)------------------------------------------------

糾結(jié)1:換裝需要場景節(jié)點(diǎn)配合

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

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

貼一下我的角色類的代碼,行數(shù)不多

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);
    }
};

 

//然后,我用了一個(gè)結(jié)構(gòu)體來構(gòu)建部件信息

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

 

糾結(jié)2:共享骨骼

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

其次,多個(gè)模型共享骨骼只能通過場景節(jié)點(diǎn)的useAnimationFrom來完成,并且傳入的是一個(gè)Mesh參數(shù)。這點(diǎn)讓人蛋疼, 天龍八部的角色動(dòng)作是分開了的,不同的攻擊動(dòng)作是一個(gè)skeleton文件。 想要實(shí)現(xiàn)共享,有點(diǎn)麻煩。

 

糾結(jié)3:模型文件格式

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

image

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

我能想到的,就是選一個(gè)插件完整和模型和動(dòng)畫格式都比較好的作為與美術(shù)工具交互的格式。 自己再寫一個(gè)工具,轉(zhuǎn)換成自己的格式。

 

糾結(jié)4:硬件蒙皮

我以為像NIKO那樣的技術(shù)狂,怎么會放掉這一個(gè)特性。 很高興地在場景節(jié)點(diǎn)上發(fā)現(xiàn)了硬件蒙皮的函數(shù)接口。但一看注釋,把我咽著了。

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

 

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

上個(gè)圖,紀(jì)念一下我的irrlicht產(chǎn)物。

 

布衣

image

 

換了身盔甲

image

 

換了帽子和靴子

image

 

PS:頭發(fā)沒有紋理,所以是白的。

posted on 2013-03-24 04:08 麒麟子 閱讀(3664) 評論(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>
            欧美日韩一区二区三区免费| 日韩视频免费观看| 国产亚洲第一区| 国产精品日韩在线播放| 蜜桃av噜噜一区| 国产美女精品一区二区三区| 国产精品美女999| 国产日韩一区| 在线观看欧美精品| 99国产精品私拍| 午夜精彩视频在线观看不卡| 久久精品主播| 亚洲成在线观看| 亚洲人成亚洲人成在线观看| 亚洲午夜小视频| 久久久精品一区| 欧美日韩福利在线观看| 欧美视频国产精品| 国内精品**久久毛片app| 亚洲黑丝一区二区| 亚洲综合激情| 欧美国产日本在线| 亚洲午夜三级在线| 麻豆成人综合网| 国产精品素人视频| 亚洲国产欧美日韩精品| 亚洲欧美另类综合偷拍| 欧美不卡一卡二卡免费版| 亚洲视频免费| 欧美日韩国产黄| 狠狠色综合色区| 亚洲综合色在线| 亚洲第一网站免费视频| 欧美一区二区播放| 欧美视频专区一二在线观看| 亚洲激情影院| 麻豆久久久9性大片| 亚洲女同在线| 欧美日韩精品免费看| 在线成人激情视频| 久久精品视频在线观看| 一区二区激情小说| 免费久久99精品国产自在现线| 国产精品一香蕉国产线看观看 | 国产精品国产三级国产专播品爱网| 国产亚洲福利一区| 亚洲欧美激情视频在线观看一区二区三区| 久久一本综合频道| 午夜免费久久久久| 国产精品乱人伦中文| 中文亚洲视频在线| 亚洲激情精品| 老妇喷水一区二区三区| 在线观看精品视频| 久久亚洲不卡| 久久偷看各类wc女厕嘘嘘偷窃| 国产亚洲一区二区三区| 久久av一区| 午夜精品久久99蜜桃的功能介绍| 欧美日韩在线播放一区二区| 日韩午夜一区| 国产精品尤物| 国产精品视频xxxx| 欧美一区二区三区四区在线观看地址 | 欧美一区观看| 亚洲专区免费| 国产精品影院在线观看| 久久riav二区三区| 久久国产欧美日韩精品| 在线观看亚洲a| 欧美激情视频免费观看| 麻豆成人精品| 国产精品99久久久久久宅男| av成人福利| 国产女主播一区二区三区| 久久精品欧洲| 免费不卡在线观看av| 亚洲精选久久| 亚洲神马久久| 国产日韩欧美精品在线| 欧美 日韩 国产精品免费观看| 米奇777超碰欧美日韩亚洲| 91久久亚洲| 在线综合欧美| 国产日韩欧美综合精品| 麻豆成人在线播放| 欧美日韩999| 性色av一区二区三区| 久久精品国产清自在天天线 | 国产一区二区三区黄| 欧美成人精品一区二区三区| 欧美伦理视频网站| 欧美一区二区大片| 久久婷婷国产麻豆91天堂| 亚洲视频网站在线观看| 亚洲综合视频在线| 亚洲人成人99网站| 欧美亚洲综合网| 日韩午夜电影在线观看| 亚洲一区区二区| 亚洲人精品午夜| 欧美一区在线直播| 一区二区三区免费看| 久久精品1区| 亚洲欧美激情一区二区| 男人插女人欧美| 久久精品亚洲一区二区三区浴池| 欧美精品成人91久久久久久久| 久久国产精品久久久久久电车| 欧美精品午夜视频| 欧美成年人网| 国产一区二区0| 一区二区三区欧美在线| aa成人免费视频| 久久久久久久久久看片| 性视频1819p久久| 欧美日韩一区二区视频在线| 欧美黄免费看| 亚洲高清久久久| 久久看片网站| 久久久久综合网| 免费视频亚洲| 能在线观看的日韩av| 久久精品理论片| 国产精品久久综合| 亚洲人体大胆视频| 亚洲经典在线| 免费成人高清视频| 欧美激情a∨在线视频播放| 国产亚洲一区二区在线观看| 亚洲永久免费精品| 亚洲欧美日韩另类精品一区二区三区| 欧美激情在线免费观看| 亚洲国产另类精品专区| 亚洲黄色天堂| 牛人盗摄一区二区三区视频| 免费成人黄色| 激情懂色av一区av二区av| 午夜精品在线视频| 亚洲欧美乱综合| 国产欧美视频一区二区三区| 欧美有码在线观看视频| 久久精品首页| 亚洲第一精品久久忘忧草社区| 另类av导航| 亚洲激情视频在线| 亚洲丝袜av一区| 国产精品视频导航| 欧美一级专区| 噜噜噜噜噜久久久久久91| 亚洲国产一区二区a毛片| 女女同性女同一区二区三区91| 亚洲大片av| 亚洲综合好骚| 国产亚洲欧美日韩在线一区| 久久精品九九| 亚洲国产欧美一区二区三区同亚洲 | 久久综合狠狠综合久久激情| 一区二区三区中文在线观看| 久久精品成人一区二区三区蜜臀 | 午夜精品久久久久久久99水蜜桃| 国产欧美一区二区精品仙草咪 | 久久大逼视频| 亚洲国产精品嫩草影院| 欧美成人免费va影院高清| 一区二区三区色| 久久综合色8888| 一区二区久久久久| 国产欧美日韩在线播放| 麻豆精品视频在线观看| 99国产精品国产精品久久 | 亚洲精品国产精品乱码不99| 香港成人在线视频| 精品成人一区二区三区| 欧美日韩精品一区二区| 欧美亚洲免费| 99精品99| 麻豆精品91| 国产精品免费看久久久香蕉| 欧美大香线蕉线伊人久久国产精品| 99热免费精品在线观看| 国产乱码精品一区二区三区五月婷| 久久成人免费| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 久久久欧美精品| 亚洲美女福利视频网站| 久久久成人精品| 一本色道久久加勒比精品| 狠狠色伊人亚洲综合网站色 | 禁断一区二区三区在线| 欧美日韩免费观看一区| 久久精品在这里| 亚洲一区二区三区免费观看| 亚洲第一综合天堂另类专| 久久三级福利| 欧美一二区视频| 在线综合亚洲欧美在线视频| 91久久精品国产91久久性色tv| 国产一区二区在线免费观看| 国产精品久久久久久久一区探花 |