语法
- alignScopeToGeometry(upAxis, faceIndex, edgeIndex)
- alignScopeToGeometry(upAxis, faceSelector, edgeIndex)
- alignScopeToGeometry(upAxis, faceIndex, edgeSelector)
- alignScopeToGeometry(upAxis, faceSelector, edgeSelector)
参数
- upAxis - 选择器{ yUp | zUp } - xUp 不受支持。
- faceIndex - 浮点型包含边的面的索引,从 0 开始。 负索引会进行模校正,即 -1 是最后一个面。
- edgeIndex - 浮点型将变为新 x 轴的边的索引,从 0 开始。 负索引会进行模校正,即 -1 是最后一个边。 边索引相对于所选面。
- faceSelector - 选择器
- world.lowest - 采用 y 世界坐标最低的面。
- largest - 采用最大面。
- any -(仅与 edgeSelector 配合使用)采用边选择器具有外部值的面。
- edgeSelector - 选择器
- world.lowest - 采用 y 世界坐标最低的边。
- longest - 采用最长边。
描述
alignScopeToGeometry 操作通过以下方式操作 scope、pivot 和 geometry 属性:
- 选择由 upAxis 选择器和所选面及边定义的新枢轴方向。
- 沿这些轴计算几何的定向边界框 (OOB),并将 pivot.p 设置为 OOB 的原点。 新范围维度设置为 OOB。
- 将几何变换为此新坐标系。
可使用这些参数选择几何中面的边。 范围的新 x 轴将与此边平行,向上轴将为面的法线。
几何将投影到新范围,即以世界坐标的形式保持在同一位置。
相关内容
示例
与最低边对齐
初始场景:面组件分割后,范围(以及枢轴、FAT)恰巧定位成 y 轴指向地面。
| |
使用 any 和 world.lowest 选择器应用 alignScopeToGeometry 可确保范围的 y 轴指向上方。 例如,当在屋顶上放置砖块时,这将非常有用。
|
基本用法
初始场景:应用组件分割后,插入了一个网格并突出显示两个面。
| |
相同的场景,形状 B 的范围和枢轴突出显示。 | |
执行 alignScopeToGeometry 后,枢轴(和范围) x 轴的指向与面 0(红色)的边 1 一致;z 轴的指向与面法线一致并且 x 轴与另外两个轴垂直。 枢轴定位在边起点处,范围为几何的枢轴对齐边界框。
| |
在这里,使用面 32(蓝色)的第二条边,并且面法线变为新的 y 轴。
| |
在此情况下,any 和 world.lowest 选择 y 位置(采用世界坐标)最低的边,该边将变为新 x 轴,相应的面法线变为新 y 轴(因为采用 yUp 选择器)。
|