`
schi
  • 浏览: 201498 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

快速控制多边形的Smooth(pymel)

    博客分类:
  • maya
阅读更多

再绑定好一个角色/物体/场景后除了整理节点的层级结构和清理场景,还需要对需要smooth的多边形进行smooth并控制其smooth的大小。

几个月前我为公司(用mel)写了一个工具,来处理对所选的多边形进行smooth,并控制其smooth。为了使这个工具更强大、更智能,我先对所选的物体区分类别,再把筛选出来的多边形进行检查,看其是否已经被smooth,如果是直接进行控制,如果没就进行smooth并控制。

我自认这个工具已经够强大了,但使用了一段时间后却反觉得十分痛苦,为什么会这样,都是因为该死的重命名。虽然在maya里理论上是不能重命名的,但实际上却是能存在重命名的,面对复杂的场景很多时候都会出现重命名的现象,mel命令对重命名的对象很敏感,一旦执行到重命名的对象时maya就会报错,我就需要给他们改成不同的名称,然后再执行一次,变成了一个无聊的循环。

使用pymel,我根本不用顾及重命名的现象,而且代码超短,pymel的强大真让我爱不释手

你需要PyMEL v1.0.0以上的版本,来执行下面的代码

# -*- coding: UTF-8 -*-

from pymel.core import *

# 控制smooth的属性,可以将Global_Ctrl.Smooth改成你的属性
ctrlAttr = PyNode('Global_Ctrl.Smooth')
objs = ls(type='mesh')
[ctrlAttr >> polySmooth(obj)[0].divisions for obj in objs]
 
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics