10/30/2019

Блендер Питон Вики

Блендер Питон Вики
Связанные с Blender фрагменты Python, чтобы вы начали. Изучите блендер bpy сегодня

ссылка https://blenderscripting.blogspot.com/

Картинки по запросу блендер вики


Блендер Bpy для 2,80+

С прогрессом наступают перемены.


Большая часть этой информации находится на 

https://en.blender.org/index.php/Dev:2.8/Source/LayersCollections/API-Changes
https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API

моя сокращенная версия для себя:

привязка объектов к сцене в 2.80

- bpy.context.scene.objects.link
+ bpy.context.collection.objects.link


установка объекта активным в 2.80

- bpy.context.scene.objects.active = ob
+ bpy.context.view_layer.objects.active = ob

object.to_mesh в 2,80 выбора объектов

+ obj.to_mesh(bpy.context.depsgraph, apply_modifiers=bool, calc_undeformed=bool)



- object.select
+ object.select_get()
+ object.select_set()



02 декабря 2018 г.


Рецепты Блендера Питона

Я отвлекся в течение последних двух лет, но удалось сохранить небольшую книгу
из рецептов, чтобы держать знания и опыт там, на публике.

https://github.com/zeffii/BlenderPythonRecipes/wiki


13 мая 2016 г.

Координаты контрольных точек кривой

См. Документы для объектов кривой:
blender_python_api_current / bpy.types.Curve.html



Возьмем, к примеру, этот объект кривой, который состоит из трех подкривых, 1 из которых является замкнутой кривой. Запустите это с объектом Curve в режиме объекта.

импорт БПИ
obj = bpy.context.active_object
if obj.type == ' CURVE ' :
для subcurve в obj.data.splines:
curvetype = subcurve.type
печать ( ' тип кривой: ' , curvetype)
если тип кривой == ' BEZIER ' :
print ( « кривая замкнута: » , subcurve.use_cyclic_u)
# print (dir (subcurve))
для bezpoint в subcurve.bezier_points:
«»»
'handle_left_type', # вид дескрипторов
'handle_right_type', #
«скрыть», # это скрыто?
радиус, # какой радиус
'select_control_point', # он выбран?
'select_left_handle', #
'select_right_handle', #
'tilt' # исследовать :)
# используйте print (dir (bezpoint)), чтобы увидеть все
«»»
print ( ' co ' , bezpoint.co)
печать ( ' handle_left ' , bezpoint.handle_left)
печать ( ' handle_right ' , bezpoint.handle_right)
«»»
тип кривой: БЕЗЬЕР
кривая замкнута: ложно
co <Vector (-1.0000, 0.0000, 0.0000)>
handle_left <Vector (-1.5000, -0.5000, 0.0000)>
handle_right <Vector (-0,5000, 0,5000, 0,0000)>
co <Vector (1.0000, 0.0000, 0.0000)>
handle_left <Vector (0,0000, 0,0000, 0,0000)>
handle_right <Vector (2.0000, 0.0000, 0.0000)>
тип кривой: БЕЗЬЕР
кривая замкнута: ложно
co <Vector (-0,9387, 1,0064, 0,3927)>
handle_left <Vector (-1.1535, 0.3327, 0.3927)>
handle_right <Вектор (-0,7238, 1,6800, 0,3927)>
co <Vector (1.0613, 1.0064, 0.3927)>
handle_left <Vector (0,0613, 1,0064, 0,3927)>
handle_right <Vector (2.0613, 1.0064, 0.3927)>
co <Vector (1.7982, 1.5984, 0.5769)>
handle_left <Vector (2.7749, 1.3839, 0.5769)>
handle_right <Вектор (0,8215, 1,8128, 0,5769)>
тип кривой: БЕЗЬЕР
кривая замкнута: правда
co <Vector (-0.5928, 2.8779, 1.0686)>
handle_left <Vector (-1.1243, 3.4968, 1.0686)>
handle_right <Вектор (-0,0987, 2,3027, 1,0686)>
co <Vector (1.4072, 2.8779, 1.0686)>
handle_left <Vector (0,4072, 2,3980, 1,0686)>
handle_right <Vector (2.3088, 3.3105, 1.0686)>
co <Vector (2.1441, 4.1832, 1.2528)>
handle_left <Vector (3.3460, 3.8087, 1.2528)>
handle_right <Vector (0.0999, 4.8200, 1.2528)>
«»»


19 апреля 2016 г.


Получение индекса (индексов) выбранных граней / полигонов


Одностороннее движение

# предполагая, что объект в данный момент находится в режиме редактирования.
импорт БПИ
импортная сеть

obj = bpy.context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh (я)

для f в bm.faces:
    если f.select:
        печать (f.index)

# Показать обновления в окне просмотра
# и пересчитать n-гонную тесселяцию.
bmesh.update_edit_mesh (я, правда)


По-другому

импорт БПИ
импортная сеть
из bmesh.types импорт BMFace

obj = bpy.context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh (я)

для geom в bm.select_history:
    если isinstance (geom, BMFace):
        печать (geom.index)

bmesh.update_edit_mesh (я, правда)

Дальнейшее чтение

Я призываю вас знать, что говорится в документации. blender.org/api/blender_python_api_current/bmesh.html?

15 апреля 2016 г.


Сверчок / Скриптовый узел | 3d LSystem



..не роман

Я ничего не писал здесь некоторое время, это первая возможность с тех пор. Это не будет глубоко. В следующем посте предполагается, что вы экспериментировали с LSystems раньше.

Сценарий Node MKI может читать правила (текстовые файлы, в примере один называется RULES), а также сценарии, управляющие работой его собственного внутреннего узла (называемого 3dlsystem.py).

ф


Код для этих вещей доступен на GitHub .

Так что это может сделать?

К сожалению, у меня не было много времени, чтобы поиграть с этим, я надеюсь, что другие могут найти это полезным. В качестве доказательства того, что это работает, я включу несколько наборов правил.
с t_angle, установленным на 0,02, это выглядит как трава на ветру ..

Пришлите мне свои файлы правил, и я добавлю их в этот пост.

12 ноября 2015 г.


новый редирект для blender.org bpy docs.

http://www.blender.org/api/blender_python_api_current/

Начиная с 10/11 ноября 2015 года мы можем ссылаться на текущие документы API и не беспокоиться о необходимости обновления старых ссылок. Следующее всегда будет ссылаться на последние документы.


http://www.blender.org/api/blender_python_api_current/

http://www.blender.org/api/blender_python_api_current/search.html?q=bmesh

http://www.blender.org/api/blender_python_api_current/mau .geometry.html


Это означает, что нам больше не нужно указывать версию. Если вам действительно нужна ссылка на старые документы, это все еще возможно. В основном вам, наверное, все равно.

Спасибо Ideasman42 и Kaito!

Комментариев нет:

Отправить комментарий