作者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