bool ezSceneViewContext::UpdateThumbnailCamera(const ezBoundingBoxSphere& bounds) { ezView* pView = nullptr; if (ezRenderWorld::TryGetView(m_hView, pView)) { pView->SetViewRenderMode(ezViewRenderMode::Default); pView->SetRenderPassProperty("EditorSelectionPass", "Active", false); pView->SetExtractorProperty("EditorShapeIconsExtractor", "Active", false); pView->SetExtractorProperty("EditorGridExtractor", "Active", false); pView->SetRenderPassProperty("EditorPickingPass", "PickSelected", true); } EZ_LOCK(m_pSceneContext->GetWorld()->GetWriteMarker()); const ezCameraComponentManager* pCamMan = m_pSceneContext->GetWorld()->GetComponentManager<ezCameraComponentManager>(); if (pCamMan) { for (auto it = pCamMan->GetComponents(); it.IsValid(); ++it) { const ezCameraComponent* pCamComp = it; if (pCamComp->GetUsageHint() == ezCameraUsageHint::Thumbnail) { m_Camera.LookAt(pCamComp->GetOwner()->GetGlobalPosition(), pCamComp->GetOwner()->GetGlobalPosition() + pCamComp->GetOwner()->GetGlobalDirForwards(), pCamComp->GetOwner()->GetGlobalDirUp()); m_Camera.SetCameraMode(ezCameraMode::PerspectiveFixedFovY, 70.0f, 0.1f, 100.0f); m_CullingCamera = m_Camera; return true; } } } bool bResult = !FocusCameraOnObject(m_Camera, bounds, 70.0f, -ezVec3(5, -2, 3)); m_CullingCamera = m_Camera; return bResult; }
bool ezAnimationClipViewContext::UpdateThumbnailCamera(const ezBoundingBoxSphere& bounds) { return !FocusCameraOnObject(m_Camera, bounds, 45.0f, -ezVec3(5, -2, 3)); }