Как я могу увеличить каждую следующую часть объекта экспоненциально со значением присоединения? - PullRequest
0 голосов
/ 03 января 2019

Как я могу увеличить каждую следующую часть объекта экспоненциально больше. пример 1. часть сложения 1,5; 2. часть 3; 3. часть 4,5; 4. часть 5; 5. часть 6.5; 6. часть 7; 7. часть 8,5 и тд и тп цель состоит в том, чтобы определить лестницу

1 Ответ

0 голосов
/ 15 января 2019

Вот пример итерации по выбранным компонентам. Это работает, выбирая грани, которые вы хотите выдавить, и выполняя скрипт.

Примечание. Чтобы порядок выбора компонентов работал, необходимо включить Настройки / Предпочтения> Выбор> Порядок выбора дорожек .

Я добавил немного смещения в команду polyExtrudeFacet, просто чтобы уточнить, что грани не хранятся вместе. Вам придется изменить сценарий, если вы этого хотите. Я оставлю это задание вам.

Разбивка:

  1. Получить список упорядоченного выбора.
  2. Итерация по каждой группе массивов.
  3. Увеличение индекса и вычисление локального значения перевода z
  4. Выдавливать грань по локальной оси Z.

Script demo

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()
...