Вот пример итерации по выбранным компонентам. Это работает, выбирая грани, которые вы хотите выдавить, и выполняя скрипт.
Примечание. Чтобы порядок выбора компонентов работал, необходимо включить Настройки / Предпочтения> Выбор> Порядок выбора дорожек .
Я добавил немного смещения в команду polyExtrudeFacet, просто чтобы уточнить, что грани не хранятся вместе. Вам придется изменить сценарий, если вы этого хотите. Я оставлю это задание вам.
Разбивка:
- Получить список упорядоченного выбора.
- Итерация по каждой группе массивов.
- Увеличение индекса и вычисление локального значения перевода z
- Выдавливать грань по локальной оси Z.
import pymel.core as pm
def step_extrude():
step_size = 1.5
i = 0
for faceArray in pm.ls(os=True):
for face in faceArray:
i += 1
z = step_size * i
pm.polyExtrudeFacet(face,
constructionHistory=True,
localTranslate=[0.0, 0.0, z],
offset=0.2)
step_extrude()