I got a lot of objects, with different modifiers, can i apply the modifiers together but with individual values for each single object? (in order to save time?)
-
Make the object which has the modifiers the active one, and then press Ctrl + L>Modifiers – someonewithpc Feb 18 '15 at 12:41
-
But what if some objects have already some different modifiers that aren't applied? doesnt they mix or something? – beavoru Feb 18 '15 at 12:45
-
Yes, it will over-write the set modifiers, not what you are looking for – J Sargent Feb 18 '15 at 12:45
-
@someonewithpc that links them not applies them.. – Jaroslav Jerryno Novotny Feb 18 '15 at 12:46
-
@Jerryno Exactly, Beavoru, why do you want to apply them? Whenever you export or render it will act the same. – J Sargent Feb 18 '15 at 12:47
-
@Jerryno If he wants individual values, the OP will have to copy the modifiers, modify the values and then apply - no other way. – someonewithpc Feb 18 '15 at 12:47
-
I added a lot of differente modifiers, but i didnt applied them, now i want to add a single modifier (wireframe) for everything, but then if i copy that specific modifier for everything, i think the other parameters (the other modifiers) will copy as well, and thats something i dont want :/ – beavoru Feb 18 '15 at 12:51
-
Related - http://blender.stackexchange.com/questions/3488/is-it-possible-to-apply-modifiers-to-multiple-objects-at-once – Mr Zak Feb 18 '16 at 19:33
2 Answers
This will do what you want: Applies modifiers for all selected objects:
import bpy
import bmesh
for ob in [ob for ob in bpy.context.selected_objects if ob.type == 'MESH']:
b_me = bmesh.new()
b_me.from_object(ob, bpy.context.scene)
b_me.to_mesh(ob.data)
b_me.free()
for mod in ob.modifiers:
ob.modifiers.remove(mod)
To add modifier (wireframe) for all selected objects:
import bpy
for ob in [ob for ob in bpy.context.selected_objects if ob.type == 'MESH']:
mod = ob.modifiers.new(name='Wire', type='WIREFRAME')
mod.thickness = 0.02 # SET THIS
- 51,077
- 7
- 129
- 218
Select all the objects with modifiers that should be applied and then press Alt + C. In the dialog appeared select the second variant, i.e Mesh from Curve/etc. That will apply all the modifiers respectively.
In Blender 2.8 and above, the hotkey for this operation was dropped so you have to call it from viewport menu > Object > Convert To. You can assign a shortcut to it yourself or in viewport press Ctrl+A —> Visual Geometry to Mesh which essentially will call the same Convert To > Mesh operator.
Probably you will need to create backups of the meshes to have possibility to redo something with modifiers if needed.
Be careful applying modifiers to objects that share mesh data, as it can lead to unexpected results due to instancing; only one mesh will be used for all instances which means that modifiers will be copied from the very first instance and modifiers on other instances won't be taken into account as well as still-active modifiers on unselected object instances can cause severe performance impacts.
- 10,848
- 4
- 28
- 77