Serializable Bezier Curve Editor [Property Drawer ⇒ SceneView]
shironokun
$5.99
$7.99
25%OFF
(no ratings)
Date |
Price |
---|---|
Date |
Price($) |
10/25(2024) |
5.99 |
11/04(2024) |
6.99 |
11/14(2024) |
7.99 |
11/19(2024) |
5.99 |
11/21(2024) |
5.99 |
Jump AssetStore
With this tool you are super easy create a Serializable Curve, no other component needed, just add a Serialize Field then Curve Editor GUI will come up to Scene View.*This package is Fully Compatible with any other Custom Editor tools like Odin inspector. Property Drawer is defined for Curve class and able to be serialized in any Editor GUI.This is a tools for helping you create serializable Curve. You will be super easy to serialize a curve in every class. The Curve Editor will just show up in Scene View Curve Editor while inspector is showing, a List of Curve edit is also supported.Key Feature:1) Scene View Curve EditorCurve editing, Anchor Point, Control Point editing.(*New Feature) Twisting mode, when your scene view set to "Rotate Tool" the twisting tool will show up at each anchor point.(*New Feature) Scaling mode, when your scene view set to "Scale Tool" the scaling point will show up at each anchor point.Move the whole Curve by pressing "Shift""Edit Base On", your can optional to set a "Base" for the curve, curve position, rotation and scale will be related to this transform, if none base mean the curve is related to world space.Manual, Linear, Auto Balanced, Isometric, Full Auto mode for Control PointOptional "Hide", "Preview", "Edit" modeAdd, Remove, Reset SegmentAlign whole Curve to CenterAlign point to Axis, by using this option you can modify point on a specified Axis."To Axis" Button, you can snap all your points in the curve to the Axis plane.Anchor Point Stick to Surface, with this mode anchor point will snap to collider surface on the scene. You can also setup a offset.2) Property Drawer SupportedYou can just add "Curve" to any Serializable object, curve editor will show up when Inspector drawing.3) Optional Twisting and ScalingBlender 3D like Curve twisting and scaling is possible, if you want to create something rotate smoothly as Curve, this is the pacakage for you.Many Useful Example (You can just use in your game! ):1) Object Following PathExample of make a object following the path2) List of Curve DataExample of editing multiple Curve3) Curved Object Array (3D)Example of Editor tools to create a object array in the scene4) Raycast EditingAn example of "Stick to Surface" editing mode. Anchor point will snap to surface automactically.5) Filling FieldAn example of filling curve by object6) Edit Base On Scene TransformAn example of Curve is related to Scene, but Curve data saved in Character7) Twisting CurveAn example of curve twisting, point scaling.Script Document:void AddSegment(Transform parent):Input 'parent' make First point related to parent transformOther point is related to the last point of curvevoid RemoveSegment(int index):Remove one Anchor pointVector3 Evaluate(float t, Transform parent):Input 't' is a float from 0~1 (Looping Index)Input 'parent' can make output Vector3 related to parent transform. (So rotate parent also rotating the curve, scale parent also scaling the curve.)Quaternion Rotation(float t, bool applyTwist, Transform parent = null)Input 't' is a float from 0~1Input 'applyTwist', you a option to apply twisting angle, when false the Evaluate angle will be point to normal.Input 'parent' can make output related to target parent.float EvaluateScale(float t)Input 't' is a float from 0~1Vector3 Tangent(float t):Getting the tagent Vector of point at Evaluate(t) (Usually used for moving forward)Vector3 Normal(float t)Getting the normal Vector of point at Evaluate(t)Vector3 BiNormal(float t)Getting the biNormal Vector of point at Evaluate(t)float GetTByIndex(int index)Getting the T by input anchor point indexfloat ClosestT(Vector3 point, float resolution, Transform parent = null)Find the closest evaluate value by input 'point' (Can see the Example at FollowPathWithMoveSpeed.cs script)List TryFindFillPoint(float resolution, Axis2D axis2D, Transform parent = null)By resolution and axis input, return a list of Point which inside the curve.