Arnold for Maya Forum
Rendering with Arnold in Maya using the MtoA plug-in.
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Different number of motion keys in vertex/normal arrays

Message 1 of 7
765 Views, 6 Replies

Different number of motion keys in vertex/normal arrays

We've been testing arnold (mtoa) with our USD assets and have encountered the following error when enabling motion blur:

ERROR | [polymesh] /path/to/primitive: different number of motion keys in vertex/normal arrays: #normal keys: 1, #vertex keys: 3

We're using the normal maya render workflow with motion blur enabled and motion keys set to 2.

Can anyone elaborate on this error?


Tags (2)
Labels (2)
Message 2 of 7

The vertices and normals should have the same number of motion keys. Normally, that would be two motion keys.

What's the set up here? A usd procedural loading some usd files into a Maya scene?

Where did the USD files come from?
If you save the usd files as usda, can you check the timesamples for the normals and points? Are there two or three time samples?

In this example, the normals have two time samples (-0.25 and 0.25):

        vector3f[] primvars:normals.timeSamples = {
            -0.25: [(0, 0, 1), (0, 0, 1), (0, 0, 1), (0, 0, 1),
            0.25: [(0, 0, 1), (0, 0, 1), (0, 0, 1), (0, 0, 1), 

// Stephen Blair
// Arnold Renderer Support
Message 3 of 7

Hi Stephen

I'm using mayaUsd plugin 0.14 in Maya 2022.2 to create mayaUsdProxyShapes that are then rendered with Arnold. The USD files are generated by our pipeline.

We store animation caches as USD overrides for the point and extent attributes of each mesh with a time sample per frame. These are then sublayered over the static asset USD. As such the normals don't have time samples. I would expect them to as they don't change over time?



Message 4 of 7

If the points have timesamples (motion keys), then they could be changing, so the normals could be changing too.

You're using Maya USD to create the animation caches? Or something else? Can it put time samples on the normals?

// Stephen Blair
// Arnold Renderer Support
Message 5 of 7

Hi Stephen

You were right - I needed to store time samples for the normals as well as the points. This is being done in a Houdini PDG graph.

Oddly enough I kept getting out-of-range errors when using indexed normals so had to drop the indexing to get Arnold to stop complaining.



Message 6 of 7


Can you explain how did you do this?
Thanks in advance

Message 7 of 7

Nevermind, I figured it out.
Thanks anyway!

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Technology Administrators

Autodesk Design & Make Report