516 lines
32 KiB
Markdown
516 lines
32 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this package will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
|
|
## [2.7.2] - 2024-11-08
|
|
|
|
### Bug Fixes
|
|
- [SPLB-315] Fixed a bug where the `DrawSplineTool` icon was missing in the tools overlay.
|
|
- [STO-3434] Fixed a bug where the `DrawSplineTool` would prevent the use of the view tool.
|
|
- [STO-3435] Fixed a bug where the `DrawSplineTool` would not display the tool settings anymore.
|
|
- [SPLB-296] Fixed a bug where a log message would appear in the console when 2 knots are at the same position with 0-length tangents.
|
|
- [SPLB-304] Fixed a bug where an exception would be thrown when using `SplineInstantiate` with linear distance instantiate method and multiple splines.
|
|
- Fixed some failures related to the inline API documentation.
|
|
- [SPLB-302] Fixed a bug where an exception would be thrown when adding a knot to a closed spline from inspector.
|
|
- [SPLB-311] Fixed a bug where `SplineAnimate` component would not function properly with non-uniform scale transforms.
|
|
- Fixed compilation errors in builds
|
|
- [SPLB-310] Fixed mesh extrude not being saved when a change is applied to a mesh asset.
|
|
- [SPLB-303] Fixed a bug where spline section foldout labels (shape extrude, geometry, advanced) did not unfold the sections when clicked.
|
|
- [SPLB-294] Fixed a bug where adding new splines by using the `SplineContainer` inspector would dirty all open scenes.
|
|
|
|
## [2.7.1] - 2024-10-17
|
|
|
|
### Added
|
|
|
|
- [STO-3204] Added a **Create Spline** button to enter spline creation when you do not have the Spline tool context activated.
|
|
- New `SplineExtrude` and `SplineMesh` option enables new extrusion profiles, including `Circle`, `Square`, `Road`, and `Spline`.
|
|
- Added a section in the documentation for the `Source Spline Container` in the `SplineExtrude` component.
|
|
|
|
### Bug Fixes
|
|
|
|
- [SPLB-292] Removed the dependency on the UGUI package.
|
|
- Removed the toggle to override the target spline in the `SplineExtrude` inspector.
|
|
- [SPLB-288] Fixed a bug where a prefab `SplineContainer` would unexpectedly restore splines deleted before entering and exiting playmode.
|
|
- [SPLB-284] Fixed a bug that prevented baking instances of multiple `SplineInstantiate` components when multi-selecting.
|
|
- [SPLB-277] Fixed a bug where instantiating a prefab with `SplineAnimate` component would throw messages in the console.
|
|
- [SPLB-279] Fixed a bug where closing a Spline would not update the auto-smooth knots at the extremities.
|
|
|
|
## [2.6.1] - 2024-05-23
|
|
|
|
### Bug Fixes
|
|
|
|
- [SPLB-275] Fixed a bug where the `SplineContainer` component would throw warning when entering playmode.
|
|
- [SPLB-266] Fixed a bug where instantiating a `SplineExtrude` component at runtime would throw errors.
|
|
- [SPLB-269] Fixed a bug where instantiating a `SplineAnimate` component at runtime would throw errors.
|
|
- [SPLB-260] Fixed a bug where playing a `SplineAnimate` from a start method would not work.
|
|
- [SPLB-267] Fixed a bug where undoing a spline insertion in a container would throw errors from the `SplineInstantiate` component.
|
|
- [SPLB-261] Fixed a bug where the knot placement tool would not work when multiple scene views were opened.
|
|
- [SPLB-253] Fixed a bug where using the knot placement tool in 2D mode would not work if the grids are turned off.
|
|
- [SPLB-258] Fixed a bug where destroying a component would throw errors in the console.
|
|
|
|
## [2.6.0] - 2024-04-15
|
|
|
|
### Added
|
|
|
|
- Added new APIs that enable users to directly provide a collection of `float3` knot positions to a `Spline` constructor, or to the new `Add`, `AddRange`, `Insert`, and `InsertRange` methods, instead of using `BezierKnots`.
|
|
- Added an event to the `SplineAnimate` component that is triggered when the animation or loop is completed.
|
|
|
|
### Changed
|
|
|
|
- Changed supported version in the documentation dropdown selector to 2022.3 and later.
|
|
|
|
### Bug Fixes
|
|
|
|
- [SPLB-246] Fixed performance and garbage collection (GC) memory allocation issues when evaluating splines using `SplineContainer` API.
|
|
- [STO-3176] Fixed an issue where `FitSplineToPoints` utility would not fit splines correctly.
|
|
- [SPLB-249] Fixed a bug where setting a spline game object position was overridden by the knot placement tool.
|
|
- Fixed a bug where using the knot placement tool on scaled objects would not create the correct tangents.
|
|
- Fixed a bug where changing the scale of a spline game object would not update the scene view handles.
|
|
- [SPLB-239] Fixed a bug where reverting overrides of a spline prefab instance would not properly update its visuals.
|
|
- [SPLB-238] Fixed a bug where `SplineAnimate` component would continuously output messages to the Console when in playmode and animated object was selected.
|
|
- [SPLB-245] Fixed a bug where `SplineAnimate` component would rotate the animated object on playmode exit.
|
|
|
|
## [2.5.2] - 2023-12-22
|
|
|
|
### Added
|
|
|
|
- [SPLB-222] Added safety checks to spline changed events.
|
|
|
|
### Changed
|
|
|
|
- [SPLB-233] Removed transform handles while dragging a knot using direct manipulation.
|
|
- [SPLB-234] Removed unnecessary spline metadata which was saved on disk.
|
|
|
|
### Bug Fixes
|
|
|
|
- [SPLB-230] Fixed a bug where modifying the tangent mode on the last knot would change the spline shape unpredictably.
|
|
- [SPLB-225] Fixed a bug where closing a Spline with the `Draw Splines Tool` had inconsistent behaviour.
|
|
- [SPLB-236] Fixed a bug where the spline instantiate inspector was throwing an exception when the selection contained objects without that component.
|
|
- [SPLB-235] Fixed a bug where hovering a knot was create highlights when dragging tangents.
|
|
- [SPLB-234] Fixed a bug where it was impossible to add a knot on the latest added knot.
|
|
- [SPLB-214] Fixed an exception that would when adding a spline via the inspector if no other spline exists.
|
|
- [SPLB-226] Fixed broken preview when adding knots to a closed spline
|
|
|
|
## [2.5.1] - 2023-10-17
|
|
|
|
### Bug Fixes
|
|
|
|
- [SPLB-208] Fixed a bug where `SplineToolContext` would attempt to draw empty Splines and flood the console with errors.
|
|
|
|
## [2.5.0] - 2023-10-16
|
|
|
|
### Added
|
|
|
|
- Exposed public API for `SplineInstantiate.Seed`.
|
|
|
|
### Bug Fixes
|
|
|
|
- [SPLB-201] Fixed error messages showing in edit mode with spline components.
|
|
- [SPLB-203] Fixed a bug where baking `SplineInstantiate` instances broke prefab connections.
|
|
- [SPLB-196] Fixed a bug where the `Random` state was not restored after an update of the instances in `SplineInstantiate`.
|
|
- Fixed a bug where the `SplineCacheUtility` would send null reference exceptions.
|
|
- [SPLB-183] Fixed a bug where duplicating the `SplineExtrude` component was not updating the mesh asset reference.
|
|
- [SPLB-178] Fixed a bug where linking knots would not trigger a `Spline.changed` event.
|
|
- [SPLB-185] Fixed a bug where the Up vector evaluation would return NaN values when normals and curve tangents are parallel.
|
|
|
|
### Changed
|
|
|
|
- [SPLB-187] Fixed a bug where `Spline.EvaluatePosition` was allocating memory when called.
|
|
- [SPLB-181] Fixed a bug where the Auto tangent mode computed incorrect knot rotations.
|
|
- Changed the `SplineComponent` display name in the Inspector to `Spline Container` as a response to user feedback.
|
|
|
|
## [2.4.0] - 2023-07-26
|
|
|
|
### Added
|
|
|
|
- Exposed public APIs for `SplineUtility.ReverseFlow`, `SplineUtility.JoinSplinesOnKnots`, and `SplineUtility.SplitSplineOnKnot`.
|
|
|
|
### Changed
|
|
|
|
- For Editor versions of 2023.2 or newer, added clipboard operations for Splines to the Scene view context menu.
|
|
- Changed `Splines/Cycle Active Spline` shortcut to Shift-S to remove a conflict with Unity default shortcuts.
|
|
- [SPLB-163] Improved performance of spline handles by caching spline data.
|
|
- [SPLB-167] Changed the evaluation of up vectors to use a cache instead of re-evaluate the values on every single request.
|
|
- In Editor versions of 2023.2 or newer, moved the following actions from the Element Inspector to the Scene view context menu: Link, Unlink, Split, Join, and Reverse Spline Flow.
|
|
|
|
### Bug Fixes
|
|
|
|
- [SPLB-176] Fixed a regression where the up vector would not evaluate correctly for some curves.
|
|
- Fixed the setter for SplineAnimate.Normalized time to handle ping-pong direction correctly when set.
|
|
- Fixed a bug where setting the time value to 0 after reaching the end of the spline animation was not resetting the object position.
|
|
- [SPLB-169] Fixed a bug where `CurveUtility.GetNearestPoint` would return incorrect values for the interpolation.
|
|
|
|
## [2.3.0] - 2023-05-31
|
|
|
|
### Added
|
|
|
|
- Exposed public APIs for `SplineTool` and `SplineHandles`.
|
|
- Added a method to *bake* SplineInstantiate objects in the scene so the users can modify the resulting GameObjects.
|
|
|
|
### Bug Fixes
|
|
|
|
- [SPLB-165] Fixed a bug that prevented actions from being retained with prefab instances that contained splines when entering playmode.
|
|
- [SPLB-162] Fixed a bug where the start offset in `SplineAnimate` did not work in Play mode.
|
|
- [SPLB-152] Fixed objects created from `SplineInstantiate` not inheriting static flags from parent `GameObject`.
|
|
- [SPLB-160] Fixed potential 'look rotation vector is zero' in SplineInstantiate.
|
|
- [SPLB-156] Fixed possible null reference exception when accessing curve length.
|
|
|
|
## [2.2.1] - 2023-04-21
|
|
|
|
### Added
|
|
|
|
- [SPLB-100] Added a **Resolution** setting for spline meshes in Splines preference.
|
|
|
|
### Changed
|
|
|
|
- [SPLB-100] Improved `SplineMeshHandles` rendering.
|
|
|
|
### Fixed
|
|
|
|
- Fixed a bug where spline selection would be incorrect after a spline was deleted.
|
|
- [SPLB-146] Fixed a bug that prevented actions from being undone with prefab instances that contained splines .
|
|
- [SPLB-148] Fixed a bug in the `LoftRoadBehaviour` component where Undo calls prevented the project from building.
|
|
|
|
### Changed
|
|
|
|
- Changed `Knot Placement` tool behaviour regarding selection. Element selection is now empty when you exit the tool.
|
|
|
|
## [2.2.0] - 2023-03-22
|
|
|
|
### Added
|
|
|
|
- [SPLB-72] Added a public version of `SplineDataHandles.DataPointHandles` which requires an additional parameter, `splineID`.
|
|
- [SPLB-72] Added the `SplineContainer.SplineAdded`, `SplineContainer.SplineRemoved` and `SplineContainer.SplineReordered` public events and removed those same events from `ISplineContainer`
|
|
- [SPLB-72] Added the `SplineUtility.ReorderSpline` public method.
|
|
- [SPLB-72] Added an example to the **Loft Road** sample that supports spline data for multiple splines.
|
|
- Improved UI for editing points in the Inspector.
|
|
- Added preference to disable tangent dragging feature in `Knot Placement` tool.
|
|
- Added `ISplineContainer.AddSpline(Spline)` function overload.
|
|
- Added new functions on `Spline` to get and set `SplineData`.
|
|
- Added new `EmbeddedSplineData` type to easily create and reference `SplineData` stored on arbitrary `Spline` objects.
|
|
|
|
### Changed
|
|
|
|
- [SPLB-127] Changes made to a spline in the Inspector no longer invoke the `Spline.Changed` event with the `SplineModification.Default` type. The `Spline.Changed` event is still invoked, but with specific modification types like `SplineModification.KnotModified`.
|
|
- [SPLB-118] Changed the documentation of `SplineMath.PointLineNearestPoint` and `SplineMath.RayLineNearestPoint` to explain the returned values more precisely.
|
|
- [SPLB-96] Changed the default tension of tangents in **Auto** mode so they are smoother. **Auto** mode is now closer to the Catmull-Rom behavior of Splines 1.0.
|
|
- [SPLB-72] Removed the `WidthSplineData` and `MultipleRoadBehaviour` components from the samples.
|
|
- Reduced heap allocations when modifying Spline properties.
|
|
- [SPLB-92] Modified the Inspector to use `SplineModification.KnotRemoved` events to remove knots and pass the index for each removed knot.
|
|
- [SPLB-92] Modified the `Spline.SetTangentMode` and `Spline.SetAutoSmoothTension` methods to invoke `SplineModification.KnotModified` events for each modified knot and pass the index.
|
|
- Increased the threshold for tangent dragging when placing knots with the `Knot Placement` tool.
|
|
|
|
### Fixed
|
|
|
|
- [SPLB-141] Fixed a bug where `SplineExtrude` component would overwrite existing Mesh assets.
|
|
- [SPLB-129] Fixed a bug where `CurveUtility.EvaluateUpVector` caused burst errors.
|
|
- [SPLB-138] Fixed a bug where `SplineJobs.EvaluatePositionTangentNormal` returned incorrect values.
|
|
- [SPLB-136] Fixed a bug where undoing actions on a spline was not marking the spline as dirty.
|
|
- [SPLB-123] Fixed an inconsistency between inserting a `BezierKnot` using Editor tools and runtime API.
|
|
- [SPLB-130] Fixed a bug that would crash the Editor if the `SplineInstantiate` component had its parent GameObject in the list of items to instantiate.
|
|
- [SPLB-90] Fixed an issue where `Spline.SetKnotNoNotify` triggered change callbacks.
|
|
- [SPLB-77] Fixed a null reference exception when spline animate didn't have a spline referenced.
|
|
- [SPLB-125] Fixed issue where the spline would have different state during the `Spline.Changed` callback depending if it was modified using the API or inspector.
|
|
- [SPLB-74] Fixed a bug that caused an error when knots were deleted from the Inspector.
|
|
- [SPLB-121] Fixed a bug where spline data changes done using the Inspector would not undo correctly.
|
|
- [SPLB-92] Fixed an issue where adding knot using the inspector would trigger `SplineModification.KnotInserted` event twice.
|
|
- [SPLB-107] Fixed a bug where a duplicates of a spline with the Spline Instantiate component would have visible child GameObjects in the Hierarchy window.
|
|
- [SPLB-65] Fixed an issue where it wasn't possible to add a knot to a closed spline that is empty or contains a single knot.
|
|
- [SPLB-104] Fixed an issue where duplicating a spline using the Inspector would not copy knot link data.
|
|
- [SPLB-82] Fixed an issue where it would not be possible to undo adding a knot from the Inspector.
|
|
- [SPLB-84] Fixed an issue where the obsolete Spline Edit Mode would show in the Debug Inspector.
|
|
- [SPLB-135] Fixed an issue where the Auto Smooth tangent mode would not smooth a spline's curves correctly.
|
|
- [SPLB-104] Fixed an issue where shared knots would lose selection when a spline is selected using the Inspector.
|
|
- [SPLB-115] Fixed an issue where using the Width tool on MacOS (Metal) would render visual artifacts outside of the Scene view.
|
|
- [SPLB-98] Fixed an issue where `LoftRoadBehaviour` would create incorrect mesh geometry normals.
|
|
- [STO-2791] Fixed an issue where spline data's reorderable list would break if the data was not the field of a `MonoBehaviour`.
|
|
- [SPLB-86] Fixed a bug that caused a spline to change its shape when **Reverse Spline Flow** action was used.
|
|
- [SPLB-103] Fixed an issue where the spline tool settings' Visuals popup would display toggle checkboxes on the wrong size and be clipped in some editor versions.
|
|
- [SPLB-87] Fixed an issue where the cached Spline length could be incorrect after an undo action.
|
|
- Fixed an issue where modifying knot values or order in the Inspector could affect unassociated knot data.
|
|
- Fixed use of obsolete `Objects.FindObjectsOfType` API in Unity 2023.1 and newer.
|
|
- Fixed incorrect icon import settings.
|
|
- Fixed a bug that would prevent Spline Instantiate from instantiating when it was loaded from an addressable build in the Editor.
|
|
- Fixed a bug where calling `SplineDataHandles.DataPointHandles` without a `splineID` argument would crash.
|
|
- Fixed a bug that would cause `SplineData` handles to interfere with scene navigation.
|
|
- Fixed SplineData handles not setting `GUI.changed` correctly.
|
|
- Fixed an issue where `SplineSelection` errors could put the Scene view into an unrecoverable broken state.
|
|
- Added a new property drawer for `int` interpreted as a spline index, `SplineIndexAttribute`.
|
|
- Fixed a bug where modifying and undoing changes to `Spline` values in the Inspector resulted in an incorrect `Spline` length calculation.
|
|
- Added `SplineData.OnSplineModified` function to attempt to preserve knot indices when knots are inserted or removed. This is called automatically for all embedded `SplineData` collections.
|
|
|
|
## [2.1.0] - 2022-10-18
|
|
|
|
### Added
|
|
|
|
### Changed
|
|
|
|
### Fixed
|
|
|
|
- [STO-2745] Fixed an issue where the Speed Tilt tool's arrow handle cap would flicker when the View tool toggled on or off.
|
|
- [STO-2744] Fixed a bug where tangents would have the wrong orientation.
|
|
|
|
## [2.1.0-pre.1] - 2022-10-12
|
|
|
|
### Added
|
|
|
|
- New `SplineUtility.EvaluateNurbs` function to evaluate positions on NURBS curves.
|
|
- New `SplineUtility.FitSplineToPoints` function to fit a spline to a provided set of curve points.
|
|
- Added a new public static class, `InterpolatorUtility`, to improve the discoverability of `IInterpolator` implementations.
|
|
- Added the functionality to offset the starting position of a `SplineAnimate` component's animation.
|
|
- Added copy, paste, and duplicate support to Spline tools.
|
|
- Exposed API to draw spline and curve handles.
|
|
- Added settings to generate a 3D mesh around spline handles to better visualize depth.
|
|
- Added the functionality to disable specific Spline tool handles.
|
|
- Added the functionality to tweak knot position without being in the position tool.
|
|
- Added spline index to the Element Inspector when a spline element is selected.
|
|
- Updated public API documentation.
|
|
- Updated built-in Spline components to support spline containers with multiple splines.
|
|
- New `SplineUtility.ReducePoints` function to remove redundant points on a line and still retain the original shape.
|
|
- New `Spline.SetAutoSmoothTangentTension` function to specify the tension used when tangents are calculated.
|
|
- Added `Spline Filter` to the Spline tools settings.
|
|
- Added spline selection from the Spline Inspector.
|
|
- Added support to show knot indices in the Scene View.
|
|
- New `Paint` example shows how to create a spline from a list of points.
|
|
- Updated the `SplineUtility.GetAutoSmoothTangent` function to use centripetal parameterization to calculate the tangents in **Auto** tangent mode.
|
|
- New `SplineUtility.GetAutoSmoothTangent` function takes the current knot position and then uses centripetal parameterization to calculate the tangents in **Auto** tangent mode.
|
|
- Added new built-in Spline shapes: Rounded Square, Polygon, Helix, and Star.
|
|
- Added the functionality to to delete tangents.
|
|
- Removed the disc that displayed around selected knots.
|
|
- Added a disc that displays when a user has the Tweak tool enabled and hovers over a tangent.
|
|
- Added transparency to the disc that displays when a knot or tangent is hovered on if the disc occludes an object in the scene.
|
|
- Reduced the transparency of the Tweak tool handles when they occlude an object in the scene.
|
|
- New `EditorSplineUtility.SetKnotPlacementTool` function to set the active context to `SplineToolContext` and the active tool to `KnotPlacementTool`.
|
|
|
|
### Changed
|
|
|
|
- [STO-2666] Disabled the Visual dropdown button when using `KnotPlacementTool`.
|
|
- Modified spline element handles to use `Element Color`.
|
|
- [STO-2708] Modified spline deletion to remove empty splines.
|
|
- [STO-2682] Unified `Draw Splines Tool` naming across menus and documentation.
|
|
- [STO-2681] Attenuated the color of the tangents and the curve highlights when they are behind objects.
|
|
- [STO-2700] Modified Spline Instantiate so it no longer serializes instances in the Scene or prefabs.
|
|
- [STO-2682] Unified `Draw Splines Tool` naming across menus and docs.
|
|
- [STO-2728] Changed the label of the `SplineAnimate` component's `World` alignment mode to `World Space` in the Inspector.
|
|
- Modified the `Draw Splines Tool` to clear any Spline element selection when it activates.
|
|
- [STO-2490] Made active element selection consistent with standard Editor behavior for GameObjects. Now you can hold Shift and click a knot to set it as the active element.
|
|
- Spline element handles now use the `Element Selection` and `Element Preselection` colors.
|
|
- Changed tangent's shapes to diamonds.
|
|
- Modified the `Knot Placement Tool` to have a live preview for segments with auto-smoothed knots.
|
|
- Dependency on Unity Physics Module is now optional.
|
|
- Modified `SplinePath` to support the `Closed` property of Splines.
|
|
- Removed and merged redundant Sample scenes.
|
|
- Reduced the size of the flow indicator handle.
|
|
- Changed default colors and thickness for spline elements and curves.
|
|
- Improved the line visibility of handles and segments.
|
|
- Changed Burst from required dependency to optional.
|
|
- Burst compile `SplineJobs.EvaluationPosition` when Burst package is available.
|
|
|
|
### Fixed
|
|
|
|
- [STO-2746] Fixed an issue where it was impossible to delete knots on mac.
|
|
- [STO-2743] Fixed an issue where a curve's highlight would flicker when hovering near a knot.
|
|
- [STO-2729] Fixed an issue where reordering knots would break knot links until moved.
|
|
- [STO-2730] Fixed the curve highlight color when using the Tweak tool.
|
|
- [STO-2693] Fixed a bug that prevented users from adding and reordering knots in the Inspector when the spline comes from a class that inherits from `ISplineContainer`.
|
|
- [STO-2725] Fixed a bug where knots, discs, and the normal line of knots would use incorrect colors.
|
|
- [STO-2726] Fixed a bug where knots handles were drawn under curves handles.
|
|
- [STO-2727] Corrected a typo in the Loop Mode of the `SplineAnimate`.
|
|
- [STO-2653] Fixed a bug where the Tweak tool's guide plane would flicker when drawn directly on a surface.
|
|
- [STO-2731] Fixed View Tool not working when Spline Context was active.
|
|
- [STO-2700] Fixed spline instantiate having a delay before regenerating the instances.
|
|
- [STO-2679] Fixed the segmentation of the curve highlight.
|
|
- [STO-2665] Fixed sample scenes not rendering correctly when URP or HDRP was used.
|
|
- [STO-2702] Removed the **Dist** label in the Inspector when the `SplineInstantiate` component is set to `Exact`.
|
|
- [STO-2656] Fixed a bug where hovering on linked knots would display discs on each linked knot.
|
|
- [STO-2686] Fixed an issue where inserting a knot on the closing curve would result in other knots moving around.
|
|
- [STO-2685] Fixed a bug where `LoftRoadBehavior `would throw exceptions with knots that had linear tangents.
|
|
- [STO-2657] Fixed a bug where spline gizmos would appear at unexpected moments.
|
|
- [STO-2655] Fixed a bug that caused knots to highlight with the wrong color.
|
|
- [STO-2687] Fixed an error that would occur when deleting the last knot of a spline.
|
|
- [STO-2684] Fixed a bug that prevented Select All from selecting elements.
|
|
- [STO-2680] Fixed a bug where `SplineMesh.Extrude` would create twisted mesh geometry.
|
|
- [STO-2701] Fixed a bug where `LoftRoadBehavior` would either throw an exception or extrude incorrectly when the spline was in Linear tangent mode or if it was shorter than 1 unit length.
|
|
- [STO-2705] Fixed a bug where `SplineInstantiate` was not instantiating correctly when the instantiation method was set to `Method.InstanceCount`.
|
|
- [STO-2668] Fixed a bug where Spline element inspector values would not update when a knot is modified.
|
|
- [STO-2706] Fixed a bug where selecting a knot from the inspector was desynchronizing the tool selection.
|
|
- [STO-2696] Fixed a bug where clearing knot selection was not updating in the inspector.
|
|
- [STO-2689] Fixed the behavior of the spline inspector selection when clicking on a selected element.
|
|
- [STO-2688] Fixed a delay in the scene view update after changing selection from the spline inspector.
|
|
- [STO-2669] Fixed a bug where modifying a spline in the Inspector would not invoke the `Changed` callback.
|
|
- [STO-2695] Fixed a bug that would throw an exception when the `SplineAnimate` component was destroyed.
|
|
- [STO-2658] Fixed a bug that would delay the color change when you hover over a segment.
|
|
- [STO-2692] Fixed an issue where deleting a spline would result in errors.
|
|
- [STO-2716] Added missing tooltips to the Element Inspector.
|
|
- [STO-2636] Fixed an issue that prevented spline framing if the active tool context was not set to Spline.
|
|
- [STO-2714] Fixed transformation and direct manipulation tools not working correctly when spline has non-uniform scale.
|
|
- [STO-2698] Fixed a bug that could cause a knot link to desync if a linked knot was modified in the Inspector.
|
|
- [SPLB-54] Fixed a bug where flow arrows and curve highlights would not be centered on a spline's segments between knots.
|
|
- [SPLB-44] Fixed a bug where tangent selection would remain after changing to a tangent mode without modifiable tangents.
|
|
- [STO-2632] Fixed Spline Selection Undo when selecting a single element.
|
|
- Fixed a bug where the spline inspector was not working if the `Spline` object was not stored in a ISplineContainer.
|
|
- [SPLB-40] Fixed a bug where a tangent's Magnitude field in the `Element Inspector` created NaN values.
|
|
- [SPLB-39] Fixed a bug where knots from separate splines would link to the wrong knot.
|
|
- [SPLB-38] Fixed incorrect auto-smooth knots on reversed splines.
|
|
- Fixed a bug where the SplineContainer reorderable list broke the LinkKnots collection.
|
|
- Fixed a bug that caused the Inspector to display incorrect spline indexes.
|
|
- Fixed spline selection intercepting scene view navigation shortcuts.
|
|
- Fixed a bug where setting the Spline Instantiate component's instantiation items with the Inspector would have no effect.
|
|
- Fixed a potential exception that occurred when opening scenes with splines created in the 1.0 version of this package.
|
|
- Fixed tangent and knot handles incorrectly highlighting while a tool is engaged.
|
|
- Fixed a bug where deleting some element selections would result in an exception being thrown.
|
|
- Fixed a bug where undoing after deleting a selection would not re-select the restored elements.
|
|
- [STO-2690] Fixed a bug that prevented data points from being added to a spline when the spline was clicked on.
|
|
- [STO-2691] Fixed a bug where moving a data point along a spline behaved incorrectly.
|
|
- Fixed compile errors in sample scenes when building player.
|
|
- Added an ellipsis to the Draw Spline Tool menu item label.
|
|
- Fixed `Spline Tool Context` not working with `ISplineContainer` implementations that define a valid `KnotCollection`.
|
|
|
|
## [2.0.0-pre.2] - 2022-05-11
|
|
|
|
### Added
|
|
|
|
- Added the ability to edit multiple spline elements in the element inspector.
|
|
- Added functionality to join knots from different splines.
|
|
- Added functionality to reverse the flow of a spline.
|
|
- Added `SplinePath`, `SplineSlice`, and `SplineRange` types. These types enable interpolation and evaluation of partial or complete sections of discrete splines.
|
|
|
|
### Changed
|
|
|
|
- Modified rounding to be based on camera distance.
|
|
- [STO-2704] Changed `SplineUtility.GetBounds` to account for tangent positions when calculating bounds.
|
|
- Updated the design of the tangent mode fields in the Element Inspector.
|
|
- Added a dropdown menu to select tangent modes to the Element Inspector.
|
|
- Updated the `Draw Splines Tool` to display only one tangent when a new knot is created.
|
|
- Simplified tangents in the `Draw Splines Tool` by removing the interactable handle .
|
|
- Renamed `Knot Placement Tool` to `Draw Splines Tool`.
|
|
- Modified the `Draw Splines Tool` to account for multiple splines.
|
|
|
|
### Fixed
|
|
|
|
- Fixed SplineInspector knot removal not keeping metadata consistent (KnotLinks).
|
|
- Fixed an issue that caused auto-smoothed tangents to show in the `Draw Splines Tool` and be selectable by rect selection.
|
|
- Added `ReadOnly` to knot's and length's `NativeArray` to fix IndexOutOfRangeException on `NativeSpline`.
|
|
- Fixed tangents when closing the spline to keep user-defined values.
|
|
- Fixed index error in the `Spline.SendSizeChangeEvent` method.
|
|
- Fixed a case where inserting a knot would not update adjacent knots with "auto-smooth" tangent mode.
|
|
|
|
## [2.0.0-pre.1] - 2022-04-19
|
|
|
|
### Added
|
|
|
|
- Added structs and utility methods that use the [Job System](https://docs.unity3d.com/Manual/JobSystem.html) to evaluate splines.
|
|
|
|
### Changed
|
|
|
|
- Separated tangent and bezier modes in the Element Inspector.
|
|
- Added a feature to split splines at a knot from the Element Inspector.
|
|
- Added tool settings to change the default knot type.
|
|
- Added ON icons for tangent modes.
|
|
- Moved Spline creation menu items to `GameObject/Spline`.
|
|
- Modified the Spline Inspector to be reactive to spline element selections in the Scene View.
|
|
- New icons set for Spline-related items.
|
|
- Hiding knot handles if the EditorTool is not a SplineTool
|
|
- Tweaked the spline property drawer to make it a bit more clean.
|
|
- Changed the knot rotation property in the inspector to a Vector3Field instead of a QuaternionField.
|
|
- Added a new editor API to change the tangent mode of knots.
|
|
- Deprecated `Spline.EditType`. Tangent modes are now stored per knot. Use `Spline.GetTangentMode` and `Spline.SetTangentMode` to get and set tangent modes.
|
|
- Added ability to link and unlink knots using Element Inspector.
|
|
|
|
### Fixed
|
|
|
|
- [1411976] Fixed undo crash in SplineInstantiate component.
|
|
- Fixed scale offset in SplineInstantiate component.
|
|
- [1410919] Fixed SplineData Inspector PathIndexUnit when updating unit.
|
|
- Fixed issues with spline editor tools changes sometimes being overwritten
|
|
- Fixed `SplineUtility.Evaluate` incorrectly evaluating the up vector.
|
|
- [1403359] Fixed issue where `SplineExtrude` component would not update mesh after an undo operation.
|
|
- [1403386] Fixing SplineData Inspector triggering to SplineData.changed events.
|
|
- Fixing console InvalidOperationException when creating a Spline with a locked Inspector.
|
|
- [1384457] Fix for an exception being sometimes thrown when drawing a spline and rotating the scene view.
|
|
- [1384448] Fixed incorrect Rect Selection when using Shift or CTRL/CMD modifiers.
|
|
- [1413605] Fixed Linear to Bezier Edit Type conversion incorrectly leaving tangents set to zero length.
|
|
- [1413603] Spline creation menu items now respect the preference to place new objects at world origin.
|
|
- `SplineFactory.CreateSquare` now respects the `radius` argument.
|
|
|
|
## [1.0.0] - 2022-02-25
|
|
|
|
### Changed
|
|
|
|
- New icons set for Spline-related items.
|
|
- `SplineContainer` inspector is now more user-friendly.
|
|
- Fixed issue where Spline Inspector fields would not accept negative values.
|
|
- Fixed issue where the X shortcut would only cycle through World/Local handle orientations and ignore Parent/Element.
|
|
- Fixed samples compatibility issues on 2021.2.
|
|
- Spline Inspector no longer shows 2 editable tangent fields for Knots that only have one tangent.
|
|
- Fixed poor performance when manipulating long continuous tangents.
|
|
- `SplineUtility.ConvertIndexUnit` now wraps when returning normalized interpolations.
|
|
- Fixed issue where Knot rotation would not properly align to the surface the Knot is placed on.
|
|
- Fixed Spline length serialization issue that would result in incorrect Spline evaluations and length calculations.
|
|
- Updated Knot and Tangent handle design.
|
|
|
|
## [1.0.0-pre.9] - 2022-01-26
|
|
|
|
### Changed
|
|
|
|
- Adding new API to interact with SplineData Handles
|
|
- Adding a `SplineInstantiate` component and updating associated samples.
|
|
- Added a `SplineAnimate` component and sample scene.
|
|
|
|
### Fixed
|
|
|
|
- [1395734] Fixing SplineUtility errors with Spline made of 1 knot.
|
|
- Fixing Tangent Out when switching from Broken Tangents to Continuous Tangents Mode.
|
|
- Fixing Preview Curve for Linear and Catcall Rom when Closing Spline.
|
|
|
|
## [1.0.0-pre.8] - 2021-12-21
|
|
|
|
### Changed
|
|
|
|
- Added a `SplineExtrude` component and an accompanying ExtrudeSpline sample scene.
|
|
- When using a spline transform tool, CTRL/CMD + A now selects all spline elements.
|
|
- Improving Spline Inspector overlay.
|
|
- `SplineUtility.CalculateLength` now accepts `T : ISpline` instead of `Spline`.
|
|
|
|
### Fixed
|
|
|
|
- [1384451] Fixing knot handles size being too large.
|
|
- [1386704] Fixing SplineData Inspector not being displayed.
|
|
- Fixing wrong Spline length when editing spline using the inspector.
|
|
- [1384455] Fix single element selections breaking the undo stack.
|
|
- [1384448] Fix for CTRL/CMD + Drag not performing a multi selection.
|
|
- [1384457] Fix for an exception being sometimes thrown when drawing a spline and rotating the scene view.
|
|
- [1384520] Fixing stack overflow when entering playmode.
|
|
- Fixing SplineData conversion being wrong with KnotIndex.
|
|
|
|
## [1.0.0-pre.7] - 2021-11-17
|
|
|
|
### Changed
|
|
|
|
- Disable unstable GC alloc tests.
|
|
|
|
## [1.0.0-pre.6] - 2021-11-15
|
|
|
|
### Changed
|
|
|
|
- Replace references to 'time' with 'interpolation ratio' or 't'.
|
|
- Move distance to interpolation caching and lookup methods to `CurveUtility`, and document their use.
|
|
- Fix compile errors when opened in Unity 2021.2.
|
|
- Removed `Spline.ToNativeSpline`, use `new NativeSpline(ISpline)` instead.
|
|
- Removed `Spline.ToNativeArray`.
|
|
|
|
### Fixed
|
|
|
|
- Fixed issue where hidden start/end knot tangents would be selectable.
|
|
- Fixed active tangentOut incorrectly mirroring against tangentIn when changing tangent mode via shortcut.
|
|
- Fixed Knot Placement tool preview curve disappearing when cursor hovers over first knot.
|
|
- Fixed issue where knot would not align to tangents when switching from broken to mirrored or continuous modes.
|
|
- Fixed issue where hovering first knot while placing tangents would hide the last placed knot, its tangents and the preview curve.
|
|
|
|
## [1.0.0-pre.5] - 2021-11-02
|
|
|
|
- Initial release
|