Go to: Synopsis. Return value. Keywords.
Related. Flags.
Python examples.
polyAverageNormal([allowZeroNormal=boolean],
[distance=float], [postnormalize=boolean], [prenormalize=boolean], [replaceNormalXYZ=[float, float,
float]])
Note: Strings representing object names and
arguments must be separated by commas. This is not depicted in the
synopsis.
polyAverageNormal is undoable, NOT queryable, and NOT
editable.
Set normals of vertices or vertex-faces to an average value when
the vertices within a given threshold. First, it sorts out the
containing edges, and set them to be soft, if it is possible, so to
let the normals appear to be "merged". The remained components then
are sorted into lumps where vertices in each lump are within the
given threshold. For all vertices and vertex-faces, set their
normals to the average normal in the lump. Selected vertices may or
may not on the same object. If objects are selected, it is assumed
that all vertices are selected. If edges or faces are selected, it
is assumed that the related vertex-faces are selected.
poly, userNormals, polyNormals, averageNormal, setNormal,
vertexNormal
polyNormal, polyNormalPerVertex, polySetToFaceNormal, polySoftEdge
allowZeroNormal, distance, postnormalize, prenormalize, replaceNormalXYZ
Long name (short name) |
Argument types |
Properties |
distance(d) |
float |
|
|
Specifies the distance threshold. All vertices within the
threshold are considered when computing an average normal. By
default it is 0.0. |
|
prenormalize(prn) |
boolean |
|
|
Specifies whether to normalize the normals before averaging. By
default it is true. |
|
postnormalize(pon) |
boolean |
|
|
Specifies whether to normalize the resulting normals. By
default it is true. |
|
allowZeroNormal(azn) |
boolean |
|
|
Specifies whether to allow zero normals to be created. By
default it is false. If it is false, replaceNormal is needed. |
|
replaceNormalXYZ(xyz) |
[float, float, float] |
|
|
If the allowZeroNormal is false, this value is used to
replace the zero normals. By default it is (1, 0, 0). |
|
Flag can appear in Create mode of
command |
Flag can appear in Edit mode of command |
Flag can appear in Query mode of command |
Flag can have multiple arguments, passed
either as a tuple or a list. |
import maya.cmds as cmds
# To average normals when they are within 0.2 distance.
cmds.polyAverageNormal( distance=0.2 )
# To average normals when they are within 0.2 distance.
# Normalize the normals before computing the average.
cmds.polyAverageNormal( distance=0.2, prenormalize=True )
# To averge normals when they are within 0.2 distance. Do not
# normalize the normals before computing the average (so to get weighted
# average). But do normalize the resulting normal.
cmds.polyAverageNormal( distance=0.2, postnormalize=True )
# To average normals when they are within 0.2 distance. Do not
# allow zero normal and replace zero normal with (1 0 0).
cmds.polyAverageNormal( distance=0.2, allowZeroNormal=False, replaceNormalXYZ=(1,0,0) )