作者pleaselouis (LOUISN)
看板GameDesign
標題[請益] 關於 OGRE 2D顯示的部份
時間Fri Nov 7 17:40:59 2008
小弟正在練習 關於 OGRE 2D的顯示部分
目前的進度是 最前面顯示一張 2D圖片 大約只佔視窗的1/5
剩下的部份 就像是在背景執行3D場景的互動 : 可以 點選 托拉 Mesh等等
但是再加入2D的顯示部份後 由於有採用以下的程式碼:
AxisAlignedBox aabInf;
aabInf.setInfinite();
rect->setBoundingBox(aabInf);
便可以造成讓 2D圖片可以一直顯示於最上層 類似 OverLay的效果 雖然不是...
但是問題來了 由於是使用一個無限大的 BoundingBox 來讓它顯示最上層
因此還會造成 無法跟背景執行的3D場景做互動 也就是 點選 托拉 Mesh等等
如果單純把上述的程式碼註解掉 雖然就可以跟背景執行的3D場景做互動
但是在移動Camera時 背景的Mesh若是跟 2D圖片 有所重疊的情況下
2D圖片便會消失不見 除非再移動Camera 才會有機會讓圖片在顯示出來
因此請教各位前輩 有辦法讓 2D圖片一直顯示最上層 又能跟背景執行的3D場景做互動嗎
謝謝各位的幫忙 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.139.43
1F:→ darkflier:我怎麼第一個想法是skybox才是你想要的 11/07 19:19
2F:→ pleaselouis:請問skybox可以將多張圖片 都顯示在最上層嗎?? 11/07 23:11
3F:推 tainjoy:我記得好像OGRE有直接畫2D圖片的方法,不是用3D的 11/07 23:25
4F:推 tainjoy:或者你可以用OGRE的billboard,不過這種我不確定他是否有 11/07 23:29
5F:→ pleaselouis:我有用SKYBOX 他的圖都在最下層啊 11/07 23:29
6F:→ tainjoy:boundingBox會仿礙到後面的3D物件 11/07 23:30
7F:→ pleaselouis:我是用 Rectangle2D 啦 不過就是會產生我說的問題 11/07 23:33
8F:推 tainjoy:不然的話,如果你是用它的射線來偵測的話,其實所有一直線 11/07 23:35
9F:→ tainjoy:過去的物件都會在結果中,你依距離排序後,再判斷非你第一 11/07 23:36
10F:→ tainjoy:一個圖的BoundingBox的名字之外,的第一個物件,應該就可 11/07 23:36
11F:→ tainjoy:以忽略它了 11/07 23:37
12F:→ pleaselouis:非常謝謝你 我會朝這方面努力看看 多謝你 <(_ _)> 11/07 23:42