wireless connections for everybody.

Moderator: Chad

User avatar
andromeda_girl
Fusionista
Posts: 382
Joined: Sun Feb 21, 2016 6:25 am
Been thanked: 3 times

wireless connections for everybody.

#1

Post by andromeda_girl » Sat Feb 16, 2019 8:13 am

I want to start using the wireless link node... but it is just for 2D nodes.
I want to unclutter my comps where my models have a mountain of spiderwebs from so many objects and surface shaders.

as one can see from the screengrab, the 3D merge bringing all the mesh together [plus the surfacing work] has somewhere between two and a hundred inputs and I have only got 1/4 of this completed so far.

Image

I haven't tried a wireless link tool yet because I already see a few problems that stop me:
- wireless link (WiL) 2D tool
- wireless link (Wire) 2D tool
-wireless linky (WiLy) multiple inputs, 2D tool

I'd need to have the ability to have my 3D merge 'become' a wireless link, and the same for shaders so they can spread out to the many different material nodes- but it seems the wireless link is specific to 2D tools only.

is there any hope of this being possible?
what if -any- tool could have a 'wireless link' feature turned on for it?

I am not talking about hiding all connections or having all connections visible; but the ability to just hide inputs on a selected tool- could be a simple radio connection button to turn on and off wireless connections- and, perhaps the connections could 'ghost-on' in a coloured wire when you mouse over the tool with the wireless connections- a way to just see what they are.

(sorry, not a programmer. I leave that to the ones who can do math in their head)

I think this could be a real big help for everyone.
:)

Au

User avatar
SecondMan
Site Admin
Posts: 3474
Joined: Thu Jul 31, 2014 5:31 pm
Answers: 5
Location: Vancouver, Canada
Been thanked: 92 times
Contact:

Re: wireless connections for everybody.

#2

Post by SecondMan » Sat Feb 16, 2019 9:26 am

Well, for starters there are 3D and Material Wireless link nodes in Reactor... :)

Wireless Merge3D wouldn't be a terrible thing to have... Hmm...

I like the idea for hovering over nodes to make connections visible. Would love to see something similar for expression links.

User avatar
intelligent machine
Fusionista
Posts: 406
Joined: Fri May 13, 2016 10:01 pm
Answers: 2
Location: Austin, Texas, USA
Been thanked: 29 times
Contact:

Re: wireless connections for everybody.

#3

Post by intelligent machine » Sat Feb 16, 2019 9:48 am

There is a Wireless 3D and Wireless Material 3D available in Reactor.
I just made a simple macro out of duplicate Wireless 3D nodes connected to a Merge 3D:

Code: Select all

