ShapeKey normals_*_get()

I’m in the process of writing an exporter which will include the blend shapes.

The shape’s vertex coordinates are available via obj.data.shape_keys.key_blocks[].data[].co.

For the normals, I can use normals_vertex_get(), normals_polygon_get(), or normals_split_get() to compute the local space normals for the shape key. These function return an array of floats ranging from -1.0 to 1.0.

How do I compute the vector normals using these floats?

1 Like

Nevermind, I figured it out.

Unlike all the other properties that return an array of vectors, these functions return an array of floats in [x0, y0, z0, x1, y1, z1, ...] format.

It’s just unclear in the documentation that it works like this.

1 Like