1
$\begingroup$

Blender finally added the possibility to use custom normals in version 2.74. YAY. I've been playing with them to export and import a custom file format.

For example: I created the custom normals for a mesh, then call the calculate split normals and tessfaces methods

C.active_object.data.calc_normals_split()
C.active_object.data.update(calc_edges=True, calc_tessface=True)

and I can see the custom normals I expected

Vector(C.active_object.data.tessfaces[0].normal)
Vector(C.active_object.data.tessfaces[0].split_normals[0])

But if I try to use the Set Split Normals Modifier to create the normals, and even thou I can see the new normals working in the 3Dview, I can't find a ways to access those normals without appliying the modifier.

Can it be done? How can access the new normals data without applying the modifier?

$\endgroup$
  • 3
    $\begingroup$ What about getting them from obj.to_mesh(scene=bpy.context.scene, apply_modifiers=True, settings='PREVIEW') then freeing the mesh after usage $\endgroup$ – Jaroslav Jerryno Novotny Apr 3 '15 at 11:13
1
$\begingroup$

As @Jerryno said, from python you can only get modifiers’ results by applying them into a temp mesh (using Object.to_mesh()), there is no reason for 'EditNormals' modifier to behave differently.

You can also have a look at some official exporters supporting 'apply modifier' feature (like e.g. .obj exporter), that’s what they are doing.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.