Блендер несомненно является наиболее мощным и разносторонним 3D-пакетом, доступным с открытыми исходными текстами. Его функциональность близка к профессиональным пакетам, или даже превосходит многие из них. Встроенный в Блендер интерпретатор языка Питон играет важную роль в наращивании этой мощности и позволяет расширять функциональность ешё дальше. Тем не менее, освоение написания скриптов языка и знакомство со многими возможностями, которые предлагает Блендер через свой Питон-API может быть непростым предприятием.
Эта книга покажет, как получить максимум от Блендера, показывая практические решения многих реальных проблем. Каждый пример является полностью рабочим скриптом, который объясняется шаг за шагом самым подробным образом.
Глава 1, Расширение Блендера с помощью Питона, дает вам обзор того, что может и что не может быть выполнено с помощью Питона в Блендер. Это покажет Вам как установить полный дистрибутив Питона, и как использовать встроенный редактор. Вы также узнаете как записывать и запускать простой скрипт на Питоне, и как внедрить его в систему меню Блендера.
Глава 2, Создание и Редактирование Объектов, вводит объекты и меши, и Вы увидите как манипулировать ими программно. В частности, Вы узнаете как создавать конфигурируемые меш-объекты, разрабатывать графический интерфейс пользователя, и как добиться, чтобы ваш скрипт сохранил настроенные пользователем опции, чтобы впоследствии использовать их многократно. Вы также узнаете как выбираться вершины и грани в меше, делать один объект родителем другого, и как создавать группы. Наконец, эта глава показывает как запускать Блендер с командной строки, рендерить в фоне, и как обрабатывать параметры командной строки.
Глава 3, Группы Вершин и Материалы, расскажет Вам о множественном использовании групп вершин и о том, какими разносторонними они могут быть. Вы узнаете как задавать группы вершин и как назначать вершины в группу. Вы также узнаете, как Вы можете использовать эти группы вершин для модификаторов и арматур. Вы также посмотрите на приложение различных материалов на разные грани, и на то, как назначать цвета вершинам.
Глава 4, Pydrivers и Ограничения, показывает, как Вы можете соединить встроенные Ограничения с объектами Блендера и как задавать сложные связи между анимированными свойствами, используя так называемые pydrivers. Вы также определите новые сложные ограничения, которые могут быть использованы также, как и встроенные Ограничения. В частности, Вы увидите, как управлять одним IPO из другого посредством выражения на Питоне, как работать с некоторыми ограничениями, встроенными в pydrivers, и как ограничивать движение объектов и костей, добавляя Ограничения. Эта глава научит Вас, как писать ограничение на Питоне, которое привяжет объект к ближайшей вершине на другом объекте.
Глава 5, Действия на изменении кадров, фокусируется на написании скриптов, которые могут использоваться, чтобы действовать на определенных событиях. Вы можете изучить скриптовые связи и пространственные операторы (You can learn what script links and space handlers) - и как они могут быть использованы для выполнения мероприятий по изменению каждого кадра в анимации. Вы также увидите как ассоциируется дополнительная информация с объектом, как использовать скриптовые связи, чтобы воспроизводить появление или исчезновение объекта, изменяя формат или изменяя прозрачность, и как реализовать схему, связывающую различные меши с объектом в каждом кадре. Наконец, Вы можете изучить способы увеличить функциональность 3D-вида.
Глава 6, Ключи Формы, IPOs, и Poses, открывает, что есть ещё множество кривых IPO, которые могут оказаться полезными в анимированных сценах. Хотя кривые IPO были введены в Главе 4, здесь Вы узнаете, как определять IPO для всех типов объектов, связанных ключей формы с мешем, и как задавать кривые IPO для этих ключей формы. Вы также взглянете на позирование арматуры и объединение поз в действия.
Глава 7, Создание заказных Шейдеров и Текстур с помощью Pynodes, вводит Pynodes и вы узнаете, как они позволяют определять совершенно новые текстуры и материалы. Вы узнаете как писать Pynodes, которые создают простые цветовые узоры, Pynodes, которые создают узоры с нормалями, а также Вы узнаете как анимировать Pynodes. Эта глава также объясняет Pynodes, которые производят материалы, зависимые от высоты и наклона, и даже создают шейдеры, которые реагируют на угол падающего света.
Глава 8, Рендеринг и обработка изображения, переходит к процессу рендеринга в целом. Вы можете автоматизировать этот процесс, объединять различными способами результирующие изображения, и даже превращать Блендер в специализированный веб-сервер. В частности, Вы узнаете как автоматизировать процесс рендеринга, создавать многочисленные виды для продукта презентации, и создавать рекламные щиты из сложных объектов. Вы узнаете о путях расширения Блендера с помощью некоторых внешних библиотек манипулирования изображеними, включая результаты рендера.
Глава 9, Расширение ваших инструментов, - меньше о рендеринге и больше об облегчении жизни при использовании Блендера изо дня в день, расширением его функциональности. В этой главе Вы узнаете как каталогизировать и архивировать активы, такие как карты изображений, публиковать отрендеренные изображения автоматически через FTP, расширять функциональность встроенного редактора посредством поиска регулярными выражениями, ускорять вычисления используя Psyco - компилятор «на лету», и добавлять управление версиями к вашим скриптам с помощью Subversion.
Приложение А, Ссылки и Ресурсы, дает Вам список большинства ресурсов, использованных в этой книге вместе с некоторой обычно полезной информацией.
Приложение B, Частые Западни, освещает некоторые общие вопросы, которые появляются более часто, чем другие, что делать с некоторыми ошибками.
Приложение C, Будущие Разработки, является заключительным приложением, которое пробует показать что предвидится в будущем, и как это может затронуть Вас, поскольку и Блендер и Питон постоянно развиваются далее.
Все примеры в книге используют Блендер 2.49 (доступный на сайте www.blender.org) и встроенный язык Питон 2.6.x. Многие примеры допускают, что у вас есть полный дистрибутив Питона (www.python.org). В Главе 1, Расширение Блендера с помощью Питона, Вам рассказывается как установить полный дистрибутив, если Вы его ещё не имеете. Блендер и Питон - платформонезависимые, и все примеры должны работать одинаково хорошо в Windows, Linux, и Mac. Несколько дополнительных модулей могут также использоваться, и инструкции по их загрузке предусмотрены, где это необходимо. Все примеры могут быть загружены с веб-сайта издателя (http://www.packtpub.com).
Эта книга предназначена для пользователей, довольных Блендером, как инструментом моделирования и рендеринга, и которые хотят расширить свои навыки использованием скриптов Блендера для автоматизации трудоемких задач и достижения результатов, в противном случае невозможных. Опыт в Блендере имеет важное значение, а также небольшой опыт в программировании на Питоне.
В этой книге Вы найдете множество стилей текста, которые определяют различные типы информации. Вот некоторые примеры этих стилей, и объяснения их значений.
Кодовые слова в тексте показаны следующим образом: "файл на Питоне с мешевыми строительными блоками называется
mymesh.py, так что первая часть нашего кода содержит следующий оператор import."
Блок кода вставляется следующим образом:
def event(evt, val):
if evt == Draw.ESCKEY:
Draw.Exit() # exit when user presses ESC
return
Когда мы хотим привлечь ваше внимание к конкретной части блока кода, важные строки или пункты показываются жирным шрифтом:
def error(text):
Draw.Register(lambda:msg(text), event, button_event)
Любая командная строка ввода или вывода пишется следующим образом:
blender -P /full/path/to/barchart.py
Новые условия и важные слова показываются жирным шрифтом. Слова, которые Вы видите на экране в меню или в диалогах, например, появляются в тексте подобно этому: "Затем мы можем применить эту группу вершин к параметру плотности на дополнительной панели контекста частиц, чтобы управлять эмиссией."
Предупреждения или важные примечания появляются в блоке, подобном этому.
Подсказки и хитрости появляются вот так.
Обратная связь с нашими читателеми всегда приветствуется. Сообщите то, что Вы думаете об этой книге - что Вам понравилось или может быть не понравилось. Обратная связь с Читателем важна для нас, чтобы разрабатывать издания, от которых Вы действительно получите максимальную отдачу.
Для общей обратной связи, просто пошлите эл.почту на feedback@packtpub.com, и упомяните название книги в теме вашего сообщения.
Если есть книга, которая Вам нужна, и Вы хотели бы увидеть, как мы её опубликовали, пожалуйста пошлите нам заметку в SUGGEST A TITLE (Предлагаем издание) в www.packtpub.com или эл.почте suggest@packtpub.com.
Если существует тема, в которой вы являетесь экспертом и Вы заинтересованы в написании или содействии написанию книги об этом, смотрите наше руководство автора по адресу www.packtpub.com/authors.
Теперь, когда Вы - гордый владелец книги Packt, у нас есть множество вещей Вам в помощь, чтобы Вы могли получить максимум от вашего приобретения.
Загрузка примеров кода для книги
Посетите https://www.packtpub.com//sites/default/files/downloads/0400_Code.zip, чтобы непосредственно загрузить код примера. Загружаемые файлы содержат инструкции о том, как их использовать.
Хотя мы заботились о гарантировании точности нашего содержимого, ошибки случаются. Если Вы найдёте ошибку в одной из наших книг - может быть ошибку в тексте или в коде, мы будем благодарны, если Вы сообщите нам об этом. Сделав так, Вы можете оградить других читателей от расстройства и поможете нам улучшить последующие версии этой книги. Если Вы найдёте любые опечатки, пожалуйста сообщите о них, посетив http://www.packtpub.com/support, выбрав вашу книгу, нажмите на ссылку let us know, и введите детали ваших опечаток. Как только ваши опечатки будут проверены, ваше сообщение будет принято и опечатки будут загружены на наш веб-сайт или добавлены к любому списку существующих опечаток, в секции Errata этого издания. Любые существующие опечатки можно увидеть, выбрав ваше издание в http://www.packtpub.com/support.