# Changelog

## 1.2.10 - 15 of January 2023 - for 4.27, 5.0, 5.1, 5.2, 5.3, 5.4

### Fixed

* Fixed camera jerking when changing some modifiers(example: interp current dist to target). [Report](https://discord.com/channels/690892642183282700/730331315966050346/1036431915219161188)
* Fixed and enable location lag options(it was disabled 1.2.7 update)
* Fixed deprecated using UMatineeCameraShake. Renamed it to ULegacyCameraShake
* Properly initialize FATPCLocationSettings::bEnableCameraRotationLag property. It was causing errors when launching the editor
* Fixed premature reset interpolation speed for pitch/yaw camera views limits. [Report](https://discord.com/channels/690892642183282700/730331315966050346/1062652708311552054)

## 1.2.9 - 11 of December 2022 - for 4.27, 5.0, 5.1

### Fixed

* Disable ATPCCameraComponent if UCameraComponent attached to ATPCCameraComponent not active. It usefull if you use another camera for FPS

## 1.2.8 - 1 of September 2022 - for 4.27, 5.0, 5.1

### Fixed

* Fixed double call UATPCCameraComponent::RegisterConsoleCommands(it caused warning logs)

## 1.2.7 - 2022-09-02

### Fixed

* Fixed camera teleportation after switching to another camera mode
* Temproarry disabled camera location lag(it caused a lot of bugs)

## 1.2.6 - 2022-06-05

### Fixed

* Fixed camera location lag(<https://discord.com/channels/690892642183282700/730331315966050346/981163964434108466>)
* Fixed camera distance calculcation

## 1.2.5 - 2022-04-16

### Fixed

* Fixed compile errors for ue 5.0

### Added

* Support ue 5.0

## 1.2.4 - 2021-09-02

### Fixed

* Fixed crash in ATPCCameraFadingObject.cpp:305(added check materialInstance for null)

### Added

* Support ue 4.27

## 1.2.3 - 2021-08-08

### Fixed

* Fixed fade for widgetComponent(case when widget rendered as default gray material)

### Changed

* Increase fade algo, now fadeObj create dynamic material for object only if material has Fade parameter(older algo version always created dynamic material when camera intersects mesh)

## 1.2.2 - 2021-04-03

### Added

* Debug for location object(DebugData::**bEnableLocationObjectDebug** in ATPCCameraComponent)

### Fixed

* Fixed target offset
* Fixed camera distance after collision(because of zoom interpolation always was at 0)

## 1.2.1 - 2021-03-04

### Fixed

* Fixed compile errors
* Fixed plugin camera mode uobject custom version

## 1.2.0 - 2021-03-01

### Added

* Added the ability to change camera modes during the game(now function UATPCCameraComponent::GetCurrentCameraMode has non const version).&#x20;

Example:&#x20;

{% tabs %}
{% tab title="C++" %}

```
GetCurrentCameraMode()->CameraModeSettings.FOVSettings.CameraFOV = 60.f;
```

{% endtab %}

{% tab title="Blueprints" %}
![](https://1165282850-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQ7U9nVoka2Ctj3pdox%2F-MUQTR_2nFg6I-RmQNgn%2F-MUQX6u01btDkB0NLjq8%2Fimage.png?alt=media\&token=19faf19e-9729-4325-b441-5b0f21086464)
{% endtab %}
{% endtabs %}

* Added new interpolation system. New system allows you to change the interpolation speed(see @FATPCInterploationSpeed). As a result, the final value changes more smoothly. Next properties replaced with new system:
  * FATPCLocationSettings::ZoomSpeed + ZoomInterpolationType
  * FATPCLocationSettings::SocketOffsetInterpSpeed
  * FATPCLocationSettings::TargetOffsetInterpSpeed
  * FATPCRotationSettings::ViewInterpolationSpeed
  * FATPCRotationOffsetSettings::ChangeRotationSpeed + InterpolationType
  * FATPCViewRotationToActorRotationSettings::ChangeRotationSpeed + ChangeRotationSpeedInterpSpeed
  * FATPCFOVSettings::InterpolationSpeed
  * FATPCFollowTerrainSettings::SocketOffsetInterpSpeed
  * FATPCFollowTerrainSettings::AngleRotationInterpSpeed
  * FATPCLockOnTargetSettings::CameraRotationSpeed + AdditionalSmoothRotationSpeed
  * FATPCRuntimeCameraToActorRotationSettings::ChangeRotationSpeed

After result value will reached target interpolation speed will reset(if bUseInterpSpeedToInterpolation is true)

Blue line - old interpolation. Orange - interpolation with interpolate interpolation speed.

{% tabs %}
{% tab title="Smooth Interpolation" %}
![](https://1165282850-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQ7U9nVoka2Ctj3pdox%2F-MVHWsjBdk7Ddw9iLlJF%2F-MVHX9_f8cnRJsCfnMOq%2Fimage.png?alt=media\&token=9f906bc9-30a5-44cc-8bff-629c4a9c4d33)
{% endtab %}

{% tab title="Const Interpolation" %}
![](https://1165282850-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQ7U9nVoka2Ctj3pdox%2F-MVHWsjBdk7Ddw9iLlJF%2F-MVHXElpM-zBUfMYeaBR%2Fimage.png?alt=media\&token=83b8152f-0795-4504-beba-fce1532c9251)
{% endtab %}
{% endtabs %}

* Added ReplaceSpringArmToATPCComponent function from UATPCFunctionLibrary for fast replace SpringArm component to ATPC
* Added "use pawn control rotation" from SpringArm functionality to camera mode settings RotationSettings
* Added disable custom FOV for CineCamera(work automatically, but you can override cine camera FOV by enabling FOVSettings::ChangeFOVWhenCineCamera )
* Added param bForceSet to UATPCCameraComponent::SetCameraMode function

### Removed

* Removed override functionality from UATPCCameraFOVObject(SetOverrideFOV), UATPCameraLocationObject(SetOverrideCameraLocation, SetOverrideCameraDistance, SetCustomSocketOffset,  SetCustomTargetOffset). Now you can directly change camera mode in runtime

### Changed

* Debug flags moved from CameraMode to ATPCCameraComponent::DebugRules
* Renamed plugin log category APTCLog to LogATPC
* Renamed function UATPCCameraLocationObject::GetViewRotationDelta to GetLastTickTargetRotationDelta
* Renamed property FATPCLockOnTargetSettings::bUseRotationLimits to bClampByCameraModeRotationLimits
* Renamed FATPCFollowTerrainSettings::TerrainAngleSocketOffsetCurve to SocketOffsetCurve
* Renamed FATPCFollowTerrainSettings::TerrainAngleRotationOffsetCurve to PitchRotationCurve
* Renamed FATPCFollowTerrainSettings::AngleDelayChange to ChangePitchRotationDelay

### Fixed

* Fixed crash when using old camera shakes(created before 4.26)
* Fixed compile error due to using FATPCOffsetValue out of plugin source
* Fixed crash when CameraModeScripts has null script instance
* Fixed looping for old camera shakes(matinee) in 4.26

##
