Theres 到网格彼此关闭。我需要使用 maxscript 将法线从一个网格复制到另一个网格。目标顶点是相同位置的那些点。但结果很奇怪,即使 normal 的值相同,方向也是错误的。我已经尝试了一些方法来获取/设置正常,在 coordsys world/local/parent.. 但没有任何意义。我怎样才能得到正确的结果?
3 回答
这两个网格应该做“reset xform” ...或者我们可以将A的法线转换为世界以获得worldNormal。然后将worldNormal转换为B的局部空间以获得法线B......
试试noors普通的小偷脚本。
您可能想尝试使用 Edit_Normal 修饰符来指定显式法线。 https://help.autodesk.com/view/3DSMAX/2020/ENU/?guid=GUID-9F33B780-7A98-4638-BD00-A1725FA1DB70
根据此文档,如果您使用 setFaceNormal 直接在网格上设置法线,
一旦你在网格上运行 update(),这个值就会被覆盖。
https://help.autodesk.com/view/3DSMAX/2020/ENU/?guid=GUID-58D1F8B6-0012-4727-AA29-B2C79EA46E16
但是它似乎对顶点法线不起作用,这对你来说可能足够好了吗?
从 3ds Max 2015 开始,设置顶点法线会将法线设置为显式,因此当网格更新时它将保留其值。在 3ds Max 2015 之前的版本中,使用 MAXScript 设置顶点法线仅具有非常短暂的持续效果,因为数据很容易被视口重绘或场景渲染时基于平滑组的隐式法线重新计算覆盖。
https://help.autodesk.com/view/3DSMAX/2020/ENU/?guid=GUID-BD473113-389F-4C96-BE07-217FF75796EF