clq
    
    
    
		
        浏览(0) + 
        2009-01-20 16:15:20 发表
        
编辑
         
        
        
        
        关键字: 
        
 
        
        
        
                    [2019-02-22 11:16:43 最后更新] 
        
                
        Ogre游戏引擎鼠标选取物体演示
    * 12/31
    * 2008
	图形图像 | 游戏开发 	1725 次查看
    * 上一条:给希望成为游戏美术设计师的朋友
    * 下一条:所有绘画的核心灵魂——素描知识
-
  声明:
  该演示只是起到抛砖引玉的作用,转载请保持本文章完整性,请保持作者信息。
  由于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)所以先把这个东西发出来,见笑见笑
        
        
        
        		
		        
                
                
     
    
 
	
	
     
    
       
    
    clq
    
    
    
    
    
    		    
    
          
              
    	blog.yam.com/xnaOgre/category/1557742
這是大陸微景公司開發的線上虛擬場景系統,用途是能夠在網頁上呈現虛擬實境的3D場景,使用方式便是將3dMax做好的場景利用oFusion輸出之後,再透過該公司的編輯器輸出檔案放到網頁上,Client端下載瀏覽器外掛之後就可以線上觀看整個場景。
網頁上提供免費版,可以使用所有功能,只是缺少客製化的支援。  該程式在水的呈現方面使用Hydrax lib,物理部分有用到opcode,不過我認為沒什麼用到,只有做一些邊界檢查,此外還用Theora來導入影片檔。場景的部分則是利用了 ofusion的osm檔,不過我記得oFusioncCE版應該是社群版本也就是不能用在商業用途,anyway,總之也就是Ogre的一種虛擬實境應用。
    
    
     
 
	 
    
       
    
    clq
    
    
    
    
    
    
    
          
              
    	OGRE團隊裡DirectX10的開發者Assaf Raman寫了一個在OGRE程式中嵌入D3D或是OpenGL程式碼的範例,雖然正常來說不建議在使用引擎的程式裡面直接嵌入低階的程式碼,因為通常一個完善的引擎已經提供了大多數會使用到的功能,如果你想使用一個功能卻做不到,有很大的機率是你不會使用(找不到?),或是使用的觀念錯誤(有其他更好的解),就算引擎本身沒提供,也應該由引擎維護者去新增或是修改。倘若你真的有特殊需求或是想做些實驗,那這個範例或許會對你有用處。
http://assaframan2.googlepages.com/NativeRenderGLAndD3d9.zip
    
    
     
 
	 
	
    NEWBT官方QQ群1: 276678893
    可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
    但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
    验证问题说明申请入群原因即可.