{
	Tools = ordered() {
		Shape3D1 = Shape3D {
			CtrlWZoom = false,
			Inputs = {
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
				Shape = Input { Value = FuID { "SurfaceCylinderInputs" }, },
				["MtlStdInputs.Diffuse.Color.Green"] = Input { Value = 0, },
				["MtlStdInputs.MaterialID"] = Input { Value = 1, },
				["SurfaceCylinderInputs.ObjectID.ObjectID"] = Input { Value = 4, }
			},
			ViewInfo = OperatorInfo { Pos = { 55, 16.5 } },
		},
		Shape3D1_1 = Shape3D {
			Inputs = {
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
				["Transform3DOp.Translate.X"] = Input { Value = -1.95398403676724, },
				Shape = Input { Value = FuID { "SurfaceCubeInputs" }, },
				["MtlStdInputs.Diffuse.Color.Blue"] = Input { Value = 0, },
				["MtlStdInputs.MaterialID"] = Input { Value = 1, },
				["SurfaceCubeInputs.ObjectID.ObjectID"] = Input { Value = 2, }
			},
			ViewInfo = OperatorInfo { Pos = { 165, 16.5 } },
		},
		WirelessMerge3D = GroupOperator {
			Inputs = ordered() {
				Input1 = InstanceInput {
					SourceOp = "WirelessLink3DMerge3_1",
					Source = "Input",
				},
				Input2 = InstanceInput {
					SourceOp = "WirelessLink3DMerge4_1",
					Source = "Input",
				},
				Input3 = InstanceInput {
					SourceOp = "WirelessLink3DMerge5_1",
					Source = "Input",
				},
				Input4 = InstanceInput {
					SourceOp = "WirelessLink3DMerge2_1",
					Source = "Input",
				},
				Input5 = InstanceInput {
					SourceOp = "WirelessLink3DMerge1_1",
					Source = "Input",
				},
				Input6 = InstanceInput {
					SourceOp = "WirelessLink3DMerge7_1",
					Source = "Input",
				},
				Input7 = InstanceInput {
					SourceOp = "WirelessLink3DMerge6_1",
					Source = "Input",
				},
				Input8 = InstanceInput {
					SourceOp = "WirelessLink3DMerge8_1",
					Source = "Input",
				},
				Input9 = InstanceInput {
					SourceOp = "WirelessLink3DMerge9_1",
					Source = "Input",
				},
				Input10 = InstanceInput {
					SourceOp = "WirelessLink3DMerge10_1",
					Source = "Input",
				}
			},
			Outputs = {
				MainOutput1 = InstanceOutput {
					SourceOp = "Merge3D2_1",
					Source = "Output",
				}
			},
			ViewInfo = GroupInfo {
				Pos = { 165, 148.5 },
				Flags = {
					AllowPan = false,
					ForceSource = true,
					GridSnap = true,
					AutoSnap = true
				},
				Size = { 291, 361.3, 145.5, 22 },
				Direction = "Horizontal",
				PipeStyle = "Orthogonal",
				Scale = 1,
				Offset = { 0, 0 }
			},
			Tools = ordered() {
				WirelessLink3DMerge3_1 = Fuse.Wireless3D {
					CtrlWShown = false,
					NameSet = true,
					Inputs = {
						Input = Input {
							SourceOp = "Shape3D1",
							Source = "Output",
						},
					},
					ViewInfo = OperatorInfo { Pos = { -82.5, 76.15 } },
				},
				WirelessLink3DMerge4_1 = Fuse.Wireless3D {
					CtrlWShown = false,
					NameSet = true,
					Inputs = {
						Input = Input {
							SourceOp = "Shape3D1_1",
							Source = "Output",
						},
					},
					ViewInfo = OperatorInfo { Pos = { -82.5, 109.15 } },
				},
				WirelessLink3DMerge5_1 = Fuse.Wireless3D {
					CtrlWShown = false,
					NameSet = true,
					Inputs = {
						Input = Input {
							SourceOp = "Shape3D1_2",
							Source = "Output",
						},
					},
					ViewInfo = OperatorInfo { Pos = { -82.5, 142.15 } },
				},
				WirelessLink3DMerge2_1 = Fuse.Wireless3D {
					CtrlWShown = false,
					NameSet = true,
					ViewInfo = OperatorInfo { Pos = { -82.5, 43.15 } },
				},
				WirelessLink3DMerge1_1 = Fuse.Wireless3D {
					CtrlWZoom = false,
					CtrlWShown = false,
					NameSet = true,
					ViewInfo = OperatorInfo { Pos = { -82.5, 10.15 } },
				},
				WirelessLink3DMerge7_1 = Fuse.Wireless3D {
					CtrlWShown = false,
					NameSet = true,
					ViewInfo = OperatorInfo { Pos = { -82.5, 208.15 } },
				},
				WirelessLink3DMerge6_1 = Fuse.Wireless3D {
					CtrlWShown = false,
					NameSet = true,
					ViewInfo = OperatorInfo { Pos = { -82.5, 175.15 } },
				},
				WirelessLink3DMerge8_1 = Fuse.Wireless3D {
					CtrlWShown = false,
					NameSet = true,
					ViewInfo = OperatorInfo { Pos = { -82.5, 241.15 } },
				},
				WirelessLink3DMerge9_1 = Fuse.Wireless3D {
					CtrlWShown = false,
					NameSet = true,
					ViewInfo = OperatorInfo { Pos = { -82.5, 274.15 } },
				},
				WirelessLink3DMerge10_1 = Fuse.Wireless3D {
					CtrlWShown = false,
					NameSet = true,
					ViewInfo = OperatorInfo { Pos = { -82.5, 307.15 } },
				},
				Merge3D2_1 = Merge3D {
					CtrlWZoom = false,
					CtrlWShown = false,
					Inputs = {
						SceneInput1 = Input {
							SourceOp = "WirelessLink3DMerge1_1",
							Source = "Output",
						},
						SceneInput2 = Input {
							SourceOp = "WirelessLink3DMerge2_1",
							Source = "Output",
						},
						SceneInput3 = Input {
							SourceOp = "WirelessLink3DMerge3_1",
							Source = "Output",
						},
						SceneInput10 = Input {
							SourceOp = "WirelessLink3DMerge10_1",
							Source = "Output",
						},
						SceneInput9 = Input {
							SourceOp = "WirelessLink3DMerge9_1",
							Source = "Output",
						},
						SceneInput6 = Input {
							SourceOp = "WirelessLink3DMerge6_1",
							Source = "Output",
						},
						SceneInput5 = Input {
							SourceOp = "WirelessLink3DMerge5_1",
							Source = "Output",
						},
						SceneInput8 = Input {
							SourceOp = "WirelessLink3DMerge8_1",
							Source = "Output",
						},
						SceneInput7 = Input {
							SourceOp = "WirelessLink3DMerge7_1",
							Source = "Output",
						},
						SceneInput4 = Input {
							SourceOp = "WirelessLink3DMerge4_1",
							Source = "Output",
						},
					},
					ViewInfo = OperatorInfo { Pos = { 82.5, 142.15 } },
				}
			},
		},
		Shape3D1_2 = Shape3D {
			CtrlWZoom = false,
			Inputs = {
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
				["SurfaceCubeInputs.ObjectID.ObjectID"] = Input { Value = 2, },
				["Transform3DOp.Translate.X"] = Input { Value = 3.50121251528827, },
				Shape = Input { Value = FuID { "SurfaceSphereInputs" }, },
				["MtlStdInputs.Diffuse.Color.Red"] = Input { Value = 0, },
				["MtlStdInputs.MaterialID"] = Input { Value = 1, },
				["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 3, }
			},
			ViewInfo = OperatorInfo { Pos = { 275, 16.5 } },
		}
	}
}

User avatar
intelligent machine
Fusionista
Posts: 406
Joined: Fri May 13, 2016 10:01 pm
Answers: 2
Location: Austin, Texas, USA
Been thanked: 29 times
Contact:

Re: wireless connections for everybody.

#4

Post by intelligent machine » Sat Feb 16, 2019 9:51 am

@SecondMan beats me to it again. I need to start refreshing the before submitting!
Would be cool if there was an AJAX refresh feature so the pages would update automatically as new posts arrive.
Last edited by intelligent machine on Sat Feb 16, 2019 9:56 am, edited 1 time in total.

User avatar
Midgardsormr
Fusionator
Posts: 1098
Joined: Wed Nov 26, 2014 8:04 pm
Answers: 2
Location: Los Angeles, CA, USA
Been thanked: 74 times
Contact:

Re: wireless connections for everybody.

#5

Post by Midgardsormr » Sat Feb 16, 2019 9:53 am

Whenever I submit and there's a new post in the thread, the forum alerts me to it and makes me confirm the submission. It doesn't do that for you? edit: Maybe it doesn't work with the quick reply box...

User avatar
intelligent machine
Fusionista
Posts: 406
Joined: Fri May 13, 2016 10:01 pm
Answers: 2
Location: Austin, Texas, USA
Been thanked: 29 times
Contact:

Re: wireless connections for everybody.

#6

Post by intelligent machine » Sat Feb 16, 2019 9:55 am

It probably does but I never paid attention...haha. I just hit submit again...thought it was a glitch!

User avatar
intelligent machine
Fusionista
Posts: 406
Joined: Fri May 13, 2016 10:01 pm
Answers: 2
Location: Austin, Texas, USA
Been thanked: 29 times
Contact:

Re: wireless connections for everybody.

#7

Post by intelligent machine » Sat Feb 16, 2019 10:20 am

Another useful feature to add to all the Wireless nodes are buttons next to the link field to "jump to" and edit source. I know you can right-click on the input and select "edit" to bring up the tool parameters but a button to "jump to" the node in the flow would help (either in addition to a wired/wireless toggle or in place of).

User avatar
thibaud
Fusioneer
Posts: 135
Joined: Thu Sep 04, 2014 1:23 am
Been thanked: 2 times
Contact:

Re: wireless connections for everybody.

#8

Post by thibaud » Sun Feb 17, 2019 3:43 am

I see nothing wrong in this screenshot, add a few 3dmerge and everything gets tidy
// rant on
I'm a fervent opposant of the wireless concept.
I hope I shall never never have to open a flow contaminated with this heresy in my life.
Wires are the very foundation of the node based paradigm, erasing them annihilates the concept and just opens a can of worms when trying to fix things up

User avatar
SecondMan
Site Admin
Posts: 3474
Joined: Thu Jul 31, 2014 5:31 pm
Answers: 5
Location: Vancouver, Canada
Been thanked: 92 times
Contact:

Re: wireless connections for everybody.

#9

Post by SecondMan » Sun Feb 17, 2019 12:30 pm

intelligent machine wrote:
Sat Feb 16, 2019 10:20 am
Another useful feature to add to all the Wireless nodes are buttons next to the link field to "jump to" and edit source.
The ones available in Reactor have that already.

User avatar
gez
Fusioneer
Posts: 140
Joined: Mon Jul 16, 2018 6:21 pm
Location: Argentina
Been thanked: 15 times
Contact:

Re: wireless connections for everybody.

#10

Post by gez » Sun Feb 17, 2019 5:00 pm

Now that you mention it, in the last project I did I found that the bitmap nodes couldn't be picked up by wireless nodes. Bug?

User avatar
intelligent machine
Fusionista
Posts: 406
Joined: Fri May 13, 2016 10:01 pm
Answers: 2
Location: Austin, Texas, USA
Been thanked: 29 times
Contact:

Re: wireless connections for everybody.

#11

Post by intelligent machine » Sun Feb 17, 2019 5:55 pm

gez wrote:
Sun Feb 17, 2019 5:00 pm
Now that you mention it, in the last project I did I found that the bitmap nodes couldn't be picked up by wireless nodes. Bug?
The datatype of the fuse is set to "Image". For a quick fix you can simply duplicate the .fuse file and change the naming in it to something like "Wireless Mask Link" and set the datatype to "Mask".
Feature request: Make the input nonspecific and determine what to do after the input is received.

For something like a mask I'd usually copy and paste as an instance so I can see what is being driven anyway.

A few ways that Wireless Links come in really handy (for me):
I have motion graphics projects where I want to store the client branding in one part of the flow so if I need to swap colors throughout I just work with a few nodes in that one area. I have a series of backgrounds that are all solid colors and maybe a few gradients that will be reused over and over and over. They aren't connected to anything as they are just treated as source material. Wireless links are then added as the source for different parts of the flow. Since there are at a source point, no backtracking is usually necessary.

The same applies to outside source material. Instead of loading the exact same material in multiple loaders you can link one loader to many parts of the flow and deal with masking after the node.

Another concept is to setup a series of wireless links whose outputs are not connected to anything at all. Then I can drop in various checkpoints from the the main flow and use the wireless links for spot checking.

User avatar
SecondMan
Site Admin
Posts: 3474
Joined: Thu Jul 31, 2014 5:31 pm
Answers: 5
Location: Vancouver, Canada
Been thanked: 92 times
Contact:

Re: wireless connections for everybody.

#12

Post by SecondMan » Sun Feb 17, 2019 10:59 pm

Some interesting uses there, thanks! I like the spot checking one...
intelligent machine wrote:
Sun Feb 17, 2019 5:55 pm
Feature request: Make the input nonspecific and determine what to do after the input is received.
Ah, been explored... the Holy Grail of the Wireless Workflow... take a look here and here. So close, yet so far away. But perhaps it may see the light of day in an upcoming version of Fusion.

User avatar
intelligent machine
Fusionista
Posts: 406
Joined: Fri May 13, 2016 10:01 pm
Answers: 2
Location: Austin, Texas, USA
Been thanked: 29 times
Contact:

Re: wireless connections for everybody.

#13

Post by intelligent machine » Mon Feb 18, 2019 2:05 am

I started fiddling with an idea for a universal wireless tool. Multiple input types in one tool - hidden/revealed from a dropdown list. I have the field types working but still need to figure out connecting the appropriate output.
You do not have the required permissions to view the files attached to this post.

User avatar
intelligent machine
Fusionista
Posts: 406
Joined: Fri May 13, 2016 10:01 pm
Answers: 2
Location: Austin, Texas, USA
Been thanked: 29 times
Contact:

Re: wireless connections for everybody.

#14

Post by intelligent machine » Mon Feb 18, 2019 2:12 am

SecondMan wrote:
Sun Feb 17, 2019 10:59 pm
...an upcoming version of Fusion.
I'd love to know more about that :D

User avatar
gez
Fusioneer
Posts: 140
Joined: Mon Jul 16, 2018 6:21 pm
Location: Argentina
Been thanked: 15 times
Contact:

Re: wireless connections for everybody.

#15

Post by gez » Mon Feb 18, 2019 2:39 am

intelligent machine wrote:
Sun Feb 17, 2019 5:55 pm
The datatype of the fuse is set to "Image". For a quick fix you can simply duplicate the .fuse file and change the naming in it to something like "Wireless Mask Link" and set the datatype to "Mask".
Feature request: Make the input nonspecific and determine what to do after the input is received.

For something like a mask I'd usually copy and paste as an instance so I can see what is being driven anyway.
Ah, cool.
Another way I was thinking was to merge/boolean the output of the bitmap node over a bg.

intelligent machine wrote:
Sun Feb 17, 2019 5:55 pm
A few ways that Wireless Links come in really handy (for me):
I have motion graphics projects where I want to store the client branding in one part of the flow so if I need to swap colors throughout I just work with a few nodes in that one area. I have a series of backgrounds that are all solid colors and maybe a few gradients that will be reused over and over and over. They aren't connected to anything as they are just treated as source material. Wireless links are then added as the source for different parts of the flow. Since there are at a source point, no backtracking is usually necessary.

The same applies to outside source material. Instead of loading the exact same material in multiple loaders you can link one loader to many parts of the flow and deal with masking after the node.
I'm doing mostly motion graphics work and I use wireless links exactly for that.
Re-utilizing the same assets multiple times in the composite as if they were individual loaders is super handy and it keeps the flow clean and tight.
In the last work I shared in the theather section I used it for two different textures I overlaid on different objects of the composite several time and for a little animation of two drops I used also several times in the comp changing their colour.
They are instances of the same object, but as they are used as entry points there's no need to track down the original part of the composite (although the fuse allows that if I needed to).
intelligent machine wrote:
Sun Feb 17, 2019 5:55 pm
Another concept is to setup a series of wireless links whose outputs are not connected to anything at all. Then I can drop in various checkpoints from the the main flow and use the wireless links for spot checking.
Sweet. That's a great idea.
intelligent machine wrote:
Mon Feb 18, 2019 2:12 am
SecondMan wrote:
Sun Feb 17, 2019 10:59 pm
...an upcoming version of Fusion.
I'd love to know more about that :D
Me too!