Консоль 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.
You will notice that a list of submodules inside of bpy
appear. These modules encapsulate all
that we can do with Blender Python API and are very powerful tools.
Дозволяє вивести у списку всіх елементів модуля bpy.app
.
Зверніть увагу на зелений вивід над запитом, де ви викликали авто-завершення. Те, що ви бачите, – це результат списку авто-завершення. У списку вище – все це імена атрибутів модуля, але якщо ви бачите у кінці якогось імені (
, то це є функція.
Ми будемо використовувати це багато для чого, щоб допомогти собі вивчити цей API швидше. Тепер, як ви вивели це, воно допоможе перейти до дослідження деяких модулів у bpy
.
Перед Возінням з Модулями – Before Tinkering with the Modules¶
If you look at the 3D Viewport in the default Blender scene, you will notice three objects: Cube, Light and Camera.
Усі ці об’єкти існують у контексті та можуть бути різні режими, в яких ними оперується.
У будь-якому випадку, тільки один об’єкт є активним та може бути виділено більше, ніж один об’єкт.
Усі об’єкти – це дані у blend-файлі.
Існують оператори/функції, що створюють та модифікують ці об’єкти.
Для всіх сценаріїв, перелічених вище (не все ще було перераховано, пам’ятайте…) модуль bpy
надає функціональність для доступу і модифікації даних.
Приклади – Examples¶
bpy.context¶
Примітка
For the commands below to show the proper output, make sure you have selected object(s) in the 3D Viewport.
bpy.context.mode
Will print the current 3D Viewport mode (Object, Edit, Sculpt, etc.).
bpy.context.object
абоbpy.context.active_object
Will give you access to the active object in the 3D Viewport.
Змінюється значення локації по 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-файлі: об’єкти, сіті, матеріали, текстури, сцени, екрани, звуки, скрипти тощо.
Це багато даних.