Введение в написание скриптов на Питоне для Блендера 2.5x. Примеры кода

Введение в написание скриптов на Питоне для Блендера 2.5x. Примеры кода

Третье издание, расширенное и обновлённое для Blender 2.57

Жанр: Программирование
Серии: -
Всего страниц: 41
ISBN: -
Год издания: Не установлен
Формат: Полный

Введение в написание скриптов на Питоне для Блендера 2.5x. Примеры кода читать онлайн бесплатно

Шрифт
Интервал

Примеры кода

Введение в написание скриптов на Питоне для Блендера 2.5x.

Третье издание, расширенное и обновлённое для Блендера 2.57

Thomas Larsson

14 Апреля 2011 г.

Перевод: Striver



Введение

С появлением у Блендера версий 2.5x, написание скриптов на Питоне получило новый уровень. Поскольку API Питона вплоть до Блендера 2.49 был не совсем полным и специальным, для API в Блендере 2.5x обязались предоставить доступ из Питона ко всем возможностям Блендера, полным и систематическим путём.

Тем не менее, кривая изучения этого удивительного инструмента может быть очень крутой. Цель этих заметок в том, чтобы упростить процесс изучения, предоставив скрипты примеров, которые иллюстрируют различные аспекты написания скриптов на Питоне в Блендере.

Блендер все еще находится в стадии переработки, и API Питона еще не совсем стабильно. В течение нескольких месяцев, которые прошли между первыми двумя изданиями этих заметок, API Питона подвергалось капитальным переделкам, ломающим все старые скрипты. Различия между вторым изданием (для 2.54.0) и настоящим третьим изданием (для Блендера 2.57.0) значительно менее драматические. Тем не менее, даже незначительные изменения в API могут остановить работу скриптов. Скрипты в этих заметках протестированы на Блендере 2.57.0 rev 35147 (эта информация доступна на экране заставки).

Поскольку Блендер 2.57 разрекламирован как первый стабильный выпуск, есть некоторая надежда, что API сможет оставаться стабильным в будущем. Следовательно есть приличный шанс, что скрипты в этих заметках останутся рабочими долгое время, но гарантий на это нет.

Охваченные темы входят в следующие категории:

• Создание и манипуляция данными. Большинство программ не слишком полезны, так как созданы только для иллюстрации концепций.

• Свойства, определяемые пользователем.

• Интерфейсы пользователя: панели, кнопки и меню.

• Превращение скриптов в аддоны Блендера, которые могут автоматически загружаться при старте Блендера.

• Скрипты, распространяемые в составе нескольких файлов.

• Симуляции частиц, волос, ткани, мягких тел, дыма, жидкости, и т.п..

• Ноды.


Запуск скриптов

Каждый пример скрипта, за исключением многофайловых пакетов, является законченной программой. Он может быть скопирован и вставлен в Текстовый Редактор в Блендере, который можно найти на экране Scripting. Запуск скрипта осуществляется нажатием кнопки Run Script или нажатием Alt+P на вашей клавиатуре.

Скрипты также доступны как отдельные файлы на Питоне, расположенные в каталоге scripts, который должен был поставляться в комплекте с этим файлом. Просто загрузите файл Питона в Текстовый редактор Alt+O, и запустите его. Есть также пакетный скрипт, который выполняет множество других скриптов сразу. Это описано подробно в последнем разделе.

