splitAndSetbackPerimeter
视频讲解
你也可以选择付费视频学习函数具体用法,视频为详细解读此函数官方的六个案例。
函数详解
语法
- splitAndSetbackPerimeter(splitOffset) { length1 : depth1 : operations1 | … | lengthn-1 : depthn-1 : operationsn-1 } { remainder : operations }
- splitAndSetbackPerimeter(splitOffset) { length1 : depth1 : operations1 | … | lengthn-1 : depthn-1 : operationsn-1 }* { remainder : operations }
- splitAndSetbackPerimeter(splitOffset, firstEdgeIndex, selectedEdgesMask) { length1 : depth1 : operations1 | … | lengthn-1 : depth1n-1 : operations1n-1 } { remainder : operations }
- splitAndSetbackPerimeter(splitOffset, firstEdgeIndex, selectedEdgesMask ) { length1 : depth1 : operations1 | … | lengthn-1 : depthn-1 : operationsn-1 }* { remainder : operations }
参数
- splitOffset – 浮点型
分割模式起点的偏移。 相对运算符 ‘ 允许相对于所有选定边的总长度的值。
- firstEdgeIndex – 浮点型
分割模式开始处的边的索引(从 0 开始)。 过大索引或负索引将模回绕为正确索引。 默认值为 0。
- selectedEdgesMask—bool[]
一个数组,其中包含每个面边的布尔值,用于确定该边是否为操作的一部分。 默认情况下,将选择所有边。
- length – 浮点型
分割长度。 根据前缀,沿面周长的长度可用以下方式解释:
- 无前缀(绝对)- 边部分的长度将正好为 length。
- ‘(相对)- 边部分的长度将为 length* 所有选定边的总长度。
- ~(浮动)- 使用 ~ 前缀,具有绝对维度的分割部分之间的剩余空间将自动调整。 如果在一个分割内定义了多个浮动部分,则将按比例对维度进行加权。
- depth
边部分的退缩距离。
- operations
要在新创建的形状上执行的形状操作的顺序。
- *
重复切换按钮:重复切换按钮触发已定义分割的重复操作,并进行尽可能多的重复。 将调整重复次数和浮动维度以适合最佳解决方案(最佳重复次数和最小拉伸)。
- remainder : operations
对面的其余部分执行的一系列形状操作。
描述
splitAndSetbackPerimeter 操作结合了 split 和 setback 操作的概念:首先根据指定的 lengths 将面的周长分割成多个部分。 然后,根据其各自的 depth 对每个部分进行退缩。 最后,针对每个部分以及面的其余部分生成一个新形状。
默认情况下,将沿面的整个周长计算分割模式,从第一条边开始,围绕面逆时针进行。 可以使用 splitOffset 移动分割模式的起点。 要使用独立于基础几何索引顺序的操作,可以设置 firstEdgeIndex 和 selectedEdgesMask,通常使用评估空间环境的函数(参见以下示例)。 从技术上讲,可以通过设置 firstEdgeIndex 和传递 selectedEdgesMask 来将操作限制为周长的一部分。 在这种情况下,可将所选边排列成一个链,在该链上完成分割。 数组必须采用面-边顺序,即第一个元素是指第一个面的第一条边,第二个元素是指第一个面的第二条边,以此类推。 将单独为每个面考虑共享边。 如果数组未包含足够的元素,则认为不应选择相应的缺失面边。 如果数组包含的元素数大于面边总数,则将忽略对应的元素。 可使用 comp 函数构造此类数组,其中 component 选择器设置为 fe(面边)。
相关内容
示例
Basic
|
相对 splitOffset
分割模式的起点偏移周长的 10%(红色箭头)。 请注意,splitOffset 允许分割模式在边,而非折点上开始和结束。
|
使用基于上下文的函数来选择边
可以使用 firstEdgeIndex 和 selectedEdgesMask 参数对以周长前边为中心的部分进行退缩。 在本例中,comp 和 sortIndices 函数以及 pivot attribute 用于查找最左侧的前边的索引并构造边选择掩膜。
|
退缩距离
将对周长进行重复分割并按随机距离对其进行退缩。 请注意,将针对每个部分单独评估退缩距离。
|
|
将对周长进行重复分割并基于 split attribute 对其进行退缩。
|
处理重叠
黄色和蓝色形状重叠。 重叠属于使用较大 depth 生成的形状,并与其他形状相隔。
|