此小節主要學習 :
1、在3d空間中的幾個基本操作。2、場景組織方式2、場景是如何被組織的。
3、操作不同的3d空間。
故意提前講解。
場景的組織方式就像一棵倒立的樹,它由根部(root)不斷進行擴充套件。
每當有新的模型需要載入到場景中,我們必須先把它掛在root節點或者是root節點的子節點(樹枝)上。
場景是由n個節點組成,而每個節點上掛載這使用者匯入的模型。但是這n個節點都是root節點的子孫們。
1、幾個基本操作
1)建立場景節點
在上一節中我們建立了乙個人物模型,並把它載入到了場景中,但是它是直接attach在rootnode(根節點)上的。
現在我們將建立乙個新的場景節點,並將3d模型繫結其上。
老**是:
ogre::entity*ent=mscenemgr->createentity("myentity","sinbad.mesh");
mscenemgr->getrootscenenode()->attachobject(ent);
我們改為:
ogre::entity*ent=mscenemgr->createentity("myentity","sinbad.mesh");
ogre::scenenode*node=mscenemgr->createscenenode("node1");
mscenemgr->getrootscenenode()->addchild(node);
node->attachobject(ent);
編譯、執行。結果一樣。
2)場景根節點
呼叫mscenemgr->getrootscenenode()函式將會返回場景的根結點。
場景結點是場景管理器的乙個成員變數。當我們想要什麼顯示的時候,我們需要以一種方式把它繫結到場景根
結點上或者乙個派生類或子類的結點上。簡而言之,子結點需要和根結點保持結點與結點之
間的聯絡,否則的話,子結點上的模型就得不到渲染。就像變數名所暗示的那樣,場景根結
點是場景的根。因此整個場景將會以某種方式繫結到場景的根結點上。
3)設定場景節點的位置
node->setposition(10,0,0);
setposition()用了設定節點的位置,但是這個位置是相對于父節點的位置的。
通過下列**進行說明:(建立實體2,將其繫結在node2上,但是node2被設定為以前node的子節點)
原**基礎上加:
entity *ent2 = mscenemgr->createentity("myentity2","sinbad.mesh");
scenenode *node2 = mscenemgr->createscenenode("node2");
node->addchild(node
2);node2->setposition(0,10,20);
node2->attachobject(ent2);
執行結果:
模型1的位置是(10,0,0),模型2的位置是(10,10,20)。
3、操作不同3d空間在後邊章節講解。
**:
Ogre 初學指導 4
如果有疑問或發現錯誤可發e mail聯絡 swazer z 126.com 謝謝!空間座標系統及其操作 但是這一節詳細的講解關於ogre中的3d空間操作。圖ogrespace 上圖是ogre中的座標系統,豎直方向是y軸,左右為x軸,垂直使用者介面的是z軸。這個圖我們必須要時刻了然於胸否則很容易方向混...
Ogre 初學指導 7
幀監聽 滑鼠控制 渲染模式及計時器 此節依然是講解幀監聽中的一些操作 滑鼠 mouse 渲染模式 render mode 及計時器 timer 一 滑鼠控制 1 首先建立mouse物件,並用輸入系統例項化輸入物件 mouse 如 ois mouse mouse mouse static case m...
軟體測試面試指導初學筆記整理
1 需要的知識 紮實的計算機基礎知識,作業系統,資料庫,資料結構,程式語言,測試理論等等 2 認證 軟體評測師 3 軟體測試的知名 51testing www.51testing.com 測試時代 www.testage.org 4 基礎知識 1.c語言。資料型別,運算子,陣列,程式控制流,if e...