Maya | Python | Face Normal
- Max Liu
- May 14, 2020
- 1 min read
Updated: Dec 24, 2024

import maya.cmds as cmds
import pymel.core as pm
geo = pm.selected()
pm.makeIdentity(geo, apply=True, t=1,r=1,s=1,n=0,pn=1)
allVertexes = pm.ls('{}.vtx[*]'.format(geo[0]),fl=True)
allVertexesPos = []
for eachPos in allVertexes:
allVertexesPos.append(eachPos.getPosition())
#print allVertexesPos[0]
vertex_0 = allVertexesPos[0]
vertex_1 = allVertexesPos[1]
vertex_2 = allVertexesPos[2]
#print vertex_0, vertex_1, vertex_2
vector_0 = [vertex_0[0]-vertex_1[0],
vertex_0[1]-vertex_1[1],
vertex_0[2]-vertex_1[2]]
vector_1 = [vertex_0[0]-vertex_2[0],
vertex_0[1]-vertex_2[1],
vertex_0[2]-vertex_2[2]]
def cross(a, b):
c = [a[1]*b[2] - a[2] * b[1],
a[2]*b[0] - a[0] * b[2],
a[0]*b[1] - a[1] * b[0]]
return c
print 'Face normal:'
print cross(vector_0, vector_1)
Yorumlar