Консоль Python – Python Console¶
Консоль Python – Python Console – це швидкий спосіб виконання команд з доступом до всього Python API, історії команд та авто-завершення. Командний рядок або запрошення команд є типовим для Python 3.x, інтерпретатор завантажується і є готовим для прийняття команд у запиті >>>
.
The Python Console is a good way to explore the possibilities of Blender built-in Python. The Python Console can be used to test small bits of Python code which can then be pasted into larger scripts.
Інтерфейс – Interface¶
Головний огляд – Main View¶
Клавіатурні Прив’язування – Key Bindings
Left / Right – Переміщення текстового курсора.
Ctrl-Left / Ctrl-Right – Переміщення текстового курсора по словах.
Backspace / Delete – Стирання символів.
Ctrl-Backspace / Ctrl-Delete – Стирання слів.
Return – Виконання команди.
Shift-Return – Додати в історію команд без виконання.
Використання – Usage¶
Псевдоніми – Aliases¶
Деякі змінні та модулі доступні для зручності:
C
: Швидкий доступ доbpy.context
.D
: Швидкий доступ доbpy.data
.bpy
: Модуль верхнього рівня Blender Python API.
Перший Погляд на Середовище Консолі – First Look at the Console Environment¶
Для перевірки, що завантажено у середовище інтерпретатора, уведіть dir()
у запит та виконайте його.
Авто Завершення – Auto Completion¶
Now, type bpy.
and then press Tab and you will see the Console
auto-complete feature in action.
Ви помітите, що з’явився список під-модулів всередині bpy
. Ці модулі містять все, що ми можемо зробити за допомогою Blender Python API, та є дуже потужними засобами.
Дозволяє вивести у списку всіх елементів модуля bpy.app
.
Зверніть увагу на зелений вивід над запитом, де ви викликали авто-завершення. Те, що ви бачите, – це результат списку авто-завершення. У списку вище – все це імена атрибутів модуля, але якщо ви бачите у кінці якогось імені (
, то це є функція.
Ми будемо використовувати це багато для чого, щоб допомогти собі вивчити цей API швидше. Тепер, як ви вивели це, воно допоможе перейти до дослідження деяких модулів у bpy
.
Перед Возінням з Модулями – Before Tinkering with the Modules¶
Якщо ви подивитеся на 3D Огляд у стандартній сцені Blender’а, то ви помітите три об’єкти: Куб – Cube, Освітлювач – Light та Камеру – Camera.
Усі ці об’єкти існують у контексті та можуть бути різні режими, в яких ними оперується.
У будь-якому випадку, тільки один об’єкт є активним та може бути виділено більше, ніж один об’єкт.
Усі об’єкти – це дані у blend-файлі.
Існують оператори/функції, що створюють та модифікують ці об’єкти.
Для всіх сценаріїв, перелічених вище (не все ще було перераховано, пам’ятайте…) модуль bpy
надає функціональність для доступу і модифікації даних.
Приклади – Examples¶
bpy.context¶
Примітка
Для команд нижче, щоб отримати правильний вивід, переконайтеся, що ви вибрали об’єкт(и) у 3D Огляді.
bpy.context.mode
Буде виводити поточний режим 3D Огляду (Об’єкта – Object, Редагування – Edit, Ліплення –Sculpt тощо).
bpy.context.object
абоbpy.context.active_object
Буде давати вам доступ до активного об’єкта у 3D View.
Змінюється значення локації по X на значення 1:
bpy.context.object.location.x = 1
Переміщується об’єкт з попередньої локації по X на 0.5 одиниці:
bpy.context.object.location.x += 0.5
Змінюється локація по X, Y, Z:
bpy.context.object.location = (1, 2, 3)
Змінюються лише компонентів X, Y:
bpy.context.object.location.xy = (1, 2)
Тип даних локації об’єкта:
type(bpy.context.object.location)
Тепер, є багато даних, до яких ви маєте доступ:
dir(bpy.context.object.location)
bpy.context.selected_objects
Буде давати доступ до списку усіх вибраних об’єктів.
Type this and then press Tab:
bpy.context.selected_objects
Для виводу імені першого об’єкта у списку:
bpy.context.selected_objects[0]
Складніше… Але це виводить список об’єктів, що не включають активний об’єкт:
[obj for obj in bpy.context.selected_objects if obj != bpy.context.object]
bpy.data¶
bpy.data
має функції та атрибути, що дають вам доступ до усіх даних у blend-файлі.
Ви можете мати доступ до таких даних у поточному blend-файлі: об’єкти, сіті, матеріали, текстури, сцени, екрани, звуки, скрипти тощо.
Це багато даних.