Предполагается что скрипты расположены в каталоге >~/snippets/scripts , где ~ это ваш домашний каталог (например, >/home/thomas в Linux, >C:/Documents and Settings/users/thomas в Windows XP, или >C:/Users/thomas в Windows Vista. Скрипты могут устанавливаться где угодно, но имена путей в некоторых файлах на Питоне (>batc.py, >texture.py, и >uvs.py), нужно соответственно исправить. Питон сообщит Вам, если он не найдёт важных файлов.

Возможно сделать пакетный запуск всех скриптов в каталогах >object и >simulation, загрузив и выполнив файл >batch.py. Мы можем легко убедиться, что все скрипты работают правильно (или по крайней мере, что они не генерируют никаких ошибок), выполнив пакетный скрипт. Если случились проблемы, посмотрите в окно консоли для получения подробной информации.


Получение большего количества информации

Скрипты примеров — это только царапины на поверхности того, что можно сделать со скриптами на Питоне в Блендере 2.5x. Когда Вы начнёте писать ваши собственные скрипты, Вы несомненно захотите получить доступ к операторам и переменным, не упомянутым здесь. Есть несколько способов получить эту информацию.

• Главный источник информации — это Blender Python documentation. Эту страницу удобно открывать из меню Help » Python API Reference.



• Есть также официальный урок по написанию скриптов здесь Использование встроенных подсказок (tooltips). Например, удержание курсора мыши над опцией This Layer Only в контексте Ламп покажет следующий текст:


>Illuminates objects only on the same layer the lamp is on

>Python: PointLamp.use_own_layer

(Освещение объектов только в том же слое, что включен у лампы)


Из этого мы заключаем, что эта опция доступна как >lamp.use_own_layer, где lamp является данными активного объекта, то есть >lamp = bpy.context.object.data



• Также существуют подсказки при добавлении


>Construct an UV sphere mesh

>Python: bpy.ops.primitive_uv_sphere_add()

(Сконструировать меш UV-сферы)


Это сообщает нам, вызов какого оператора нужен для добавления примитива меша UV-сферы.



• Как только оператор выполнен, он оставляет след в окне сообщений на экране Scripting


>bpy.ops.mesh.primitive_uv_sphere_add(segments=32, rings=16,

>size=1, view_align=False, enter_editmode=False,

>location=(0, 0, 0), rotation=(0, 0, 0), layer=(True, False, False,

>False, False, False, False, False, False, False, False, False, False,


Рекомендуем почитать
Пи*арас

«Ян напялил волглую мешковатую телогрейку, набросил поверху дождевик и сунул ноги в кирзачи. Ссутулившись, двинулся на выход. В дверях обернулся – Зина, подперев кулаками подбородок, сидела за щербатым кухонным столом и беззвучно плакала. Ян смотрел на неё, долго, не мигая. Молчал. Сказать было нечего, правильных слов давно не осталось. Да и какие тут могут быть слова…».


Перехват

«Я верю, что не всем из тех, кто прочтёт этот сборник коротких новелл, доподлинно известно, что означало по отношению к литературе слово «перехват». На этот случай коротко рассказываю. Перехват – это профессия, зародившаяся в середине шестидесятых и напрямую связанная с литературой. Перехватчик занимал рабочее место вблизи магазина «Старая книга» и проводил там трудовой день, тщательно следя за тем, чтобы книги, обладающие рыночной стоимостью, ни в коем случае до прилавка не дошли.Профессия насчитывала сотни тонкостей, которые позволяли опытному перехватчику раскрутить на незаконную продажу книг самого недоверчивого гражданина, ненавидящего проклятых спекулянтов преданного строителя коммунизма.


Антология мировой фантастики. Том 6. Контакт. Столкновение

В десяти томах «Антологии мировой фантастики» собраны произведения лучших зарубежных и российских мастеров этого рода литературы, всего около сотни блистательных имен. Каждый том серии посвящен какой-нибудь излюбленной теме фантастов: контакт с инопланетным разумом, путешествия во времени, исследования космоса и т. д. В составлении томов приняли участие наиболее известные отечественные критики и литературоведы, профессионально занимающиеся изучением фантастики.«Антология мировой фантастики» рассчитана на всех интересующихся такого рода литературой, но особенно полезна будет для школьников.


Антология мировой фантастики. Том 8. Замок ужаса

В десяти томах «Антологии мировой фантастики» собраны произведения лучших зарубежных и российских мастеров этого рода литературы, всего около сотни блистательных имен. Каждый том серии посвящен какой-нибудь излюбленной теме фантастов: контакт с инопланетным разумом, путешествия во времени, исследования космоса и т. д. В составлении томов приняли участие наиболее известные отечественные критики и литературоведы, профессионально занимающиеся изучением фантастики.«Антология мировой фантастики» рассчитана на всех интересующихся такого рода литературой, но особенно полезна будет для школьников.


Графика DirectX в Delphi

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Вторая жизнь старых компьютеров

Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.


DirectX 8. Начинаем работу с DirectX Graphics

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Симуляция частичной специализации

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.