Python module os in special os.path, though it is only
meant for the simplest cases.
Перевод:
Этот модуль обеспечивает минимальный набор вспомогательных функций и данных. Его цель в том, чтобы избегнуть потребности в стандартном модуле Питона os и его подмодуле os.path, но все же, он предназначен только для самых простых случаев. Как мы аргументировали раньше, обычно рекомендуется устанавливать полный дистрибутив Питона, который, кроме прочего, включает модули os и os.path, они дадут Вам доступ к более широкому диапазону функциональности. Следовательно, мы не используем модуль Blender.sys в этой книге.
• Blender.Types: Этот модуль предоставляет константы, которые могут быть использованы для проверки типа объектов. Встроенная функция Питона type(), возвращает тип своего аргумента. Это позволяет очень легко проверить объект данного типа по сравнению с одной из констант в этом модуле. Если мы хотим убедиться что некий объект - это объект Curve , мы можем, например, сделать это так:
…
if type(someobject) == Blender.Types.CurveType :
… сделать что-то, доступное только для объектов Curve …
Итог
В этой главе, мы увидели как расширять Блендер с помощью полного дистрибутива Питона и познакомились со встроенным редактором. Это позволило нам написать скрипт, хотя и простой, полностью интегрировать его в меню скриптов Блендера и систему помощи. Мы охватили множество моментов, а именно:
• Что возможно и не возможно выполнить с помощью Питона в Блендере
• Как проинсталлировать дистрибутив Питона
• Как использовать встроенный редактор
• Как запускать скрипт на Питоне
• Как изучать встроенные модули
• Как написать простой скрипт, который добавляет объект в сцену
• Как зарегистрировать скрипт в меню скриптов Блендера
• Как документировать ваш скрипт дружественным к пользователю способом
• Как распространять скрипт
В следующей главе мы сделаем шаг в направлении создания и редактирования сложных объектов, а также графического интерфейса пользователя.
2
Создание и редактирование объектов
В некотором смысле, меши - наиболее важный тип объектов в 3D-приложении. Они лежат в основе большинства видимых объектов и являются сырьём, которое может быть оснащено (rigged) и анимировано в дальнейшем. В этой главе речь идет о создании мешей и способах манипулировать меш-объектом, как целиком, так и его индивидуальными сущностями, из которых он состоит - вершинами, рёбрами и гранями.
В этой главе вы изучите:
• Как создавать конфигурируемые меш-объекты
• Как разрабатывать графический интерфейс пользователя
• Как заставить ваш скрипт сохранять выбранные пользователем настройки для последующего многократного использования
• Как выбирать вершины и грани в меше
• Как сделать один объект родителем другого
• Как создавать группы
• Как модифицировать меши
• Как запускать Блендер с командной строки и рендерить в фоновом режиме
• Как обрабатывать параметры командной строки
Creepy crawlies (ползучий ужас) - графический интерфейс пользователя для конфигурирования объектов
Иллюстрирование примером создания единственной копии одноразового объекта Блендера (подобно сделанному нами в примере "hello world" в Главе 1, Расширение Блендера с помощью Питона), может быть хорошим упражнением по программированию, но скрипт создания объекта действительно вступает в свои права, когда встроенных методов, таких, как например, копирование объектов, или модификаторов, как например, модификатор array - не достаточно.
Хороший пример - такой, где мы хотим создать один или много вариантов объекта, и эти варианты должны легко конфигурироваться конечным пользователем. Например, гайки и болты бывают различных форм и размеров, так что в Блендер включен скрипт для их создания. В Сети доступно намного больше скриптов, создающих что-нибудь от механических механизмов до лестниц, от деревьев до церковных куполов.
В этом разделе мы покажем, как построить маленькое приложение, которое может создать все виды жуко-подобных существ и поставляется с простым, но эффективным интерфейсом, настраивающим множество параметров. Это приложение также сохраняет пользовательские настройки для более позднего повторного использования.