Welcome to WSL!

Instancing Nodes Between Fusion Comps Within Resolve

white_wizard
Fusioneer
Posts: 72
Joined: Wed Sep 18, 2019 3:53 pm

Instancing Nodes Between Fusion Comps Within Resolve

Does anybody know of a simple way to instance nodes between Fusion comps in Resolve?

I have a large number of clips in a timeline which are of similar coverage/angle, and I'd like to be able to make changes for example to a Brightness node and have it also affect the linked brightness node in another fusion comp.

TheBloke
Fusioneer
Posts: 159
Joined: Wed Jun 17, 2020 6:02 am

Re: Instancing Nodes Between Fusion Comps Within Resolve

white_wizard wrote: Wed Jul 29, 2020 9:43 amDoes anybody know of a simple way to instance nodes between Fusion comps in Resolve?

I have a large number of clips in a timeline which are of similar coverage/angle, and I'd like to be able to make changes for example to a Brightness node and have it also affect the linked brightness node in another fusion comp.
There's a method that I've seen @AndrewHazelden discuss in a few threads which I tried out for myself the other day (I'm sure others have talked about it too, but Andrew's posts are the ones I saw):

1. Create a plain text file that contains nothing but your desired Brightness value. Don't hit enter afterwards.

2. In your comps, use the following expression on all the Brightness values you wish to be centrally controlled:

assert(io.open("/path/to/brightness.txt", "r")):read("*all").

Of course replacing /path/to/brightness.txt with the actual path of the file. The given path format will work on macOS and Linux. On Windows I assume (but cannot currently test) it will work as C:\path\to\brightness.txt. Or it may require that you enter it like this: C:\\path\\to\\brightness.txt.

3. You can now change that file anytime you want to update Brightness on all the comps. And that's it. The file will be re-read on every frame, so you will see changes in the file reflected in the current comp as soon as you move to another frame. I don't know if this could theoretically have an impact on performance, but if so I imagine it'd be hard to notice on the vast majority of comps.

4. Instead of directly linking to a specific folder name, you can also use the PathMap system if you have set that up (unlikely in Resolve). To do that, use this format: assert(io.open(comp:MapPath("comp:/brightness.txt"), "r")):read("*all").

In this case 'comp' is the PathMap and (at least in Fusion Studio) references the directory in which the comp is stored. Not sure what that would be in Resolve's case, but other PathMaps can be set up in Resolve's Fusion settings and should would work OK with that format.

There may be other ways to pass data to multiple comps - metadata springs to mind as a theoretical possibility - but the above method definitely works and while it feels a bit hacky, in practice it works fine and is quick and easy to set up.

white_wizard
Fusioneer
Posts: 72
Joined: Wed Sep 18, 2019 3:53 pm

Re: Instancing Nodes Between Fusion Comps Within Resolve

That's a promising approach. It would useful to be able to have a reference node write it's data to a txt file so it could be read by the instance node, rather than adjusting everything via txt file.

Perhaps a script that when run, scans the comp and writes all nodes and values to a txt that can be read by the instance nodes.

Ianos
Posts: 1
Joined: Mon Jan 04, 2021 12:44 am
Real name: Ian

Re: Instancing Nodes Between Fusion Comps Within Resolve

This is working great for me thanks. @white_wizard Just wondering, did anyone ever continue that train of thought of using fusion to somehow write the txt file as well so you can make the modifications inside fusion?

trevora
Posts: 16
Joined: Sat Oct 17, 2015 11:30 am

Re: Instancing Nodes Between Fusion Comps Within Resolve

Interesting

I'm currently doing green screen work in edits made from locked off studio Isos (eg 3 min segments, 4 cameras).

Shows edited multicam in PP - come to Resolve via AAF (so flattened to cameras in the process)

I've got 40 shows with 16 mins virtual studio per show to do,,,

Latest iteration of green screen replacement is for me to sort in Colour page as C mode (so all cam1 then all cam2 etc), set up ReFu page (import previously exported ReFu comp for that camera - check keys, garbage mask etc) select all nodes, copy, switch to ReColour, go to next edit, switch back to ReFu, delete MI & MO, paste... Repeat for that camera etc

So I'm thinking the above global instancing workaround might help me - so I can always tweak in one ReFu comp and have it ripple through that segment, Or at least tweak one ReFu comp, then copy values to a text doc and have them ripple through the sequence.

Sorry for the ramble - need to do some investigating.