Ogre游戏引擎鼠标选取物体演示

来源:互联网 发布:淘宝网有多少买家 编辑:程序博客网 时间:2024/05/21 05:36

 

Ogre游戏引擎鼠标选取物体演示

韩举(喝水不上火)

http://www.hjpdiy.com
http://hjblog.blogchina.com


声明:
该演示只是起到抛砖引玉的作用,转载请保持本文章完整性,请保持作者信息。

由于Ogre推出了最新的Release1版,为了适应该版本所以延迟了几天,不过还好问题解决了,主要是(GUI方面的)。

Ogre是开源的图形渲染引擎见http://www.ogre3d.org,该引擎很有名,在网上可以找到很多相关的信息。

言归正传,这个演示程序演示了在Ogre中进行鼠标选取物体,而且还能检测出鼠标具体击中了该物体的哪个面,用专业点的说法就是"射线与面(三角型)的碰撞检测"。

注意:

该程序采用Esc键退出。

该演示程序为VC7.1(2003)工程,需要最新的Ogre 1.0.0 Release的支持。

编译前的目录设置:(注意下面目录为我机器目录,请设为你自己的目录)

包含文件目录(include)

D:/OgreRc1/ogrenew/Dependencies/include/
D:/OgreRc1/ogrenew/Dependencies/include/CEGUI
D:/OgreRc1/ogrenew/OgreMain/include

库文件设置(lib)

D:/OgreRc1/ogrenew/OgreMain/lib/debug
D:/OgreRc1/ogrenew/Dependencies/lib/Debug

重点函数

getClickAt函数:该函数主要是调用Ogre的Ray检测判断哪个物体被选中,该函数可以用于在多个物体中判断鼠标选中的物体。

PickTest函数:该函数用于判断"鼠标是否选中某个物体(调用getClickAt函数),以及选中该物体的哪个面"。

HJSDK命名空间:我自己仿照Ogreode写的碰撞检测引擎,用来检查碰撞面。

代码下载(编译后如果不能正常运行,请把可执行文件复制到 /ogrenew/Samples/Common/bin/Debug/下)

http://www.hjpdiy.com/docdoc/OgrePickTest.rar 注意该文件已经针对(OGRE 1.0.0 Final Feb 23, 2005 - 03:44 PM by sinbad)进行了修正。

 

 

可能的问题:
对于有骨骼动画的mesh可能不能正常识别。

其实一开始想写个简单的 "3d魔方程序"然后发布出来,结果现在突然想学学Cg动画(maya)所以先把这个东西发出来,见笑见笑

 

原创粉丝点击