Special Curves
Special Curves
This addon add various curve object to blender.
10 chains, 3 arrows, 3 plants, 3 roads, flag, 2 hoses, lightning, 2 pipes, 3 stairs, Stitches, RandomWire and CylinderLine.
They are procedural, so you can easily adjust various parameters!
※In Blender 3.5 or higher, Shade Smooth does not work well with Arrow which Type is Round.
Installation
- download zip file, do not unzip it.
- go to Blender's user preference,open the Add-ons tab
- click Install and select the zip file.
- check the box next to its name to enable it.
How to use
- Go to 3D View.
- Add > Special Curves > select anything.
- Once you created object from above and select it, properties will appear in 3D View > N Panel > Item > Special Curves.
- To convert mesh this object, press Convert to Mesh button in panel. ***It needs to turn on Realize Instance in Preferences.***
Minimum distance/maximum count of curve splits are set to prevent blender crashes in Preferences.
This works when you create new special curve, so doesn't work existing one.
To use UV with Chain, Plant, Road, Stair and Stitches, you need to turn on Use UV in panel.
*It may not be necessary to turn on Use UV in Blender 4.1.
*In Blender3.6, UV doesn't work well.
Correspondence table
*Arrow UV is valid only for round and rect1 X.
*Ball of Chain doesn't correspond for Multiple Spline in 1 Object.
*To use UV to Cuban Link of Chain, the value Subdivide need to be set 0. *UV's "z" and caps_mask doesn't correspond for Multiple Spline in 1 Object.
Parameteres
Arrow
- Type: Arrrow types(Round / Rect 1 / Rect 2).
- Both Tip: Arrow directs both tip or not.
- Root Scale(when Both Tip is 0): 1 is normal.
- Curve Resolution: This determine arrow's smoothness.
- Shade Smooth
- Auto Smooth Angle(when Shade Smooth is on)
- Material: Set arrow's material from here.
- Resolution(when type is Round): Resolution of side of cylinder.
- Radius(when type is Round): Radius of cylinder.
- Tip Radius Offset(when type is Round): Difference scale between cylinder radius and tip radius. 1 is same radius.
- Tip Length(when type is Round or Rect 1):
- Width/Height(when type is Rect 1 or Rect 2)
- Tip Width Offset/Tip Height Offset(when type is Rect 1)
- Tip Width/Tip Height/Tip Thickness(when type is Rect 2)
- Both Side(when type is Rect2)
Chain
- Type: Chain type(Chain / Round Chain / Circular / Rain / Rectangle / Ball / Circle / Band / Cuban Link / Custom Object).
- Size: Size of each parts.
- Rotation: Rotation value from neighboring parts.
- Start/End: Trim value.
- Distance: Each parts' distance.
- Radius(when type isn't Band or Custom Object)
- Resolution(when type isn't Band or Custom Object)
- Shade Smooth
- Auto Smooth Angle(when Shade Smooth is on)
- Material: Set chain's material from here.
- Circle Resolution(when type is Round Chain, Circular, Rain or Circle)
- Width/Height(when type is Round Chain, Rectangle or Band)
- Ball Subdivisions(when type is Ball)
- Thickness/Depth(when type is Band)
- Fillet Count / Fillet Rradius(when type is Band): Corner chamfer(Fillet Radius is limited to avoid overlapping geometry).
- Clip Shape(when type is Cuban Link): Clipping top and bottom shape.
- Subdivide(when type is Cuban Link): Subdivision count. UV only works when this value is 0.
- Main/Start Point/End Point Object(when type is Custom Object): Object to generate.
- Use Custom Alignment(when type is Custom Object): If on, You can manually set each object's direction. If off, every objects face same direction.
- Align Direction(when Use Custom Alignment is on): Which axis of the object should be oriented with respect to the normals and tangents of the curve. ***Don't set same value between Normal and Tangent.***
- Rotation Axis(when Use Custom Alignment is on): which axis the Rotation value affects.
Plant
- Type: Plant type(Thron / Vine / Cactus).
- Radius
- Fill Caps
- Resample By Distance: If on, the number of curve divisions is determined by the distance. If off, it is determined by count.
- Distance(when Resample By Distance is on): ***Setting this value too low can crash Blender.***
- Count(when Resample By Distance is off)
- Stem Material
- Thron Material(when type is not Vine)
- Shade Smooth
- Auto Smooth Angle(when Shade Smooth is on)
- Thorn Length(when type is Thorn)
- Thorn Resolution(when type is Thorn)
- Length Random Factor(when type is Thorn): If 0, all thorn's length will be same.
- Length Seed(when type is Thorn)
- Offset(when type is Thorn or Cactus): How far away thorn from stem.
- Exponent(when type is Thorn): Change thorn shape.
- Thorn Random Rotation(when type is Thorn): If 0, thorns will line up in opposite 2 directions.
- Rotation Seed(when type is Thorn)
- Thorn Radius(when type is Thorn)
- Stem Resolution(when type is Thorn)
- Tip Shrink(when type is Thorn or Vine): If 1, Stem shrink towards the tip.
- Scale along Curve(when type is Thorn): If 0, thorn scale down towards the tip.
- Delete Start/End Point(when type is Thorn)
- Use Curve's Tilt(when type is Vine): If off, use the Tilt value below to twist at regular intervals.
- Tilt(when type is Vine)
- Count(when type is Vine or Cactus)
- Resolution(when type is Vine): Each vine's resolution.
- Inner Scale / Inflation(when type is Cactus): Change cactus's cross section shape.
- Auto Shrink(when type is Cactus): If on, object will automatically shrink like cactus shape. If off, shape is determined by below parameters.
- Minimum Radius(when type is Cactus): Tip's minimum radius.
- Shrink From(when type is Cactus): 0 is from root. 0.5 is from half.
- Exponent(when type is Cactus): How to shrink.
- NeedlePosAlongCurveDistance(when type is Cactus): If on, the number of needle is determined by the distance. If off, it is determined by count.
- Needle Pos Distance(when type is Cactus): ***Setting this value too low can crash Blender.***
- Needle Pos Count(when type is Cactus)
- Needle Radius(when type is Cactus)
- Needle Length(when type is Cactus)
- Tip / Root Delete Factor(when type is Cactus): Delete needle from tip / root. 0 is delete nothing, 1 is delete everything.
Road
- Type: Road type(Cobblestone / Brick / Railroad)
- Width
- Depth
- Resample By Distance: If on, the number of curve divisions is determined by the distance. If off, it is determined by count.
- Distance: ***Setting this value too low can crash Blender.***
- Count(when Resample By Distance is off)
- Road Material
- Stone Material(when type is not railroad)
- Rail Material(when type is railroad)
- Shade Smooth
- Auto Smooth Angle(when Shade Smooth is on)
- Width Count(when type is Cobblestone or Brick)
- Gap(when type is Cobblestone)
- Scale(when type is Cobblestone): Scale of the base noise octave on changing stone shape. The larger the value, the finer the shape changes.
- Seed(when type is Cobblestone)
- Stone Depth(when type is Cobblestone or Brick)
- Factor(when type is Cobblestone): Influence of changing shape.
- Baundary Type(when type is Cobblestone)
- Gap1 / Gap2(when type is Brick): Gap of each axis.
- Offset(when type is Brick)
- Radius(when type is Railroad): Radius of railroad ties.
- Resolution(when type is Railroad): Resolution of railroad ties.
- Bevel Count / Radius(when type is Railroad): Corner chamfer(Bevel Radius is limited to avoid overlapping geometry).
- Rotation(when type is Railroad): Railroad ties' rotation.
- Rail Scale(when type is Railroad): Scale of entire rail.
- Rail Width Offset(when type is Railroad): Spacing between rails.
- Rail Height Offset(when type is Railroad):
- Show Rail Shape Settings(when type is Railroad): If on, you can manually change rail shape with below parameters.
- Width / Height / Height Offset 1,2,3,4,5 / Width Scale 1,2,3
Cable
- Resample By Distance: If on, the number of curve divisions is determined by the distance. If off, it is determined by count.
- Distance: ***Setting this value too low can crash Blender.***
- Count(when Resample By Distance is off)
- Cable Count
- Radius
- Resolution
- Fill Caps
- Location Offset: Initial position deviation for each cable.
- Noise Offset: Center part offset.
- Noise Strength
- Noise Scale: Scale of the base noise octave on changing cable shape. The larger the value, the finer the shape changes.
- Noise Detail
- Noise Similarity: If 0, every cable shape will be same.
- W: Texture coordinate to evaluate the noise at.
- Pinch: Whether the tip part is affected by noise.
- Pinch Range: Area affected by noise.
- Pinch Offset
- Cyclic UV: If the curve is cyclic and you want to use uv's x, turn it on.
- Material
Flag
- Resample By Distance: If on, the number of curve divisions is determined by the distance. If off, it is determined by count.
- String Res Distance / Flag Count by Distance: ***Setting this value too low can crash Blender.***
- String Res Count / Flag Count(when Resample By Distance is off)
- Resolution: String resolution.
- Radius
- Fill Caps
- Material
- Width: Flag width.
- Length: Flag length.
- Tip Scale: Tip edge scale. If 0, each flag will be triangle.
- Remove Both Tip
- Fit along Curve: A feature to use when the flag does not follow the curve. Align the root vertex of the flag with the curve. Smaller/larger values for String Res Distance / Sting Res Count should give a better fit.
- Resolution: Flag Resolution.
Hose
- Type
- Resample By Distance: If on, the number of curve divisions is determined by the distance. If off, it is determined by count.
- Distance: ***Setting this value too low can crash Blender.***
- Count(when Resample By Distance is off)
- Resolution
- Radius
- Radius Offset
- Step: Interval between points to be offset. if 2, places that are offset and places that are not are alternated.
- Fill Caps
- Numerator(when Type is 1): As this value increases, the offset point spreads out. If it becomes more than the value of step, it sticks.
- Shade Smooth
- Auto Smooth Angle(when Shade Smooth is on)
- Material
Lightning
- Noise W: Texture coordinate to evaluate the noise at.
- Seed: Randomize forks.
- Resample By Distance: If on, the number of curve divisions is determined by the distance. If off, it is determined by count.
- Distance: ***Setting this value too low can crash Blender.***
- Material
- Trim
- Start: From 0 to 1, it disappears from the root to the tip.
- End: From 1 to 0, it disappears from the tip to the root.
- Without Wiggle: From 1 to 0, it disappears from the tip to the root without wiggle.
- Main Noise / Fine Tune Noise
- Scale: Scale of the base noise octave on changing lightning shape. The larger the value, the finer the shape changes.
- Boost: Noise strength.
- Fork1 / Fork2 (Fork 1 is generated from main lightning, Fork2 is generated from Fork1)
- Probability: Proportion to generate.
- Radius
- Length
- Noise Scale: Scale of the base noise octave on changing lightning shape. The larger the value, the finer the shape changes.
- Noise Boost: Noise strength.
Pipe
- Type
- Resample By Distance: If on, the number of curve divisions is determined by the distance. If off, it is determined by count.
- Distance: ***Setting this value too low can crash Blender.***
- Shade Smooth
- Auto Smooth Angle(when Shade Smooth is on)
- Resolution
- Radius
- Radius Random: Randomize pipe radius.
- Seed: Seed value for Radius Randomize.
- Material
- Connector
- Depth
- Hide Start / End
- Material
- [When Pipe Type is 0]
- Type
- Resolution
- Radius Offset: Difference from pipe radius.
- [When Connector type is 1]
- Extrude
- Step: Spacing to extrude faces
- Offset1
- Offset2
- [When Pipe Type is 1]
- Width
- Height
- Thickness
- Bolt(when Pipe Type and Connector Type are 0)
- Count: Bolt count. They will be arranged in a circle.
- Radius
- Depth
- Position Offset: Offset to Connector Radius.
- Material
Stair
- Type
- Resample By Distance: If on, the number of curve divisions is determined by the distance. If off, it is determined by count.
- Distance: ***Setting this value too low can crash Blender.***
- Shade Smooth
- Auto Smooth Angle(when Shade Smooth is on)
- Width
- Material
- Handrail
- Resolution
- Width
- Radius
- Z Offset
- Tilt
- Tip Extrude
- Shape Scale
- Material
- Baluster
- Type
- Resolution
- Resolution along Z
- Depth
- Radius
- Z Offset
- Material
- Stringer(when Stair Type is 0)
- Depth
- Thickness
- Z Offset
- Material
Stitches
- Type: Stitches type(Bevel / Bezier)
- Resample By Distance: If on, the number of curve divisions is determined by the distance. If off, it is determined by count.
- Distance: ***Setting this value too low can crash Blender.***
- Count(when Resample By Distance is off).
- Shade Smooth
- Auto Smooth Angle(when Shade Smooth is on).
- Resolution: Resoluion of each stich's profile curve.
- Radius: Radius of each stich's profile curve.
- Width: Width of tips.
- Height Offset
- Center Distsance(when type is Bevel): Distnace of center 2 points.
- Center Radius Factor(when type is Bevel): Radius factor of center 2 points.
- Bevel Count(when type is Bevel): Bevel count of 2 angles. The higher the value, the smoother the effect.
- Bevel Radois(when type is Bevel): Radius of 2 bevels. The higher the value, the smoother the effect.
- Fill Caps: Fill tips.
- Use UV: You can use each uv attributes when you turn this on. This may slow your pc.
- Angle: Angle of stitch along curve.
- Random Angle
- Random Seed
- ZigZag
- Cross
- Material
- Center Handle Width(when type is Bezier): Type "Bezier" controls stitch by 3 control points.
- Tip Handle Width(when type is Bezier)
- Tip Handle Height(when type is Bezier)
RandomWire
- Resample By Distance: If on, the number of curve divisions is determined by the distance. If off, it is determined by count.
- Distance: ***Setting this value too low can crash Blender.***
- Count(when Resample By Distance is off).
- Shade Smooth
- Auto Smooth Angle(when Shade Smooth is on).
- Line: Make wire from one line.
- Curve Radius: Radius of base curve.
- Curve Resolution: Resolution of base curve.
- Triangulate: Convert faces of base curve to triangle.
- Delete Geo Factor: Percentage of deleting geometry.
- Delete Geo Seed: Random seed of deleting geometry.
- Merge Distance: Merge each vertices by distance.
- Noise
- Scale
- W
- Size
- Seed
- Wire
- Radius
- Resolution
- Material
- Sphere
- Radius
- Subdivision
- Material
- Face
- Has Thickness
- Material
CylinderLine
- Resample By Distance: If on, the number of curve divisions is determined by the distance. If off, it is determined by count.
- Distance: ***Setting this value too low can crash Blender.***
- Count(when Resample By Distance is off).
- Shade Smooth
- Auto Smooth Angle(when Shade Smooth is on).
- Resolution
- Radius
- Fillet Count: Bevel count.
- Fillet Radius: Bebel radius.
- Thickness
- reverse: Reverse order. Rotation and scale affect by order.
- Material
- Rotaiton
- Type(Index / Object): Rotate according to index order or distance to a given object.
- Initial Rotation: Rotation of whole cylinder.
- Rotation: In index type, last one rotates this value.
In object type, the cylinder which distance to the specified object is 0 will rotate this amount. - Random Value
- Random Seed
- Affect 1st: Affect or not rotation vaue for 1st cylinder.
- Object(when type is Object): Distance between this and each cylinder affect rotation.
*Object's scale affect rotate range. - Flip Infuluence: The further away the object is, the more it will rotate.
- Scale
- Type(Radius / Index / Object): Scale according to radius of curve, index order or distance to a given object.
- Scale
- Random Value
- Random Seed
- Affect All Axis: If you turn this on, the scale affects also thickness.
- Index Factor(when type is Index)
- Object(when type is Object): Distance between this and each cylinder affect scale.
- Flip Influence: The further away the object is, the more it will scale.
UV
Use Attribute (and Separate XYZ) node in Shader Editor to use uv.
Returns a value between 0 and 1 for a limited orientation for each curve.
When multiple spline in one object, uv z and caps_mask can't use.
Arrow(Round or Rect1 only)
Chain
Plant
Vine's Y is per vine.
Vine's Z can't use.
Cactus's thorn is same as above.
Road
Railroad's Z can't use.
The stone part of the Brick cannot be used other than the per stone below.
Cable
Cable's Z can't use.
Flag
Flag's Z can't use.
Hose
Pipe
Pipe's Z can't use.
Connector of Pipe type 1 can't use Z.
Stair
Baluster's Z can't use
Stitches
*For the sake of explanation, I have added Add and Modulo and rotated the UVs to make it easier to understand.
If "caps_mask" is specified for attribute, the caps part will be white and the other parts will be black.
Thorn, Cactus, Cable, Flag, Hose use "caps_mask".
Pipe's connector use "connector_caps_mask".
Stairs's handrail use "handrail_caps_mask".
Convert selection to Special Curve
You can convert selection to Special Curve when you're selecting mesh and in Edit Mode.
Note
- Ball chain isn't compatible with mutiple curves in one object.
- To use UV by yourself, you need to convert object to mesh.
- Set parameter "Distance" in chain to near 0, Blender may slow your PC down.
- Geometry can collapse on sharp turns (especially on road).
- In Cobblestone, If the geometry density is set too high, the faces will overlap and the appearance will be distorted.
Update
3.1.2 - Compatible with Blender 4.2.
3.1.1 - Fixed bug of stair.
3.1.0 - Add Stitches, RandomWire and CylinderLine.
Realize Instances is no longer removed.
Some panels improved usability.
3.0.6 - Fixed an issue where icons were not visible.
3.0.5 - Fixed issue that shading turns black when attribute "uv" used in Cycles. ("uv" turned into "uv_SC")
3.0.4 - Fixed some issues.
Added caps_mask attribute for some type.
License
The license follows GPL.
This contains geometry node function called CurveToMeshUV made by Stephan Kellermayr.
Author
Sales | 100+ |
Customer Ratings | 2 |
Average Rating | |
Published | about 2 years ago |
Blender Version | 4.2, 4.1, 4.0, 3.6, 3.5, 3.4, 3.3, 3.2, 3.1 |
License | GPL |
Have questions before purchasing?
Contact the Creator with your questions right now.
Login to Message