editor: fixed camera snapping on model import (don't copy all camera properties, some could be uninitialized)

This commit is contained in:
Turánszki János
2023-04-09 10:43:44 +02:00
parent daae2dd380
commit ebbf64b63f
+21 -9
View File
@@ -338,19 +338,31 @@ void EditorComponent::Load()
Entity entity = GetCurrentScene().cameras.GetEntity(camera_count_prev);
if (entity != INVALID_ENTITY)
{
TransformComponent* camera_transform = GetCurrentScene().transforms.GetComponent(entity);
if (camera_transform != nullptr)
{
GetCurrentEditorScene().camera_transform = *camera_transform;
}
CameraComponent* cam = GetCurrentScene().cameras.GetComponent(entity);
if (cam != nullptr)
{
GetCurrentEditorScene().camera = *cam;
EditorScene& editorscene = GetCurrentEditorScene();
editorscene.camera.Eye = cam->Eye;
editorscene.camera.At = cam->At;
editorscene.camera.Up = cam->Up;
editorscene.camera.fov = cam->fov;
editorscene.camera.zNearP = cam->zNearP;
editorscene.camera.zFarP = cam->zFarP;
editorscene.camera.focal_length = cam->focal_length;
editorscene.camera.aperture_size = cam->aperture_size;
editorscene.camera.aperture_shape = cam->aperture_shape;
// camera aspect should be always for the current screen
GetCurrentEditorScene().camera.width = (float)renderPath->GetInternalResolution().x;
GetCurrentEditorScene().camera.height = (float)renderPath->GetInternalResolution().y;
editorscene.camera.width = (float)renderPath->GetInternalResolution().x;
editorscene.camera.height = (float)renderPath->GetInternalResolution().y;
TransformComponent* camera_transform = GetCurrentScene().transforms.GetComponent(entity);
if (camera_transform != nullptr)
{
editorscene.camera_transform = *camera_transform;
editorscene.camera.TransformCamera(editorscene.camera_transform);
}
editorscene.camera.UpdateCamera();
}
}
}