При объединении нескольких объектов в один, в Blender существует одна особенность – если имена UV-разверток объектов различаются, в новом, объединенном объекте, каждая UV-развертка будет помещена на отдельный слой. Для того чтобы в объединенном объекте все развертки тоже объединились в одну, они все должны иметь одинаковое имя.
Быстро переименовать развертки для всех выделенных объектов в Blender можно при помощи несложного скрипта.
Пройдем в цикле по всем выделенным объектам сцены:
|
1 |
for obj in bpy.context.selected_objects: |
Получить имя первой развертки объекта мы можем следующим образом:
|
1 2 3 4 5 6 |
if obj.data.uv_layers: print(obj.data.uv_layers[0].name) # Cube UVMap # ICO Shp UVMap # Suzanne UV |
Предварительно проверив, существует ли развертка для текущего объекта.
Так как имена у всех разверток разные, при объединении выделенных объектов мы в итоге получим три UV-слоя с отдельными развертками.
Чтобы развертки объектов слились, зададим им одно общее имя, например, стандартное “UVMap”.
|
1 2 |
if obj.data.uv_layers: obj.data.uv_layers[0].name = 'UVMap' |
Полный код скрипта:
|
1 2 3 |
for obj in bpy.context.selected_objects: if obj.data.uv_layers: obj.data.uv_layers[0].name = 'UVMap' |
После выполнения этого скрипта мы можем спокойно объединять объекты, и в итоге мы получим единую развертку для финального объединенного объекта.

.blend file on Patreon