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

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

Авторы:

Жанр: Программирование

Циклы: не входит в цикл

Формат: Полный

Всего в книге 41 страница. У нас нет данных о годе издания книги.

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

Читать онлайн Введение в написание скриптов на Питоне для Блендера 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,


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

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


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

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


Симуляция частичной специализации
Автор: П Кузнецов

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


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

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


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

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


Графика DirectX в Delphi

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


Только волны за кормой, только — чаечки...
Жанр: Поэзия

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


Никакой чертовщины
Жанр: Поэзия

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


Контраст

«Майор Самохин затянулся по последнему разу, протянул остаток беломорины.– Кури, – сказал он. – Ах да, ты же не куришь. Так что, Цукерторт, сделаешь?Арон Григорьевич, подслеповато щурясь, принялся вновь рассматривать фотографии. Девочка была хороша. Чудо как хороша была девочка. Идеальной формы лицо, глаза огромные, чёрные, улыбка такая, что… Чтоб он так жил, какая улыбка. И льняная коса, длиннющая, до земли. Снегурочка, чистая Снегурочка, кто бы мог подумать, что дочка этого шмака…».


Лохи и каталы

«Дорогой читатель, перед тобой не рассказ и не повесть. Это сборник коротких новелл о реальных людях, их имена и обязательные для представителей игрового мира клички изменены, но связанные с ними сюжеты – подлинные. И объединяет этих людей только одно – беззаветная любовь к азартным играм, которая многим из них заменила любовь ко всему остальному…».