Ogitor中Gizmo的繪製技巧

2021-08-14 08:38:15 字數 645 閱讀 3508

ogitor中gizmo的繪製技巧

gizmo可以理解為座標軸,就是3d軟體裡3個軸並可以調整物件的各種變換屬性的東西.

繪製gizmo其實很簡單,這裡只說箭頭的繪製中的一些技巧.一開始我的做法是max裡建模,如圖

然後建立3個模型物件,以z為父級(我的座標系是z朝上), x,y分別掛接z節點

按照ogitor中的介紹,需要將z關閉繪製,結果,繪製順序有錯誤

正確的效果應該是藍色(z軸,朝上)蓋住綠色的y軸.

這就涉及到x,y,z軸模型在z關閉後的繪製順序,需要通過檢查物件的位置,按照從遠到近的順序進行繪製.

但是一開始每個軸的單位座標都是在箭頭的下部,因此,怎麼旋轉攝像機,都只能出1個繪製順序.這就是問題所在. 因此,決定重新修改箭頭的本地座標系,調整為下圖所示

max中,將箭頭作為本地座標原點, 並修改排序演算法,對z關閉後的物件按照畫家演算法排序,如圖:

繪製效果正確.

解決這個問題時,我查閱了ogitor**,並在ogitor編輯器資源裡找到了箭頭資源,但是**中並沒有用到這個資源,而是改用

axisgizmo::createmesh(ogre::scenemanager *manager, ogre::string name)

函式用**方式建立gizmo,估計也是和我碰到一樣的問題吧

Ogitor的安裝與使用

ogitor大致用了用,感覺挺不錯。可執行版本的操作說明見 如果要編譯ogitor的原始碼的話,還有些麻煩 1.要求安裝qtsdk及ogre1.7的sdk 2.設定環境變數 ogre cthugha 內容為ogresdk路徑 ogre byatis 內容為ogresdk路徑 3.使用cmake2.8...

基於Ogitor的編輯器

1 介面美化 漢化 ogitor本身的漢化只是介面一小部分,內部不支援中文,內部使用中文會顯示亂碼 2 模仿3dmax和cryengine的lod輔助網格,網格捕捉。3 與現實對應的座標系對映,正交檢視下的精確定位 ogitor中不是正交投影,僅僅是鎖定鏡頭方向,所以不能精確定位 4 完全模仿3dm...

基於Ogitor的編輯器

1 介面美化 漢化 ogitor本身的漢化只是介面一小部分,內部不支援中文,內部使用中文會顯示亂碼 2 模仿3dmax和cryengine的lod輔助網格,網格捕捉。3 與現實對應的座標系對映,正交檢視下的精確定位 ogitor中不是正交投影,僅僅是鎖定鏡頭方向,所以不能精確定位 4 完全模仿3dm...