3d 使用局部旋转MaxScript将对象对齐到面法线

3d 使用局部旋转MaxScript将对象对齐到面法线,3d,alignment,maxscript,3d,Alignment,Maxscript,我的脚本将对象与面对齐,如下所示: 但我需要得到这个: 我使用了一个代码: faces = (polyOp.getFaceSelection $Box001) as array face = faces[1] theMatrix = matrixFromNormal(polyOp.getFaceNormal $Box001 face) theMatrix.row4 = polyOp.getFaceCenter $Box001 face $object.transform = theMatrix

我的脚本将对象与面对齐,如下所示:

但我需要得到这个:

我使用了一个代码:

faces = (polyOp.getFaceSelection $Box001) as array
face = faces[1]
theMatrix = matrixFromNormal(polyOp.getFaceNormal $Box001 face)
theMatrix.row4 = polyOp.getFaceCenter $Box001 face
$object.transform = theMatrix

朋友们,帮帮我:)

当你从一个向量计算旋转时,围绕该向量的旋转是不受约束的,这正是这里的情况。@meowgoesthedog有什么方法可以获得围绕该向量的旋转吗?3dmax可以在您只选择面时获得它,但我不知道如何与MAXScript一起使用它使用
$Box001
本身的变换矩阵,并将
.row4
设置为相同的值。@meowgoesthedog您能在代码中演示如何实现这一点吗?