Читаем Написание скриптов для Blender 2.49 полностью

Различия весьма заметны, и их важно иметь в виду, особенно при поиске конкретной информации, содержащейся в документации Blender API. Не ожидайте, что найдёте информацию об объекте Curve (Кривая) в документации о модуле Blender.Object, поскольку кривая в Блендере является специфическим объектом Блендера; класс Curve определён и документирован в Модуле Blender.Curve. В целом можно ожидать, что документация класса находится в модуле тем же названием.

Модуль bpy

Кроме модуля Blender, есть другой модуль верхнего уровня, с именем bpy, который обеспечивает унифицированный путь доступа к данным. Он считается экспериментальным, но он стабилен и может быть использован как более интуитивный путь доступа к объектам. Например, если мы хотим иметь доступ к объекту с именем MyObject, обычным образом мы должны действовать приблизительно так:

import Blender

ob = Blender.Object.Get(name='MyObject')

С модулем bpy мы можем перефразировать это так:

import bpy

ob = bpy.data.objects['MyObject']

Так же, чтобы получить доступ к активному объекту сцены, мы могли бы написать это:

import Blender

scene = Blender.Scene.GetCurrent()

Что можно записать альтернативным способом:

import bpy

scene = bpy.data.scenes.active

Что из них предпочитать - дело вкуса. Модуль bpy будет единственным способом доступа к данным в ожидаемом Блендере 2.5, но изменения в Блендере 2.5 проникают глубже, чем просто такой способ доступа к данным, так не обманитесь поверхностным сходством имени модулей!

Рисование на экране

Доступ к системе окон Блендера предоставлен модулем Blender.Draw. Здесь Вы найдёте классы и функции для определения кнопок и управляющих меню, и пути взаимодействия с пользователем. Типы графических элементов, которые Вы можете отобразить, используя модуль  Draw, ограничены обычно используемыми, и модификации невозможны.

Более передовые функции предоставлены в модуле Blender.BGL, который дает Вам доступ фактически ко всем функциям и константам OpenGL, позволяющим Вам рисовать на экране почти всё, что угодно, и позволить взаимодействовать с пользователем множеством различных способов.

 Утилиты

Наконец, есть множество модулей, включающих различную функциональность, которые не подходят для любой из предыдущих категорий:

Blender.Library: Блендер позволяет Вам добавлять (то есть, импортировать) или связывать (link) объекты из другого .blend файла. Можно посмотреть на это по-другому - .blend файл может действовать как библиотека, где Вы можете сохранять ваши активы. И поскольку почти всё является объектом в Блендере, почти любой актив может быть сохранен в такой библиотеке, будь это модели, лампы, текстуры, или даже полные сцены. Модуль Blender.Library предоставляет авторам скриптов средства получить доступ к этим библиотекам.

Blender.Mathutils и Blender.Geometry: Эти модули содержат, кроме прочего, классы Векторов (Vector) и Матриц (Matrix) со связанными с ними функциями, для применения всех видов векторной алгебры к объектам Блендера. С функциями, приведенными в этих модулях, Вы будете способны вращать или сдвигать координаты ваших объектов или вычислять угол между двумя векторами. Предусмотрено намного больше удобных функций, и они, часто неожиданно, будут появляться в примерах в этой книге. Не беспокойтесь, мы приведём объяснения, где это будет необходимо, для людей, находящихся не в своей тарелке от векторной математики.

Blender.Noise: Шум (Noise) используется в генерации всех (очевидно) случайных образцах, которые формируют основу многих процедурных текстур в Блендере.  Этот модуль дает доступ к тем же программам, которые обеспечивают шум для этих текстур. Это может быть полезным не только в генерации ваших собственных текстур, но можно, например, использовать при произвольном размещении объектов, или осуществлении немного шаткого пути камеры, чтобы добавить реализма к вашей анимации.

Blender.Registry: данные в скриптах, неважно, локальные или глобальные, не сохраняются при выходе из скрипта. Это может быть очень неудобным, например, если Вы хотите сохранить пользовательские настройки для вашего заказного скрипта. Модуль Blender.Registry обеспечивает способ сохранять и извлекать постоянные данные. Тем не менее, он не обеспечивает никаких средств сохранения этих данных на диске, так что это постоянство действует только в течение сеанса Блендера.

• Blender.Sys: По словам документации этого модуля:

This module provides a minimal set of helper functions and

Перейти на страницу:

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных