Originally Posted by Marvin
It is possible, a stack is essentially just a single branch of a node tree, so you just need to have a way to have multiple branches while also allowing them to interact.
After Effects does this in an annoying way using Pre-Comps and multiple comps and they have a node visualizer. The idea with Shake/Nuke etc is that you have an infinite workspace and you just throw things around as you please and you could connect things in a lossless way so compatible filters can combine before computing an image. AE does this transparently though to some extent and actually does some things better than the node editors like layer transforms.
AE takes pre-comps way too far though - you can't even apply effects to a group of layers with making a separate comp. That combined with no separation of x,y,z in earlier versions and no bezier animation curves is head-smackingly stupid. At least Motion gets this stuff right.
All they need to do is to allow you to link properties and layers. I think they added some link mechanism in a later version but the thing about nodes is it actually is easy and intuitive when you need that flexibility as you literally just pull a cable and connect two things. That's the simplest behaviour for that process.
I agree though that layers are easier to grasp most of the time and easier to control their timeline. Nodes are quite easy to disconnect from the timeline and end up screwing things up where you didn't want to as they have complex relationships. Nodes have stability issues too as you create cyclical dependence, which gets computers confused. A depends on B but B depends on C, which depends on A and now C wants to depend on B but... ah forget it, crash. 5 minute autosaves are a lifesaver.
The solution to multiple root braches is easy as you just allow multiple scenes/comps or even the ability to keep adding root nodes. The complex part comes when you try to connect a child node of one branch to the child node of another or make an entire scene a child of another scene.
The child-child link can be done by using a kind of ghost comp. It could exist separately in the comp but you just set its parent inputs manually and it would display as an icon in the graph to let you select it easily.
The majority of a node tree can condense into a layer-based structure, especially with Motion's grouping and having independent groups can take care of the rest. The question is how complex that process becomes on a complex tree with multiple child-child links like when a child-child branch links to another and then the 'ghost comps' become nested themselves.
Apple already has a node-based compositor anyway in their Quartz Composer and I think you can insert these into Motion but again you can see the disconnect from the timeline.
In the end, they are trying to visualise 2D non-linear spatial connections + 1D temporal constraints = 3D in a 2D interface. A single branch is essentially 1D as you can collapse the hierarchy at every level. As soon as you join two child nodes, you can't.
I don't think a 3D interface (even isometric) is the solution but it's the only way to display the above in full without using these separated comps. You also have to consider that GPUs are data parallel not task parallel so they can't process multiple branches at once. Not that it's a huge deal as they are fast but it means caching results more in memory - this is fine in Quartz Composer but not so much in Motion.
No matter what they do, they either over-complicate the UI for people who just use layers or dumb down the UI for people who need the flexibility of nodes. Apple have some of the best UI designers so if anyone can figure out a compromise, it's probably them but they will side on simplicity primarily and that's not good enough for the Shake users who went to Nuke instead.
Wow! Thanks for the great post. I think I understand everything except pre-comps -- I have never used AE.
All the talk about node-based editing piqued my interest. I had an old trial version of Shake -- but it would not open... sigh.
As a last resort I found a torrent -- haven't gone that route in years -- but seemed valid as there was no other way to try.
I have beed watching some tutorials and playing around with Shake 4.1.
It looks pretty good.
It is superior to Motion for some things and inferior for others -- to be expected, I guess.
I previously bought Silhouette, a fairly expensive plugin for FCP, to do complex rotos.
Anyway, after a few more Shake tutorials, I think I'll try using it for some of the the things I found difficult to do with FCP, Silhouette and Motion.
I suspect that I will like Shake.
In some of the tutorials they show how Shake can optionally display the visual result of a node: the node/image -- I think that's part of what's needed to be able to simplify and visualize what's going on.
As was discussed earlier. this is similar to the power and elegant simplicity
of looking at images on a light table.
Where, Shake fails at this, IMO, is showing all the noodles, all the time
-- it becomes a snake-pit or can of worms that clutters the picture.
QC, on the other hand, goes too far -- they encapsulate complexity in a summary node with no patch cords (good) but no visual clue as to what the summary nod does.
What I think would be superior would be just to show the node/images juxtaposed in some natural way -- left to right, top to bottom, whatever.
Then the user could Option-click-hold (or two-finger-press-hold) and expose the noodles connected to that node/image, and their connection to other node/images -- to expose the interrelationship of the node/images. When selected this way, the underlying parameters for the node/image could be displayed
Here's some thoughts that come to my mind:
1) Apple bought the company that made Shake for some
2) Apple discontinued Shake for some
3) Apparently, Apple still owns the Shake technology.
4) Apple may
still employ the creative people who created Shake.
5) Assimilating creative people from different, competing technologies into a single product team can be a real challenge -- a cat fight, with some really big cats.
Maybe, the stars are aligned for time, technology, creatives, and UIs!
It could be that Apple has found a way to integrate the use of stack-based and node-based editing -- in such a way that the creative
user could use them interchangeably.
Hopefully, this could also be done in such a way to hide (or modularize) complexity, while at the same time, not reducing any capabilities,
A product like like this could span the use from newbie to prosumer to Pro.
It could be:
1) easy to learn (the basics)
2) easy to progress more capable hardware, software modules, training/learning tools
3) easy to become expert.
Maybe it's just dreaming -- but you appear to have similar thoughts.