3DSinghVFX / animation_nodes

Node-based visual scripting system designed for motion graphics in Blender.
Other
155 stars 16 forks source link

Auto execute not auto executing #150

Closed scorpion451 closed 4 years ago

scorpion451 commented 4 years ago

Having a very strange issue that I suspect is related to update calls in some way:

Everything works fine, except for auto execute and automated updating of nodes and trees after making changes.

There's two parts to the problem:

Node trees do not automatically register changes

Changes to a tree will not register until I go to the developer tab, and push the profile button with "update everything" mode selected. No errors are thrown, and the tree executes correctly after this is done- but until I do this, tree changes will not register. This applies to creating connections, cutting connections, and adding new nodes.

Auto-Execute does not function

Turning on auto-execute has no effect at all. Executing a tree using the "execute node tree" button works perfectly. The tree does not automatically execute, however, on frame changes, tree changes, property changes, custom triggers, or the "always" setting.

Standard troubleshooting info and things I've tried:

I am using Blender 2.83, on 64bit Windows 7 The issue does not seem to be present in the vanilla build of animation nodes that came with 2.83, but is present in Extra Nodes. I have thoroughly checked for old installs, and reinstalled with the newest build of AN: Extra Nodes (the issue was also present in the build of extra nodes I downloaded on the 10th of this month but had not tried to install until today.) I have the current scene selected in the Animation Node Tree settings panel. Frame dropping is disabled in playback. Updating VC_redist.x64 made no difference.

scorpion451 commented 4 years ago

Update, may be related to not having the latest version of the particle system node tree, which can be found here (and could really use a link somewhere in the docs for extra nodes): https://drive.google.com/drive/folders/1Lwhzg_acppf0YkYhxJ_a0aUQMQl9aznJ Example files run correctly, still tinkering to see if I can get my scene running after swapping the new setup into place.

Update 2: nope, still refuses to run any node trees except the example files. It's like the addon doesn't recognize any scene except the specific one in that file.

Update 3: Tracked down the issue!

Ironically, it seems the problem is a defective debugging protocol in the addon: If any of the node trees that blender loads on start up have issues (for instance, the outdated node tree in my default startup file), the addon terminates the entire auto-execute system, and refuses to reactivate it until blender has been shut down and reopened using a file that does not contain any problematic node trees.

Figure out a way to strip that out and it should be good to go.

3DSinghVFX commented 4 years ago

Hi... First of all thanks for the feedback. Let me divide this problem into cases 1) General node-tree and 2) Node-tree of the particles-nodes.

Update, may be related to not having the latest version of the particle system node tree, which can be found here (and could really use a link somewhere in the docs for extra nodes): https://drive.google.com/drive/folders/1Lwhzg_acppf0YkYhxJ_a0aUQMQl9aznJ

I'll try to update the docs as soon as possible.

scorpion451 commented 4 years ago

Okay, here's one that does it: https://drive.google.com/file/d/1GXO4IPZ0HEQZyPBQFdUshj-7KK0U35oA/view?usp=sharing

there are three node trees present in the file:

Removing this and a couple similar trees from my startup file solved the issue short-term, but I'd call that more a workaround than a true solution like allowing Auto-Execute to resume without a restart after the problem trees have been removed.

To replicate the issue:

  1. Open the file directly, so that blender loads from it. -- Optional 1.5: try to execute node tree, get the expected series of errors caused by broken Utilities file. The issue happens with or without doing this, however: so long as Utilities is present on startup, auto-execute and tree updates will break silently.
  2. Immediately remove "Utilities" without attempting to execute animation nodes. -- Auto-execute does not resume function, and nodes/node trees will not automatically register changes.
  3. Attempt to run node tree via "execute node tree" -- Tree does not run.
  4. Profile node tree in "update everything" mode
  5. then attempt to run node tree via "execute node tree" -- Tree will execute once. Auto-execute does not resume function, and nodes/node trees will not automatically register changes without using profile in update everything mode.
  6. Save a copy without the "Utilities" tree, and open this new file without closing blender.
  7. repeat steps 3-5, should get same results
  8. Close blender without saving any changes, and reopen the copy without "Utilities".
  9. Animation nodes will run auto-execute and update trees properly.
3DSinghVFX commented 4 years ago

@scorpion451 Thanks. I can regenerate the issue. We will look into that.

If you want to resolve it manually, in the Utilities node-tree there is an Expression Node without an output socket that causes the problem. If you remove that it and reopen the file will fix the problem. Screenshot from 2020-06-27 10-35-14 Screenshot from 2020-06-27 10-35-35

scorpion451 commented 4 years ago

Appreciate the bonus bugfix on my file there- had been assuming it was one of my big complicated tangles breaking, and overlooking the abandoned experiment in adding a custom socket type sitting off to one side.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.