You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 KiB
34 KiB
Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[2.8.2] - 2025-09-18
Fixed
- [DOCATT-4646], [DOCATT-5603], [DOCATT-7045], [DOCATT-5044], [DOCATT-6376], [DOCATT-6626] Clarified API documentation following user feedback.
- [SPLB-360] Fixed a bug when selecting the clear component option, resulting in out of range exception
- [SPLB-361] Fixed a bug where the spline would not animate with Scene/Domain reload disabled upon entering playmode
- [SPLB-356] Fixed a bug where a null reference exception would occur after baking a SplineInstantiate component and then pressing Undo.
[2.8.1] - 2025-03-28
Fixed
- [SPLB-345] Fixed a bug which was causing null reference exceptions during shutdown in IL2CPP builds.
- [SPLB-343] Fixed a bug where
JoinSplinesOnKnotswould throw a null reference exception when one of the splines was linked with another spline. - [SPLB-341] Fixed a bug where changing the tangent mode on a knot on a prefab would not persist when entering play mode.
Changed
- Cleaned up internal code to align with release standards.
[2.8.0] - 2025-03-13
Fixed
- [SPLB-322] Fixed a bug where
SplineExtrudewouldn't update when multiple splines where modified. - [SPLB-323] Fixed a bug where splines displayed in the Scene view would not match serialization changes.
- [SPLB-324] Re-added a dependency to the IMGUI module that was removed along with the UGUI package.
- [SPLB-332] Fixed a bug where
Element Inspectorfields get pushed and squashed. - [SPLB-329] Fixed a bug where
SplineExtrudecould affect the mesh of otherSplineExtrude. - [SPLB-336] Fixed a bug where
SplineExtrudewould break with a range value of 0. - [SPLB-333] Fixed a bug where
Create Splinetool would sometimes throw an exception when the Esc or Enter keys were pressed.
Added
- [SPLB-329] Added the ability to target a mesh in the library with a
SplineExtrudecomponent
[2.7.2] - 2024-11-08
Fixed
- [SPLB-315] Fixed a bug where the
DrawSplineToolicon was missing in the Tools overlay. - [STO-3434] Fixed a bug where the
DrawSplineToolprevented the use of the View tool. - [STO-3435] Fixed a bug where the
DrawSplineTooldid not display the Tool settings overlay. - [SPLB-296] Fixed a bug where a log message appeared in the console when two knots are at the same position with 0-length tangents.
- [SPLB-304] Fixed a bug where an exception would be thrown when using
SplineInstantiatewith 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 the Inspector.
- [SPLB-311] Fixed a bug where the
SplineAnimatecomponent would not function correctly with non-uniform scale transforms. - Fixed compilation errors in builds.
- [SPLB-310] Fixed a bug where mesh extrude would not save when a change was 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
SplineContainerinspector 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
SplineExtrudeandSplineMeshoption enables new extrusion profiles, includingCircle,Square,Road, andSpline. - Added a section in the documentation for the
Source Spline Containerin theSplineExtrudecomponent.
Fixed
- [SPLB-292] Removed the dependency on the UGUI package.
- Removed the toggle to override the target spline in the
SplineExtrudeinspector. - [SPLB-288] Fixed a bug where a prefab
SplineContainerwould unexpectedly restore splines deleted before entering and exiting playmode. - [SPLB-284] Fixed a bug that prevented baking instances of multiple
SplineInstantiatecomponents when multi-selecting. - [SPLB-277] Fixed a bug where instantiating a prefab with
SplineAnimatecomponent 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
Fixed
- [SPLB-275] Fixed a bug where the
SplineContainercomponent would throw warning when entering playmode. - [SPLB-266] Fixed a bug where instantiating a
SplineExtrudecomponent at runtime would throw errors. - [SPLB-269] Fixed a bug where instantiating a
SplineAnimatecomponent at runtime would throw errors. - [SPLB-260] Fixed a bug where playing a
SplineAnimatefrom a start method would not work. - [SPLB-267] Fixed a bug where undoing a spline insertion in a container would throw errors from the
SplineInstantiatecomponent. - [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
float3knot positions to aSplineconstructor, or to the newAdd,AddRange,Insert, andInsertRangemethods, instead of usingBezierKnots. - Added an event to the
SplineAnimatecomponent that is triggered when the animation or loop is completed.
Changed
- Changed supported version in the documentation dropdown selector to 2022.3 and later.
Fixed
- [SPLB-246] Fixed performance and garbage collection (GC) memory allocation issues when evaluating splines using
SplineContainerAPI. - [STO-3176] Fixed an issue where
FitSplineToPointsutility 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
SplineAnimatecomponent would continuously output messages to the Console when in playmode and animated object was selected. - [SPLB-245] Fixed a bug where
SplineAnimatecomponent 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.
Fixed
- [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 Toolhad 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
Fixed
- [SPLB-208] Fixed a bug where
SplineToolContextwould attempt to draw empty Splines and flood the console with errors.
[2.5.0] - 2023-10-16
Added
- Exposed public API for
SplineInstantiate.Seed.
Fixed
- [SPLB-201] Fixed error messages showing in edit mode with spline components.
- [SPLB-203] Fixed a bug where baking
SplineInstantiateinstances broke prefab connections. - [SPLB-196] Fixed a bug where the
Randomstate was not restored after an update of the instances inSplineInstantiate. - Fixed a bug where the
SplineCacheUtilitywould send null reference exceptions. - [SPLB-183] Fixed a bug where duplicating the
SplineExtrudecomponent was not updating the mesh asset reference. - [SPLB-178] Fixed a bug where linking knots would not trigger a
Spline.changedevent. - [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.EvaluatePositionwas allocating memory when called. - [SPLB-181] Fixed a bug where the Auto tangent mode computed incorrect knot rotations.
- Changed the
SplineComponentdisplay name in the Inspector toSpline Containeras a response to user feedback.
[2.4.0] - 2023-07-26
Added
- Exposed public APIs for
SplineUtility.ReverseFlow,SplineUtility.JoinSplinesOnKnots, andSplineUtility.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 Splineshortcut 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.
Fixed
- [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.GetNearestPointwould return incorrect values for the interpolation.
[2.3.0] - 2023-05-31
Added
- Exposed public APIs for
SplineToolandSplineHandles. - Added a method to bake SplineInstantiate objects in the scene so the users can modify the resulting GameObjects.
Fixed
- [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
SplineAnimatedid not work in Play mode. - [SPLB-152] Fixed objects created from
SplineInstantiatenot inheriting static flags from parentGameObject. - [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
SplineMeshHandlesrendering.
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
LoftRoadBehaviourcomponent where Undo calls prevented the project from building.
Changed
- Changed
Knot Placementtool 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.DataPointHandleswhich requires an additional parameter,splineID. - [SPLB-72] Added the
SplineContainer.SplineAdded,SplineContainer.SplineRemovedandSplineContainer.SplineReorderedpublic events and removed those same events fromISplineContainer - [SPLB-72] Added the
SplineUtility.ReorderSplinepublic 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 Placementtool. - Added
ISplineContainer.AddSpline(Spline)function overload. - Added new functions on
Splineto get and setSplineData. - Added new
EmbeddedSplineDatatype to easily create and referenceSplineDatastored on arbitrarySplineobjects.
Changed
- [SPLB-127] Changes made to a spline in the Inspector no longer invoke the
Spline.Changedevent with theSplineModification.Defaulttype. TheSpline.Changedevent is still invoked, but with specific modification types likeSplineModification.KnotModified. - [SPLB-118] Changed the documentation of
SplineMath.PointLineNearestPointandSplineMath.RayLineNearestPointto 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
WidthSplineDataandMultipleRoadBehaviourcomponents from the samples. - Reduced heap allocations when modifying Spline properties.
- [SPLB-92] Modified the Inspector to use
SplineModification.KnotRemovedevents to remove knots and pass the index for each removed knot. - [SPLB-92] Modified the
Spline.SetTangentModeandSpline.SetAutoSmoothTensionmethods to invokeSplineModification.KnotModifiedevents for each modified knot and pass the index. - Increased the threshold for tangent dragging when placing knots with the
Knot Placementtool.
Fixed
- [SPLB-141] Fixed a bug where
SplineExtrudecomponent would overwrite existing Mesh assets. - [SPLB-129] Fixed a bug where
CurveUtility.EvaluateUpVectorcaused burst errors. - [SPLB-138] Fixed a bug where
SplineJobs.EvaluatePositionTangentNormalreturned 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
BezierKnotusing Editor tools and runtime API. - [SPLB-130] Fixed a bug that would crash the Editor if the
SplineInstantiatecomponent had its parent GameObject in the list of items to instantiate. - [SPLB-90] Fixed an issue where
Spline.SetKnotNoNotifytriggered 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.Changedcallback 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.KnotInsertedevent 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
LoftRoadBehaviourwould 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.FindObjectsOfTypeAPI 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.DataPointHandleswithout asplineIDargument would crash. - Fixed a bug that would cause
SplineDatahandles to interfere with scene navigation. - Fixed SplineData handles not setting
GUI.changedcorrectly. - Fixed an issue where
SplineSelectionerrors could put the Scene view into an unrecoverable broken state. - Added a new property drawer for
intinterpreted as a spline index,SplineIndexAttribute. - Fixed a bug where modifying and undoing changes to
Splinevalues in the Inspector resulted in an incorrectSplinelength calculation. - Added
SplineData.OnSplineModifiedfunction to attempt to preserve knot indices when knots are inserted or removed. This is called automatically for all embeddedSplineDatacollections.
[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.EvaluateNurbsfunction to evaluate positions on NURBS curves. - New
SplineUtility.FitSplineToPointsfunction to fit a spline to a provided set of curve points. - Added a new public static class,
InterpolatorUtility, to improve the discoverability ofIInterpolatorimplementations. - Added the functionality to offset the starting position of a
SplineAnimatecomponent'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.ReducePointsfunction to remove redundant points on a line and still retain the original shape. - New
Spline.SetAutoSmoothTangentTensionfunction to specify the tension used when tangents are calculated. - Added
Spline Filterto the Spline tools settings. - Added spline selection from the Spline Inspector.
- Added support to show knot indices in the Scene View.
- New
Paintexample shows how to create a spline from a list of points. - Updated the
SplineUtility.GetAutoSmoothTangentfunction to use centripetal parameterization to calculate the tangents in Auto tangent mode. - New
SplineUtility.GetAutoSmoothTangentfunction 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.SetKnotPlacementToolfunction to set the active context toSplineToolContextand the active tool toKnotPlacementTool.
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 Toolnaming 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 Toolnaming across menus and docs. - [STO-2728] Changed the label of the
SplineAnimatecomponent'sWorldalignment mode toWorld Spacein the Inspector. - Modified the
Draw Splines Toolto 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 SelectionandElement Preselectioncolors. - Changed tangent's shapes to diamonds.
- Modified the
Knot Placement Toolto have a live preview for segments with auto-smoothed knots. - Dependency on Unity Physics Module is now optional.
- Modified
SplinePathto support theClosedproperty 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.EvaluationPositionwhen 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
SplineInstantiatecomponent is set toExact. - [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
LoftRoadBehaviorwould 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.Extrudewould create twisted mesh geometry. - [STO-2701] Fixed a bug where
LoftRoadBehaviorwould 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
SplineInstantiatewas not instantiating correctly when the instantiation method was set toMethod.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
Changedcallback. - [STO-2695] Fixed a bug that would throw an exception when the
SplineAnimatecomponent 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
Splineobject was not stored in a ISplineContainer. - [SPLB-40] Fixed a bug where a tangent's Magnitude field in the
Element Inspectorcreated 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 Contextnot working withISplineContainerimplementations that define a validKnotCollection.
[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, andSplineRangetypes. 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.GetBoundsto 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 Toolto display only one tangent when a new knot is created. - Simplified tangents in the
Draw Splines Toolby removing the interactable handle . - Renamed
Knot Placement TooltoDraw Splines Tool. - Modified the
Draw Splines Toolto 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 Tooland be selectable by rect selection. - Added
ReadOnlyto knot's and length'sNativeArrayto fix IndexOutOfRangeException onNativeSpline. - Fixed tangents when closing the spline to keep user-defined values.
- Fixed index error in the
Spline.SendSizeChangeEventmethod. - 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 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. UseSpline.GetTangentModeandSpline.SetTangentModeto 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.Evaluateincorrectly evaluating the up vector. - [1403359] Fixed issue where
SplineExtrudecomponent 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.CreateSquarenow respects theradiusargument.
[1.0.0] - 2022-02-25
Changed
- New icons set for Spline-related items.
SplineContainerinspector 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.ConvertIndexUnitnow 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
SplineInstantiatecomponent and updating associated samples. - Added a
SplineAnimatecomponent 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
SplineExtrudecomponent 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.CalculateLengthnow acceptsT : ISplineinstead ofSpline.
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, usenew 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