bool Camera::toggleVanityMode(bool enable) { // Changing the view will stop all playing animations, so if we are playing // anything important, queue the view change for later if (isFirstPerson() && !mAnimation->upperBodyReady()) { mVanityToggleQueued = true; return false; } if(!mVanity.allowed && enable) return false; if(mVanity.enabled == enable) return true; mVanity.enabled = enable; processViewChange(); float offset = mPreviewCam.offset; if (mVanity.enabled) { setPitch(osg::DegreesToRadians(-30.f)); mMainCam.offset = mCameraDistance; } else { offset = mMainCam.offset; } mCameraDistance = offset; return true; }
bool Camera::toggleVanityMode(bool enable) { // Changing the view will stop all playing animations, so if we are playing // anything important, queue the view change for later if (!mPreviewMode) { mVanityToggleQueued = true; return false; } if(!mVanity.allowed && enable) return false; if(mVanity.enabled == enable) return true; mVanity.enabled = enable; processViewChange(); float offset = mPreviewCam.offset; Ogre::Vector3 rot(0.f, 0.f, 0.f); if (mVanity.enabled) { rot.x = Ogre::Degree(-30.f).valueRadians(); mMainCam.offset = mCamera->getPosition().z; } else { rot.x = getPitch(); offset = mMainCam.offset; } rot.z = getYaw(); mCamera->setPosition(0.f, 0.f, offset); rotateCamera(rot, false); return true; }
void Camera::toggleViewMode() { // Changing the view will stop all playing animations, so if we are playing // anything important, queue the view change for later if (!mAnimation->allowSwitchViewMode()) { mViewModeToggleQueued = true; return; } mFirstPersonView = !mFirstPersonView; processViewChange(); if (mFirstPersonView) { mCamera->setPosition(0.f, 0.f, 0.f); } else { mCamera->setPosition(0.f, 0.f, mCameraDistance); } }
void Camera::toggleViewMode(bool force) { // Changing the view will stop all playing animations, so if we are playing // anything important, queue the view change for later if (!mAnimation->upperBodyReady() && !force) { mViewModeToggleQueued = true; return; } else mViewModeToggleQueued = false; mFirstPersonView = !mFirstPersonView; processViewChange(); if (mFirstPersonView) { mCameraDistance = 0.f; } else { mCameraDistance = mMaxCameraDistance; } }
void Camera::togglePreviewMode(bool enable) { if (mFirstPersonView && !mAnimation->upperBodyReady()) return; if(mPreviewMode == enable) return; mPreviewMode = enable; processViewChange(); float offset = mCameraDistance; if (mPreviewMode) { mMainCam.offset = offset; offset = mPreviewCam.offset; } else { mPreviewCam.offset = offset; offset = mMainCam.offset; } mCameraDistance = offset; }
void Camera::togglePreviewMode(bool enable) { if (mFirstPersonView && !mAnimation->allowSwitchViewMode()) return; if(mPreviewMode == enable) return; mPreviewMode = enable; processViewChange(); float offset = mCamera->getPosition().z; if (mPreviewMode) { mMainCam.offset = offset; offset = mPreviewCam.offset; } else { mPreviewCam.offset = offset; offset = mMainCam.offset; } mCamera->setPosition(0.f, 0.f, offset); }
void Camera::togglePreviewMode(bool enable) { if (mAnimation->isPlaying(MWRender::Animation::Group_UpperBody)) return; if(mPreviewMode == enable) return; mPreviewMode = enable; processViewChange(); float offset = mCamera->getPosition().z; if (mPreviewMode) { mMainCam.offset = offset; offset = mPreviewCam.offset; } else { mPreviewCam.offset = offset; offset = mMainCam.offset; } mCamera->setPosition(0.f, 0.f, offset); }