Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Rendering Animation with object matrix output transforms continuously #1848

Answered by OmarEmaraDev
Chryfi asked this question in Q&A
Discussion options

I bake the action to an empty which is at the root position of my sword. I want to create a trail for which I delay the actions of that empty onto several other empties which function as hooks for the trail plane. This is my node setup:
Screenshot_327

To reduce manual effort I translate them using an offset matrix node (with translation mode set to local). This is needed to translate the empties to the tip and the middle of the sword. Everything seems to work, but when I enable motion blur and render (both cycles and Eevee have this problem) the empties which I transformed fly away as can be seen here. This also happens without motionblur when rendering the animation, which makes this unusable.
Screenshot_328
This only happens during rendering, after it is finished they will reset back to the position they were supposed to be. It also happens when rendering vector pass.

EDIT: Another thing I discovered: when rendering in viewport and clicking somewhere in the viewport, they also everytime I click fly away one step.

You must be logged in to vote

The issue is that you are setting the location of objects, reading their locations right after, then setting their location again. This is unreliable because Blender only updates the scene after AN finishes executing entirely. So you should generally set the location of objects only once and not read them again in the node tree. (There is a workaround, but using it is highly discouraged!)

The best way to do what you want is to use the newly added Evaluate FCurves Transforms node as follows:

Replies: 4 comments 6 replies

Comment options

Can you share a minimal file that reproduces the issue?

You must be logged in to vote
0 replies
Comment options

mesh blur bug.zip
I used Blender 3.1 with the latest build release of this plugin.

You must be logged in to vote
0 replies
Comment options

The issue is that you are setting the location of objects, reading their locations right after, then setting their location again. This is unreliable because Blender only updates the scene after AN finishes executing entirely. So you should generally set the location of objects only once and not read them again in the node tree. (There is a workaround, but using it is highly discouraged!)

The best way to do what you want is to use the newly added Evaluate FCurves Transforms node as follows:

20220414-233258

You must be logged in to vote
0 replies
Answer selected by Chryfi
Comment options

Am I doing something wrong?
Screenshot_329

You must be logged in to vote
6 replies
Comment options

I do not understand... I went to Loop input and clicked on list generator to create a matrix list and I connected it with the evaluate FCurves Transforms node. Isn't this what you also did in the screenshot?

Comment options

@Chryfi I mean connect the FCurves list parameter of the loop input node to the FCurves evaluate node.

Comment options

Sorry for the late replay. I made it work now, you were right, however.... now the delay is.... not delayed but in the future? I dont know how to properly describe it, see for yourself
Screenshot_342
Screenshot_341

Comment options

Okay I think I got the hang of it, is this correct? I multiply the offset by -1 to get a delay?
Screenshot_343

Comment options

@Chryfi Yes, multiplying by a negative factor is the right choice here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
Converted from issue

This discussion was converted from issue #1847 on April 14, 2022 21:33.

AltStyle によって変換されたページ (->オリジナル) /