This page covers the //ezspline 3d subcommand which feature 3D spline shapes embedded along the spline path.
Syntax
//ezspline 3d <shape><pattern>
<shape> : Choose one from the list below.
<pattern>: Specifies the block(s) the spline is made out of, e.g. clay.
The remaining arguments are outlined on thesubpage.
List of <shape>s
//ezspline 3d Beads (Be)
Bead spline
Generates a beads-shaped spline along the selected positions.
Beads shape has no parameters.
Example:
//ezsp 3d Beads clay 10
//ezspline 3d Cubes (Cu)
Cubes Spline
Generates a chainlink-shaped spline along the selected positions.
[Gap:<value>] (G) (Default: 0.5):
Sets the gap between cubes
Examples:
//ezsp 3d Cubes clay 7
Default gap is 0.5
//ezsp 3d Cubes(Gap:0.0) clay 7
//ezsp 3d Cubes(Gap:1.0) clay 7
//ezsp 3d Cu(G:2.0) clay 7
//ezspline 3d Chainlink (Ch)
Chain-Link Spline
Generates a highly customisable chainlink-shaped spline along the selected positions.
[Extrusion:<value>] (E) (Default: 0.2):
The amount to length to add for each individual link along the chain.
[Thickness:<value>] (T) (Default: 1.0):
The inner/minor radius of each link.
[Gap:<value>] (G) (Default: 0.0):
Amount to offset each link by, adjusting the overlap of the links in the chain.
[MajorExponent:<value>] (M) (Default: 3.0):
The exponent defining the outer shape of an individual chain link.
[MinorExponent:<value>] (N) (Default: 3.0):
The exponent defining the shape of the cross-section of an individual chain link.
[Place:<value>] (P) (Default: "BOTH"):
Choose between "FIRST", "SECOND", or "BOTH" to place only half of the chain links or both.
Examples:
//ezsp 3d Chainlink clay 10
//ezsp 3d Chainlink(M:99,N:99,Extrusion:0.6) clay 10
M:99 is responsible for making the chains appear rectangular (instead of elliptical).
N:99 is responsible for making the square chain link's cross-section square-shaped.
//ezsp 3d Chainlink(M:1,N:1,E:0.7,G:-0.2,T:1.2) clay 11
//ezsp 3d Chainlink(M:2,N:2,E:0,G:1) clay 11
//ezspline 3d Chainlink(P:FIRST)red_terracotta 10
//ezspline 3d Chainlink(P:SECOND)blue_wool 10
//ezspline 3d Fishnet (Fi)
Fishnet Spline
Generates a fishnet-shaped spline along the selected positions.
[Spacing:<value>] (S) (Default: 1.0):
The distance between the strings of the net.
[Depth:<value>] (D) (Default: 0.2):
The depth of each string within the net. How much it protrudes towards the center of the spline.
[Width:<value>] (W) (Default: 0.2):
The width of each string.
Examples:
//ezspline 3d Fishnet clay 10
//ezsp 3d Fishnet(Spacing:2.0) clay 10
//ezsp 3d Fishnet(S:2.0,Depth:1.0,Width:0.3) clay 10
//ezsp 3d Fi(S:2.0,D:0.5,W:0.5) clay 10
//ezspline 3d Oscillate (Os)
Oscillation Spline
Generates a spline with an oscillating thickness along the selected positions.
[Depth:<value>] (D) (Default: 0.2):
Specifies how many blocks deep the ridges cut into the surface of the spline.
[Interval:<value>] (I) (Default: 0.5):
Specifies the distance between each ridge.
Examples:
//ezspline 3d Oscillate clay 10
Uses default values Depth:0.2 and Interval:0.5
//ezsp 3d Oscillate(Depth:0.6) clay 10
//ezsp 3d Oscillate(Depth:0.6,Interval:1.5) clay 10
//ezsp 3d Oscillate(Depth:0.2,Interval:1.5) clay 10
Can be abbreviated to Os(D:0.2,I:1.5)
//ezspline 3d Rings (Ri)
Rings Spline
Generates a highly customisable spline of repeating rings/cubes/spheres along the spline path.
[Extrusion:<value>] (E) (Default: 0.2):
The amount to length to add for each individual link along the chain.
[Thickness:<value>] (T) (Default: 0.15):
Thickness of each ring. Smaller values lead to a larger hole in the middle. 1.0 results in a (super-)sphere.
[Gap:<value>] (G) (Default: 0.0):
Relative gap size between each torus. 0 means there is no gap, all toruses come right after another. 1 means the distance is exactly the size of one torus. Negative values result in overlapping.
[MajorExponent:<value>] (M) (Default: 2.0):
The exponent defining the outer shape of an individual torus.
[MinorExponent:<value>] (N) (Default: 2.0):
The exponent defining the shape of the cross-section of an individual torus.
//ezspline 3d Scales (Sc)
Scales Spline
Generates a highly customisable spline with a scales-like three-dimensional texture on it.
Columns (C). (Default: 8):
Sets how many tiles should fit per "layer".
HorizontalOffset(H). Default: 1.05):
Determines how far apart each tile is sideways.
VerticalOffset(V). (Default: 1.2):
Determines how far apart each tile is along the spline path direction.
MajorExponent(M). (Default: 1.4):
The exponent defining the shape of the tile.
MinorExponent(N). (Default: 14.0):
The exponent defining the shape of the cross-section of each tile.
Angle(A). (Default: 14.0):
Defines the orientation of each tile.
DepthMultiplier(D). (Default: 1.0):
Adjusts how deep the ridges between the tiles go.
Values larger than 1 carve out blocks.
Value less than 1 fill with more blocks.
Example:
//ezsp 3d Sc(c:8,d:1.2) clay 22,9
//ezt ambient clay ##EnchantedBright
//ezspline 3d Noodles (No)
Noodles Spline
Experimental spline which generates a set of twisted, intertwining, non-intersecting sub-splines.
[Amount:<value>] (A) (Default: 12):
The number of intertwining lines.
[Tangle:<value>] (T) (Default: 3.0):
Determines how much the noodles intertwine and move around. Low values result in fully straight noodles. High values result in more chaotic paths.
[Density:<value>] (D) (Default: 70%):
Indirectly determines the width of the noodles by specifying how much the cross-section should be filled with material vs just air. 100% makes the noodles as thick as they can be so that the given amount of noodles can still fit into the spline radius. Thus, large values do not leave the noodles much space to move which gives rise to glitchy paths. Small values leave large air gaps between the noodles.
Example: Cross section of the spline at 100%
Example Cross section of the spline at 50% (same number of noodles)
The smaller the density the smaller the individual radius of the noodles. Difference to the width parameter: The determined radius is the one used for collision detection. The width parameter has no influence on the collision between noodles.
[Width:<value>] (W) (Default: 0.8):
Relative width multiplier for all noodles independent of the noodle collision detection. Noodle collisions are calculated at width 1.0. This parameter defines the width at which the noodles are rendered/placed. This means values larger than one result in overlapping noodles, clipping into each other, meanwhile, values smaller than one ensure an air gap between all noodles.
[Frequency:<value>] (F) (Default: 0.5):
Sets the frequency value of the underlying noise responsible for the random perturbations. Higher values result in jittering.
[Seed:<value>] (S) (Default: -1 (random)):
Sets the seed of the underlying noise responsible for the random perturbations.
//ezsp 3d Beads
This shape can also be achieved with theshape using the following set of parameters: Rings(E:0,T:1,G:0,M:2,N:2)
//ezsp 3d Cubes([Gap:<value>])
(!) We provide an interactive 3D plot to play around with all parameters:
//ezsp 3d Chainlink([Extrusion:<value>],[Thickness:<value>],[Gap:<value>],[MajorExponent:<value>],[MinorExponent:<value>],[Place:<value>])
(!) We provide an interactive 3D plot to play around with all parameters (it's very neat):
//ezsp 3d Fishnet([Spacing:<value>],[Depth:<value>],[Width:<value>])
(!) We provide an interactive 3D plot to play around with all parameters (it's very neat):
//ezsp 3d Oscillate([Depth:<value>],[Interval:<value>])
(!) We provide an interactive 3D plot to play around with all parameters: