关于用maxscript将法线从一个网格复制到另一个网格的问题。

问题描述 投票:0回答:2

有很多网格是相互封闭的,我需要用maxscript把一个网格的法线复制到另一个网格中。我需要用maxscript把一个网格的法线复制到另一个网格中,目标顶点是那些位置相同的点,但结果很奇怪,即使法线值相同,方向也不对,我试过一些方法来设置法线,在coordsys worldlocalparent中,但没有意义。

3dsmax maxscript
2个回答
1
投票

两个网格应该做 "reset xform"...或者我们可以将A的法线转换为world,得到worldNormal.然后将worldNormal转换为B的局部空间,得到normalB....


0
投票

你可能想尝试使用Edit_Normal修改器来指定显式法线。https:/help.autodesk.comview3DSMAX2020ENU?guid=GUID-9F33B780-7A98-4638-BD00-A1725FA1DB70。

根据这个文档,如果你使用setFaceNormal直接在网格上设置法线。

只要你在网格上运行 update(),这个值就会被覆盖。

https:/help.autodesk.comview3DSMAX2020ENU?guid=GUID-58D1F8B6-0012-4727-AA29-B2C79EA46E16。

然而对于顶点法线似乎并不一样,这个可能对你来说已经很好了?

自3ds Max 2015以来,设置顶点法线会将法线设置为Explicit,因此当网格得到更新时,它将保留其值。在3ds Max 2015之前的版本中,使用MAXScript设置顶点法线只有很短的持续效果,因为数据会很容易在视口重绘或场景渲染时被基于Smoothing Group的隐式法线重新计算覆盖。

https:/help.autodesk.comview3DSMAX2020ENU?guid=GUID-BD473113-389F-4C96-BE07-217FF75796EF

© www.soinside.com 2019 - 2024. All rights reserved.