В Blender есть возможность ограничить область рендера – выделив с помощью специальной рамки часть будущего изображения и отметив чекбокс Border во вкладке Render – Dimensions окна Properties. Если такая рамка задана – отрендерена будет только ограниченная рамкой область изображения.
Для того, чтобы задать рамку рендера через Blender API есть два варинта:
- Через оператор view3d.render_border:
1 |
bpy.ops.view3d.render_border(xmin=188, xmax=423, ymin=271, ymax=489) |
Этот оператор используется в контексте окна просмотра сцены 3D VIEW:
1 |
bpy.context.area.type = 'VIEW_3D' |
Отсчет координат производится от левого верхнего угла всего окна (точка с координатами 0,0) и до нижнего правого угла, координаты которого соответствуют размерам самого окна.
- Через свойства сцены указанием границ рендера относительно вида камеры:
1 2 3 4 |
bpy.context.scene.render.border_min_x = 0.3 bpy.context.scene.render.border_min_y = 0.2 bpy.context.scene.render.border_max_x = 0.9 bpy.context.scene.render.border_max_y = 0.8 |
В этом случае координаты рамки рендера задаются в процентном соотношении относительно размеров рендера сцены (или окна камеры). Ширина и высота рендера берутся за единицу, а координаты рамки выставляются в ее долях.
В обоих случаях для отображения рамки чекбокс Border программно включается командой:
1 |
bpy.context.scene.render.use_border = True |