diff options
Diffstat (limited to 'scene/3d/interpolated_camera.cpp')
-rw-r--r-- | scene/3d/interpolated_camera.cpp | 66 |
1 files changed, 30 insertions, 36 deletions
diff --git a/scene/3d/interpolated_camera.cpp b/scene/3d/interpolated_camera.cpp index 15ee971b7e..9723a686c5 100644 --- a/scene/3d/interpolated_camera.cpp +++ b/scene/3d/interpolated_camera.cpp @@ -28,10 +28,9 @@ /*************************************************************************/ #include "interpolated_camera.h" - void InterpolatedCamera::_notification(int p_what) { - switch(p_what) { + switch (p_what) { case NOTIFICATION_ENTER_TREE: { if (get_tree()->is_editor_hint() && enabled) @@ -48,32 +47,30 @@ void InterpolatedCamera::_notification(int p_what) { if (!node) break; - float delta = speed*get_process_delta_time(); + float delta = speed * get_process_delta_time(); Transform target_xform = node->get_global_transform(); Transform local_transform = get_global_transform(); - local_transform = local_transform.interpolate_with(target_xform,delta); + local_transform = local_transform.interpolate_with(target_xform, delta); set_global_transform(local_transform); if (node->cast_to<Camera>()) { Camera *cam = node->cast_to<Camera>(); - if (cam->get_projection()==get_projection()) { + if (cam->get_projection() == get_projection()) { - float new_near = Math::lerp(get_znear(),cam->get_znear(),delta); - float new_far = Math::lerp(get_zfar(),cam->get_zfar(),delta); + float new_near = Math::lerp(get_znear(), cam->get_znear(), delta); + float new_far = Math::lerp(get_zfar(), cam->get_zfar(), delta); - if (cam->get_projection()==PROJECTION_ORTHOGONAL) { + if (cam->get_projection() == PROJECTION_ORTHOGONAL) { - float size = Math::lerp(get_size(),cam->get_size(),delta); - set_orthogonal(size,new_near,new_far); + float size = Math::lerp(get_size(), cam->get_size(), delta); + set_orthogonal(size, new_near, new_far); } else { - float fov = Math::lerp(get_fov(),cam->get_fov(),delta); - set_perspective(fov,new_near,new_far); + float fov = Math::lerp(get_fov(), cam->get_fov(), delta); + set_perspective(fov, new_near, new_far); } } } - - } } break; @@ -89,25 +86,24 @@ void InterpolatedCamera::_set_target(const Object *p_target) { void InterpolatedCamera::set_target(const Spatial *p_target) { ERR_FAIL_NULL(p_target); - target=get_path_to(p_target); + target = get_path_to(p_target); } +void InterpolatedCamera::set_target_path(const NodePath &p_path) { -void InterpolatedCamera::set_target_path(const NodePath& p_path){ - - target=p_path; + target = p_path; } -NodePath InterpolatedCamera::get_target_path() const{ +NodePath InterpolatedCamera::get_target_path() const { return target; } void InterpolatedCamera::set_interpolation_enabled(bool p_enable) { - if (enabled==p_enable) + if (enabled == p_enable) return; - enabled=p_enable; + enabled = p_enable; if (p_enable) { if (is_inside_tree() && get_tree()->is_editor_hint()) return; @@ -123,7 +119,7 @@ bool InterpolatedCamera::is_interpolation_enabled() const { void InterpolatedCamera::set_speed(real_t p_speed) { - speed=p_speed; + speed = p_speed; } real_t InterpolatedCamera::get_speed() const { @@ -131,27 +127,25 @@ real_t InterpolatedCamera::get_speed() const { return speed; } - void InterpolatedCamera::_bind_methods() { - ClassDB::bind_method(D_METHOD("set_target_path","target_path"),&InterpolatedCamera::set_target_path); - ClassDB::bind_method(D_METHOD("get_target_path"),&InterpolatedCamera::get_target_path); - ClassDB::bind_method(D_METHOD("set_target","target:Camera"),&InterpolatedCamera::_set_target); + ClassDB::bind_method(D_METHOD("set_target_path", "target_path"), &InterpolatedCamera::set_target_path); + ClassDB::bind_method(D_METHOD("get_target_path"), &InterpolatedCamera::get_target_path); + ClassDB::bind_method(D_METHOD("set_target", "target:Camera"), &InterpolatedCamera::_set_target); - ClassDB::bind_method(D_METHOD("set_speed","speed"),&InterpolatedCamera::set_speed); - ClassDB::bind_method(D_METHOD("get_speed"),&InterpolatedCamera::get_speed); + ClassDB::bind_method(D_METHOD("set_speed", "speed"), &InterpolatedCamera::set_speed); + ClassDB::bind_method(D_METHOD("get_speed"), &InterpolatedCamera::get_speed); - ClassDB::bind_method(D_METHOD("set_interpolation_enabled","target_path"),&InterpolatedCamera::set_interpolation_enabled); - ClassDB::bind_method(D_METHOD("is_interpolation_enabled"),&InterpolatedCamera::is_interpolation_enabled); + ClassDB::bind_method(D_METHOD("set_interpolation_enabled", "target_path"), &InterpolatedCamera::set_interpolation_enabled); + ClassDB::bind_method(D_METHOD("is_interpolation_enabled"), &InterpolatedCamera::is_interpolation_enabled); - ADD_PROPERTY( PropertyInfo(Variant::NODE_PATH,"target"), "set_target_path", "get_target_path") ; - ADD_PROPERTY( PropertyInfo(Variant::REAL,"speed"), "set_speed", "get_speed") ; - ADD_PROPERTY( PropertyInfo(Variant::BOOL,"enabled"), "set_interpolation_enabled", "is_interpolation_enabled") ; + ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "target"), "set_target_path", "get_target_path"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "speed"), "set_speed", "get_speed"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "enabled"), "set_interpolation_enabled", "is_interpolation_enabled"); } InterpolatedCamera::InterpolatedCamera() { - enabled=false; - speed=1; - + enabled = false; + speed = 1; } |