高级样条形状

以下 //ezspline 子命令包含三个功能强大但更为复杂的样条形状,具有几乎无限的自定义可能性。


//ezspline noise

chevron-right噪声样条 (Noise Spline)hashtag

//ezsp noise <palette> <radii> [noise] [depth] [-s <stretch>] [-t <angle>] [-p <kbParameters>] [-q <quality>] [-n <normalMode>] [-h]

沿着选定的位置生成基于噪声的样条。

  • <Palette>:

    • 指定构成样条的方块。

  • [noise] (默认: "Perlin(Freq:2,z:0.5)"):

    • 嵌入到样条路径中的噪声。

  • [depth] (默认: 0.7):

    • 噪声切入圆柱状样条的深度。深度趋近于 0 时,形状趋近于原始的圆柱状样条;0.5 表示噪声最深可达半径的一半;1.0 表示达到全半径,即触及中心。大于 1.0 的值会导致外观破碎。

  • [-i <expression>] (默认: "r=sqrt(x*x+y*y);t=(r-1)/d+1;f=r>1?1:(4*r*(r-1))^2;g=f*t+(1-f)*n;p=max((r-1)/min(d,1)+1,.001);(g>t)*p"):

    • 为大神准备的高级参数。如果上面的内容看起来很吓人,请忽略它。

    • 此表达式实现了在特定相对 <depth>(深度)下将噪声切入圆柱体的功能。推导过程arrow-up-right。如果你_真的_想尝试,可以在这里输入不同的表达式以获得不同的结果。不过如果你不需要自定义噪声,直接使用 //ezspline expression 即可。

    • 输入参数为 x,y,z,n,d,其中 x,y,z 的赋值方式与 //ezspline expression 相同,n 是给定 <noise> 在坐标 x,y,z 处的评估值,d 是给定的 <depth> 参数。

    • 一个备选表达式可以是:

      • r=sqrt(x*x+y*y);(r<1&&n>0.5)*max(n,0.01):如果你只想让噪声被限制在圆柱形状内。

其余参数在 通用参数 子页面中列出。

示例:

//ezspline noise ##Grayscale 10

chevron-right演示hashtag

这只是我随手拼凑的一组简短的噪声命令,用来展示噪声样条线的功能。 ~eztaK

//ezspline noise -##Magma 5,25 Ce(F:1.5,fO:1,cR:sub,M:OR,U:-.6) 0.6 -t 90

//ezspline noise ##GrayWarm(3:11),251:8*15 25,10,25 Ce(F:1.6,fO:1,cD:r,cR:r,M:OR,L:-1.1,U:-.2) 0.4

//ezspline noise -w Panes light_gray_stained_glass 20,15,25 Ce(f:1.4,z:.3,m:or,l:-1,u:-0.5) 3 -t 600 -i t=0.2;r=sqrt(x*x+y*y);m=1-abs(2*r-t-1)/abs(t-1);n<m&&r<1

//ezspline noise ##Brown 20,12 Ce(f:4,cr:sub,cj:.8,m:or,u:-.5,l:-1.3) 0.2 -s 6 -t 20

//ezspline noise -##GlowBlue(6:16) 20,12 Ce(f:2,cr:sub,m:or,u:-.55,l:-0.551,z:0.1) 0.9 -t 200

//ezspline noise -w Slabs ##GrayCold(4:11),waxed_weathered_cut_copper 20 Ce(f:1.5,cr:sub,m:or,u:-0.85,l:-.5,y:0.3) -n UPRIGHT -i (x*x+n+y*y<1&&y<0)*(y+0.97)


//ezspline expression

chevron-right表达式样条线hashtag

//ezsp expression <palette> <radii>[-s <stretch>] [-t <angle>] [-p <kbParameters>] [-q <quality>] [-n <normalMode>] [-z] [-o] [-h] <expression...>

沿选定的点生成一个由给定 WorldEdit 表达式塑造形状的样条线。

  • <Palette>:

    • 指定方块调色盘。

  • [-z]:

    • 若不设置此标志,z 轴的定义域为 0 到“样条曲线长度除以半径”的值。你可以设置此标志来将沿样条路径运行的 z 轴归一化到 [-1,1] 定义域。

  • [-o]:

    • 默认情况下,表达式输出将 >0..1 映射到调色盘。使用此标志可改为将输出映射为整数。

  • <expression...>:

    • WorldEdit 表达式arrow-up-right。输入变量为:

      • -1 ≤ x ≤ 1

      • -1 ≤ y ≤ 1

      • 0 ≤ z ≤ L,其中 L 是样条长度除以其半径的结果。

      • 或者如果使用了 -z 标志,则为 -1 ≤ z ≤ 1。

    • 输出要么是归一化的调色盘索引 (0,1],或者如果使用了 -o 标志,则为 (0,P],其中 P 是调色盘中的方块数量。请注意,<=0 意味着不放置任何方块。

其余参数在 通用参数 子页面中有详细说明。

示例:

//ezspline expression clay 10 -t 90 R=0.2;r=0.1;w=0.7;s=0.5;sqrt((abs(x)-w)^2+y^2)<R||sqrt(((z+1)%s-r)^2+y^2)<r&&abs(x)<w

表达式作者:imholsarrow-up-right


//ezspline structure

chevron-right结构样条线 (Structure Spline)hashtag

//ezsp structure <structure> [radii][-s <stretch>] [-t <angle>] [-p <kbParameters>] [-q <quality>] [-n <normalMode>] [-z] [-h]

沿着由所选凸面选区定义的路径嵌入结构。

  • <structure>:

    • 沿路径嵌入的形状/剪贴板/建筑文件。请参阅 可用结构

  • [-z]:

    • 归一化 Z 轴,这将导致正好一个结构被拉伸贯穿整条路径的长度。

结构将沿路径方向以其 Z 轴方向放置。多个实例将根据其包围盒的大小一个接一个地重复放置,除非你使用 -z 参数,在这种情况下,结构的一个实例将被拉伸以覆盖路径的全长。

专门针对 //ezsp structure,如果省略了 [radii] 参数,我们将自动计算半径,使结构以其原始/固有尺寸生成。

其余参数在 通用参数 子页面中有详细说明。

示例

//ezsp structure TS(P:##GlowPurple,S:Heart,T:=(z+y)*.4+.5) 12


最后更新于