Книга: Написание скриптов для Blender 2.49
Определяем сложные ограничения
Определяем сложные ограничения
Там, где pydrivers предоставляют нам возможность управлять изменением одной IPO-кривой посредством изменения другой, PyConstraints(питон-ограничения) предоставляют нам способы задавать пределы изменения свойств объекта.
Конечно, в Блендер встроено много простых ограничений, таких как мы видели в предыдущем разделе, и часто комбинации простых ограничений достаточно для того, что нам нужно. Но если нам необходимо, чтобы наши объекты перемещались с места на место свободно в пределах не прямоугольной области, а например, для упрощения размещения светофоров и телефонных будок по сетке улиц. Как мы можем достичь этого? Введите pyconstraints.
PyConstraints - Питон-скрипты, которые присутствуют как текстовые блоки в текстовом редакторе Блендера и должны начинаться со строки комментария, идентифицирующей их как ограничение:
#BPYCONSTRAINT
Ограничение на Питоне должно содержать три функции с именами doConstraint()
, doTarget()
, и getSettings()
. Первые двe вызываются в любое время, когда мы двигаем или цель, или ограничиваемый объект, а последняя функция вызывается тогда, когда пользователь щелкает по кнопке Options, которая появляется, как только пользователь выбрал pyconstraint. Следующий скриншот показывает окно Ограничений, как только был выбран pyconstraint.
Самый легкий путь понять, что эти функции делают — посмотреть встроенный шаблон ограничения, который мы можем использовать в качестве основы, чтобы написать наши собственные ограничения. Он доступен в текстовом редакторе по меню Text | Script Templates | Script Constraint. При выборе этого меню будет создан новый текстовый блок, который можно выбрать в выпадающем списке внизу окна текстового редактора.
- 4 PyDrivers и Constraints (Управляющие объекты и Ограничения)333
- 4. Ограничения ссылочной целостности
- Можно ли выполнять сложные вычисления, используя Калькулятор Windows?
- Более сложные трансформации
- Выявить возможные ограничения
- 11.2. Более сложные проекты
- Ограничения
- Недостатки и ограничения
- Погоны как функционал самоограничения
- Глава 9. Более сложные структуры данных
- Ограничения метода отображения файлов
- 12.1. Ограничения по времени