Hi devs, Today Howard requested the ability to set custom normals in BMesh (Edit mode tools). While we are far from ready to have a real normal editing feature/mode/whatever in Edit mode currently, I made a quick port of BKE_mesh_evaluate code to set normals, in the new `custom-normals-bmesh` branch for now.
As with non-bmesh code, currently you can only set all normals (either per-loop or per-vertex) at once, since this is not a cheap operation. Also added a python bmesh.utils.custom_normals_set() api func, at least to allow easy testing of the feature, e.g. with default cube in Edit mode: >>> import bmesh >>> bm = bmesh.from_edit_mesh(C.edit_object.data) >>> nors = sum(zip(((0, 0, 1),) * 4, (None,) * 4), ()) # Produces an 8-items tuples of Z-up vectors and None's >>> # Set those vertex custom normals into bm, 'None' ones keeping default auto-computed normals. >>> bmesh.utils.custom_normals_set(bm, nors) ((0.0, 0.0, 1.0), (0.5773502588272095, -0.577350378036499, -0.5773503184318542), (0.0, 0.0, 1.0), (-0.5773501396179199, 0.5773504972457886, -0.5773503184318542), (0.0, 0.0, 1.0), (0.5773500204086304, -0.5773505568504333, 0.5773503184318542), (0.0, 0.0, 1.0), (-0.5773501992225647, 0.5773503184318542, 0.5773503184318542)) Testing and feedback is most welcome! Cheers, Bastien _______________________________________________ Bf-committers mailing list [email protected] https://lists.blender.org/mailman/listinfo/bf-committers
