【问题标题】:Orbit camera implementation in OGREOGRE 中的轨道相机实现
【发布时间】:2014-05-05 14:04:37
【问题描述】:

由于我是 Ogre3D 的新手,我只是以某种方式设法完成了设计功能,但最终卡在了我的相机实现上:

  • 实现第三人称摄像头
  • 实施轨道相机(相机聚焦(观察)在房间中心的一点)

我只有普通相机的代码。

void Assignment1::createCamera(void){
mCamera = mSceneMgr->createCamera("PlayerCam");  // create the camera
mCamera->setPosition(Ogre::Vector3(0,10,500)); // set its position, direction  
mCamera->lookAt(Ogre::Vector3(0,0,0));
mCamera->setNearClipDistance(5);                 // set the near clip distance
mCameraMan = new OgreBites::SdkCameraMan(mCamera);   // create a default camera controller
}

谁能帮帮我。

【问题讨论】:

    标签: graphics sdk ogre


    【解决方案1】:

    OgreBites 框架(由 Ogre SampleBrowser 使用)在Ogre SdkCameraMan 中提供了相机处理不同选项的示例。实际代码可以在 Ogre 存储库的SdkCameraMan.h 中找到。

    要将模式切换到轨道相机,只需添加以下行:mCameraMan->setStyle(CS_ORBIT);

    一些一般性摘录/指针:

    • 对于轨道摄像机,您可以使用每个摄像机的内置 Ogre 功能来指定战利品目标:mCamera->setAutoTracking(true, mTargetNode);。此外,您还可以像这样防止偏航运动:mCamera->setFixedYawAxis(true);
    • 对于第三人称相机,您只需创建角色的子节点并将其向后移动一点并将相机绑定到它。然后它会跟随你的角色四处走动,并且应该继承它的旋转变化。

    【讨论】:

      猜你喜欢
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      • 2017-02-08
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多