
Когда твой скрипт для риггинга устаревает... и ты тоже 😅
В тот день, когда ты обновился до 3ds Max 2022, твой верный скрипт для наследования углов поворота перестал работать. Не переживай, это не лично — просто Max решил изменить правила игры. Но у нас есть современное решение, чтобы твой риг снова работал как швейцарские часы.
"Старые скрипты как классические автомобили: красиво смотреть, но никто не хочет использовать их ежедневно" — Technical Artist, потерявший неделю работы.
Новая волшебная формула
Забудь старые Script Controllers и используй этот код в Expression Controller:
dependsOn $control_pie.swivel_angle
return degToRad($control_pie.swivel_angle $control_pie.inherit_swivel_angle)
Ключевой момент: degToRad с заглавной T — эта маленькая деталь может стать разницей между успехом и часами frustration.
Настройка пошагово
- Создай пользовательские атрибуты в своем контроле:
- swivel_angle (базовый угол)
- inherit_swivel_angle (фактор наследования 0-1)
- Назначь Expression Controller желаемой ротации
- Вставь код и проверь точные имена
Распространенные ошибки, которых стоит избегать
Если всё ещё не работает, проверь:
- Точно ли совпадают имена переменных?
- Используешь ли degToRad (не Degtorad)?
- Выражение в современном Expression Controller?
- Ротация родителя не заблокирована?
Почему всё это изменилось?
Недавние версии 3ds Max:
- Оптимизировали обработку выражений
- Улучшили стабильность с контроллерами
- Сделали синтаксис строже
В конце концов, хотя изменения сначала болезненны, новая система надёжнее. Как гласит пословица: "То, что не убивает тебя, заставляет переустанавливать 3ds Max три раза". 💻🔥
ПС: Если скучаешь по старым скриптам, всегда можешь установить виртуальную машину с Max 2010... но лучше не надо.