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

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

Thomas Larsson

Описание

В третьем расширенном и обновлённом издании рассматривается написание скриптов на Python для Blender 2.57. Руководство содержит множество примеров кода, иллюстрирующих различные аспекты программирования. Охвачены создание и манипуляция данными, пользовательские свойства, интерфейсы пользователя, создание аддонов, многофайловые скрипты, симуляции частиц, волос, и ноды. Книга адаптирована для Blender 2.57 и протестирована на rev 35147. Изучите Python для Блендера и создавайте свои собственные инструменты!

Примеры кода

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

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

Thomas Larsson

14 Апреля 2011 г.

Перевод: Striver

<p>Введение</p>

С появлением у Блендера версий 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

Похожие книги

Основы программирования в Linux

Татьяна Коротяева, Нейл Мэтью

В четвертом издании книги "Основы программирования в Linux" вы найдете подробное руководство по программированию в операционной системе Linux. Книга охватывает использование библиотек C/C++, системных вызовов, файлового ввода/вывода, взаимодействия процессов, программирования командной оболочки и создания графических интерфейсов с помощью GTK+ или Qt. Вы узнаете, как компилировать, компоновать программы с библиотеками и работать с терминальным вводом/выводом. Учебник также содержит практические советы по написанию приложений для GNOME и KDE, хранению данных с использованием MySQL и отладке программ. Четкая структура и понятные примеры делают процесс обучения быстрым и эффективным. Идеально подходит для начинающих Linux-программистов, стремящихся освоить основы программирования в этой мощной операционной системе.

97 этюдов для архитекторов программных систем

Нил Форд, Билл де Ора

Архитекторы программного обеспечения играют ключевую роль в успехе проектов. Книга "97 Этюдов для архитекторов программных систем" предлагает практические советы от ведущих специалистов. Она охватывает широкий спектр тем, от решения распространенных проблем до создания эффективных команд. Авторы, включая Билла де Ору, Майкла Хайгарда и Нила Форда, делятся своим опытом, предлагая решения для повышения качества и эффективности работы в сфере разработки ПО. Книга является ценным ресурсом для всех, кто хочет улучшить свои навыки проектирования архитектуры программных систем и добиться успеха в IT-профессии.

Искусство программирования для Unix

Эрик Стивен Реймонд

Эта книга не просто руководство по Unix, а исследование его философии и культуры. Она не ориентирована на технические подробности, а на понимание "почему это следует сделать", а не "как". Автор, Эрик Стивен Реймонд, обращается к опыту ведущих разработчиков Unix, чтобы показать, как коллективная культура и традиции влияют на создание эффективных и устойчивых программ. Книга разделена на четыре части: Контекст, Проектирование, Реализация и Сообщество. Каждый раздел раскрывает различные аспекты Unix-культуры, от истории и философии до практических рекомендаций для программистов. Книга подходит для тех, кто хочет понять не только "как", но и "почему" Unix-программирование так эффективно. Понимание принципов проектирования, заложенных в Unix, поможет вам создавать более качественные и гибкие программы.

Программист-прагматик. Путь от подмастерья к мастеру

Эндрю Хант, Дэвид Томас

Книга "Программист-прагматик. Путь от подмастерья к мастеру" глубоко исследует процесс разработки программного обеспечения, абстрагируясь от технических тонкостей. Она фокусируется на ключевых аспектах, таких как требования к программе, ее работоспособность и поддержка. Авторы, эксперты в области программирования (А. Алексашин, Дэвид Томас, Эндрю Хант), делятся своим опытом, предлагая практические советы по преодолению трудностей и созданию программ, которые радуют пользователей. Книга охватывает темы личной ответственности, карьерного роста, архитектурных методик, гибкости и повторного использования кода. Научитесь бороться с недостатками ПО, избегать ловушек дублирования знаний, создавать адаптивные программы, избегать программирования на совпадениях, защищать код контрактами, утверждениями и исключениями, собирать реальные требования, осуществлять эффективное тестирование и формировать команды программистов-прагматиков.