#jira UE-11822 - Add up vector, roll and scale properties to USplineComponent which can be used when calculating rotations/transforms at a point on the spline
#jira UE-13333 - BP spline components do not update when setting points
#jira UE-3637 - SplineComponent: Add a get transform at distance accessor
Summary of changes:
- FInterpCurve now natively understands looping. A input key can be set, at which point the spline will loop back to its start point. Adjusted FInterpCurve methods to take looped curves into account.
- Fixed bugs in FInterpCurve regarding returning default values (T(ForceInit) instead of T() otherwise FVectors and FQuats are not initialized correctly).
- SplineComponent now holds three separate splines (location, rotation and scale).
- The SplineReparamTable is no longer transient, but is built and saved as part of the asset.
- Changed the SplineComponent API. All methods now take a ESplineCoordinateSpace value which specifies whether the values are intended for use in local or world space. The old methods have been deprecated but not removed (for now).
- bAllowSplineEditingPerInstance is deprecated. A new member (bSplineHasBeenEdited) has superseded it, and is set automatically when editing the spline with the visualizer. Added "Reset to Default" option in the visualizer, which restores the archetype defaults.
- SplineComponentVisualizer determines if spline points have been initialized by the user construction script, and, if so, will disallow editing. This is to conform with the general idea that the UCS always overrides property values.
- Fixed a number of bugs in the visualizer, and added new facilities to allow the scale and rotation to be edited (still work-in-progress).
[CL 2524087 by Richard TalbotWatkin in Main branch]
- Improved clustering by using sphere
- Fixed progress window to work during build process
- Optimized for a big map
- Disabled for build all since it is exceptionally slow, it might be painful to add there
- Fixed Merge Actor to work with material flattening
[CL 2521241 by Lina Halper in Main branch]
- Interpolates between colors in HSV space, taking the shortest route between hues. Also interpolates alpha.
- In C++: FLinearColor::LerpUsingHSV()
- New Blueprint function: "Lerp Using HSV (Linear Color)"
#codereview nick.atamas
[CL 2519129 by Mike Fricker in Main branch]
Users can now choose a set of relevant units to display applicable properties in.
Setting a single unit for a given type will result in only that unit ever being used. When multiple exist, the most appropriate unit will be shown when a property editor is opened, and will remain in this unit until something else is selected.
[CL 2519064 by Andrew Rodham in Main branch]
- Better to catch them early than skip a NaN check for translation just because we didn't use it, only to catch it later.
[CL 2518295 by Zak Middleton in Main branch]
- Combined 2D Rotate / Translate widget
- 2D Layer Snap planes
- Some UI stuff to go with it
#codereview michael.noland
[CL 2500349 by Dinesh Kumar in Main branch]
Also added a default input unit that is used when no units are specified on a text input.
This addresses UE-11863 and UE-9313
[CL 2499638 by Andrew Rodham in Main branch]
- Vectorized versions are 25% faster than before.
- Remove useless translation since W is zero.
- Remove copy between FVector4 and FVector.
[CL 2496685 by Zak Middleton in Main branch]