如何加载OgreSE导出的文件到项目中

本文介绍了一款从Ogrese中抽取核心代码制作的软件,该软件专注于加载Ogrese导出的文件,并具备添加实体对象的功能。文章特别强调了CSceneView文件中的OnSetFocus函数对于创建摄像机的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将Ogrese中的核心代码抽出来做成了一个软件,这个软件能够加载Ogrese导出的文件。

这款软件的核心是负责加载Ogrese导出文件,并不负责编辑,所以我去除了所有的地形编辑 流体编辑 实体编辑的内容。

但是为了以后方便在场景中加入我的第一人称视角的游戏,所以我还是使他能够加载实体对象。也就是AddObject函数。

 

值得注意的是CSceneView文件中的 OnSetFocus函数

void CSceneView::OnSetFocus(CWnd* pOldWnd)
{
 if (!m_pCamera)
 {
  CSceneDoc* pSceneDoc = (CSceneDoc*)GetDocument();

  Ogre::Camera* pCamera = pSceneDoc->GetSceneManager()->createCamera(Ogre::StringConverter::toString(UINT(this)));
  pCamera->setNearClipDistance(5);
  pCamera->setFarClipDistance(10000);
  Ogre::SceneNode* pNode = pSceneDoc->GetSceneManager()->getRootSceneNode()->createChildSceneNode();
  pNode->setPosition(0,200,0);
  pNode->attachObject(pCamera);
  SetCamera(pCamera);
  m_pRenderWindow->getViewport(0)->setBackgroundColour(pSceneDoc->GetBackgroundColour());
 }

 CRenderView::OnSetFocus(pOldWnd);

 ((CSceneDoc*)GetDocument())->SetActiveView(this);
}

只有使用这个函数才使得摄像机能够被创建了了。

 

 

.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值