Bài tập python rigging cartoon eye bằng Maya P1
1.Tạo xương nhanh với các vị trí đã chọn trước như: vertex, locator,...
Bạn chỉ cần chọn object, vertex, locator,... mà bạn muốn tạo xương tại các vị trí đó rồi chạy code python sau:
from maya import cmds , OpenMaya
vtx = cmds.ls( sl=1, fl=1)
for v in vtx:
cmds.select(cl=1)
jnt =cmds.joint()
pos = cmds.xform(v , q =1 , ws = 1, t =1)
cmds.xform(jnt , ws =1, t = pos)
2.Tạo xương cho mí mắt
Chọn vertext mí trên và chạy dòng lênh bên dưới; cấu trúc file giống trong Ouliner:
Thực hiện tương tự cho mi mắt dưới.
from maya import cmds , OpenMaya
center = "center"
vtx = cmds.ls( sl=1, fl=1)
for v in vtx:
cmds.select(cl=1)
jnt =cmds.joint()
pos = cmds.xform(v , q =1 , ws = 1, t =1)
cmds.xform(jnt , ws =1, t = pos)
posC = cmds.xform(center, q=1, ws =1, t=1)
cmds.select(cl=1)
jntC = cmds.joint()
cmds.xform(jntC, ws =1 , t = posC )
cmds.parent(jnt , jntC)
cmds.joint (jntC , e=1 , oj = "xyz" , secondaryAxisOrient= "yup", ch = 1 , zso =1 )
3.Hiểu cơn bản về aimConstrant
4. Tạo từng locator aimConstraint vào từng xương mí mắt
Cấu trúc file như sau:
Chỉ chọn những xương mí mắt và chạy lệnh sau:
sel = cmds.ls(sl =1)
for s in sel :
loc = cmds.spaceLocator() [0]
pos = cmds.xform(s , q =1 , ws =1 , t =1)
cmds.xform(loc , ws =1 , t =pos )
par = cmds.listRelatives(s , p =1 ) [0]
cmds.aimConstraint(loc,par , mo = 1, weight = 1, aimVector = (1,0,0) , upVector = (0,1,0) , worldUpType = "object" , worldUpObject = "L_eyeUpVec_LOC")
Tương tự cho làm cho mí dưới.
Link gốc
https://www.youtube.com/watch?v=-rtys3vFmso
Nhận xét
Đăng nhận xét