Jump to: Board index » General » Fusion

importing .fuse

Learn about 3D compositing, animation, broadcast design and VFX workflows.
  • Author
  • Message
Offline

Stanislao Di Amato

  • Posts: 17
  • Joined: Wed Mar 25, 2015 7:25 pm
  • Location: Rome

importing .fuse

PostWed Apr 01, 2015 9:58 pm

I don't understand how to import a .fuse file.

Stany
Offline
User avatar

Blazej Floch

  • Posts: 186
  • Joined: Tue Nov 11, 2014 12:48 am
  • Location: Toronto, ON

Re: importing .fuse

PostWed Apr 01, 2015 11:54 pm

You do not import a fuse. Drop it in this folder:
C:\Users\Public\Documents\Blackmagic Design\Fusion\Fuses

Important: You will need to restart Fusion for the first time. Up from then you can Reload the Fuse if you happen to Edit it.

Here a quick tool type/source reference

.Fuse is a scripted plugin - meaning that it follows (a subpart, mostly 2D) of the Fusion API and runs pretty much like a native .plugin (see below). However Fuses are written in Lua (JIT since Fusion 7, which speeds up the evaluation by multiple times), can contain multi-threaded parts, even OpenCL code which is evaluated on the GPU/CPU (GPU support in Fusion Studio only).

.setting is a text file (Lua-Table) with values for a particular tool.
This can also be a complete Macro with User-Controls and custom parameters.
You can easily share settings, drop them in from the explorer or Bin.
Also note you can copy paste tools from Fusion which end up very similar to a .setting in the clipboard.

.plugin is a dll (dynamic linked library), probably written in C++ and compiled, so binary and unreadable. You need Fusion Studio to load third party plugins. Additionally you will need to restart Fusion.

.ofx is a special kind of plugin that sits in a very specific folder. It is like a plugin however follows a tight specification so it will work (in best cases) within multiple hosts (=other applications than Fusion).
Also needs restart.

Hope that makes sense.
Offline

Ivan Ivanov

  • Posts: 86
  • Joined: Tue Nov 11, 2014 11:16 am

Re: importing .fuse

PostThu Apr 02, 2015 12:01 am

Nice explanation for coding newbies like myself, thanks much for that.
Offline

Stanislao Di Amato

  • Posts: 17
  • Joined: Wed Mar 25, 2015 7:25 pm
  • Location: Rome

Re: importing .fuse

PostThu Apr 02, 2015 5:55 am

Blazej Floch wrote:You do not import a fuse. Drop it in this folder:
C:\Users\Public\Documents\Blackmagic Design\Fusion\Fuses

Important: You will need to restart Fusion for the first time. Up from then you can Reload the Fuse if you happen to Edit it.

Here a quick tool type/source reference

.Fuse is a scripted plugin - meaning that it follows (a subpart, mostly 2D) of the Fusion API and runs pretty much like a native .plugin (see below). However Fuses are written in Lua (JIT since Fusion 7, which speeds up the evaluation by multiple times), can contain multi-threaded parts, even OpenCL code which is evaluated on the GPU/CPU (GPU support in Fusion Studio only).

.setting is a text file (Lua-Table) with values for a particular tool.
This can also be a complete Macro with User-Controls and custom parameters.
You can easily share settings, drop them in from the explorer or Bin.
Also note you can copy paste tools from Fusion which end up very similar to a .setting in the clipboard.

.plugin is a dll (dynamic linked library), probably written in C++ and compiled, so binary and unreadable. You need Fusion Studio to load third party plugins. Additionally you will need to restart Fusion.

.ofx is a special kind of plugin that sits in a very specific folder. It is like a plugin however follows a tight specification so it will work (in best cases) within multiple hosts (=other applications than Fusion).
Also needs restart.

Hope that makes sense.


Hi,
I got the TimeMachine.fuse, i put it in the folder C:\Users\Public\Documents\Blackmagic Design\Fusion\Fuses, I reload all the fuses but I can't see it anywhere :-(

Stany
Offline
User avatar

Pieter Van Houte

  • Posts: 502
  • Joined: Wed Nov 05, 2014 1:04 am

Re: importing .fuse

PostThu Apr 02, 2015 6:08 am

That's because it's a modifier Fuse. You use it by right clicking, and modifying, a parameter with it.

See example:

Code: Select all
{
   Tools = ordered() {
      Text1 = TextPlus {
         Inputs = {
            Width = Input { Value = 2048, },
            Height = Input { Value = 1556, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            Font = Input { Value = "Arial", },
            StyledText = Input {
               SourceOp = "TimeCode1",
               Source = "Time",
            },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = "",
               },
            },
            ShadingGradient1 = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
            RenderToDPTFile = Input { Disabled = true, },
            DPTType = Input { Disabled = true, },
            DPTResolution = Input { Disabled = true, },
         },
         ViewInfo = OperatorInfo { Pos = { 336, 69, }, },
      },
      TimeCode1 = TimeCode {
         CtrlWZoom = false,
         Inputs = {
            Hrs = Input { Value = 0, },
            Mins = Input { Value = 0, },
            Secs = Input { Value = 0, },
         },
      },
      TimeStretcher1 = TimeStretcher {
         CtrlWZoom = false,
         Inputs = {
            SourceTime = Input {
               SourceOp = "TimeMachine1",
               Source = "Output",
            },
            Input = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 446, 69, }, },
      },
      TimeMachine1 = Fuse.TimeMachine {
         CtrlWZoom = false,
         Inputs = {
            Mode = Input { Value = FuID { "XSheet", }, },
            Skip = Input { Value = 1, },
            XSheet = Input { Value = "10 to 1\r\n", },
            XFrameNumbers = Input {
               Value = "0  --  10\n1  --  9\n2  --  8\n3  --  7\n4  --  6\n5  --  5\n6  --  4\n7  --  3\n8  --  2\n9  --  1\n",
               Disabled = true,
            },
         },
      },
   },
}


The Time Machine is in the TimeStretcher node, under the Modifier tab.

Enjoy! :)
Offline

Stanislao Di Amato

  • Posts: 17
  • Joined: Wed Mar 25, 2015 7:25 pm
  • Location: Rome

Re: importing .fuse

PostThu Apr 02, 2015 6:53 am

Pieter Van Houte wrote:That's because it's a modifier Fuse. You use it by right clicking, and modifying, a parameter with it.

See example:

Code: Select all
{
   Tools = ordered() {
      Text1 = TextPlus {
         Inputs = {
            Width = Input { Value = 2048, },
            Height = Input { Value = 1556, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            Font = Input { Value = "Arial", },
            StyledText = Input {
               SourceOp = "TimeCode1",
               Source = "Time",
            },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = "",
               },
            },
            ShadingGradient1 = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
            RenderToDPTFile = Input { Disabled = true, },
            DPTType = Input { Disabled = true, },
            DPTResolution = Input { Disabled = true, },
         },
         ViewInfo = OperatorInfo { Pos = { 336, 69, }, },
      },
      TimeCode1 = TimeCode {
         CtrlWZoom = false,
         Inputs = {
            Hrs = Input { Value = 0, },
            Mins = Input { Value = 0, },
            Secs = Input { Value = 0, },
         },
      },
      TimeStretcher1 = TimeStretcher {
         CtrlWZoom = false,
         Inputs = {
            SourceTime = Input {
               SourceOp = "TimeMachine1",
               Source = "Output",
            },
            Input = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 446, 69, }, },
      },
      TimeMachine1 = Fuse.TimeMachine {
         CtrlWZoom = false,
         Inputs = {
            Mode = Input { Value = FuID { "XSheet", }, },
            Skip = Input { Value = 1, },
            XSheet = Input { Value = "10 to 1\r\n", },
            XFrameNumbers = Input {
               Value = "0  --  10\n1  --  9\n2  --  8\n3  --  7\n4  --  6\n5  --  5\n6  --  4\n7  --  3\n8  --  2\n9  --  1\n",
               Disabled = true,
            },
         },
      },
   },
}


The Time Machine is in the TimeStretcher node, under the Modifier tab.

Enjoy! :)


Sorry for my ignorance :-)

I really don't understand how to use it :-(

Stany
Offline

Stanislao Di Amato

  • Posts: 17
  • Joined: Wed Mar 25, 2015 7:25 pm
  • Location: Rome

Re: importing .fuse

PostThu Apr 02, 2015 7:04 am

Stanislao Di Amato wrote:
Pieter Van Houte wrote:That's because it's a modifier Fuse. You use it by right clicking, and modifying, a parameter with it.

See example:

Code: Select all
{
   Tools = ordered() {
      Text1 = TextPlus {
         Inputs = {
            Width = Input { Value = 2048, },
            Height = Input { Value = 1556, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            Font = Input { Value = "Arial", },
            StyledText = Input {
               SourceOp = "TimeCode1",
               Source = "Time",
            },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = "",
               },
            },
            ShadingGradient1 = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
            RenderToDPTFile = Input { Disabled = true, },
            DPTType = Input { Disabled = true, },
            DPTResolution = Input { Disabled = true, },
         },
         ViewInfo = OperatorInfo { Pos = { 336, 69, }, },
      },
      TimeCode1 = TimeCode {
         CtrlWZoom = false,
         Inputs = {
            Hrs = Input { Value = 0, },
            Mins = Input { Value = 0, },
            Secs = Input { Value = 0, },
         },
      },
      TimeStretcher1 = TimeStretcher {
         CtrlWZoom = false,
         Inputs = {
            SourceTime = Input {
               SourceOp = "TimeMachine1",
               Source = "Output",
            },
            Input = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 446, 69, }, },
      },
      TimeMachine1 = Fuse.TimeMachine {
         CtrlWZoom = false,
         Inputs = {
            Mode = Input { Value = FuID { "XSheet", }, },
            Skip = Input { Value = 1, },
            XSheet = Input { Value = "10 to 1\r\n", },
            XFrameNumbers = Input {
               Value = "0  --  10\n1  --  9\n2  --  8\n3  --  7\n4  --  6\n5  --  5\n6  --  4\n7  --  3\n8  --  2\n9  --  1\n",
               Disabled = true,
            },
         },
      },
   },
}


The Time Machine is in the TimeStretcher node, under the Modifier tab.

Enjoy! :)


Sorry for my ignorance :-)

I really don't understand how to use it :-(

Stany


I tryied a lot, but the workflow is a mistery for me :-(

Stany
Offline
User avatar

Blazej Floch

  • Posts: 186
  • Joined: Tue Nov 11, 2014 12:48 am
  • Location: Toronto, ON

Re: importing .fuse

PostThu Apr 02, 2015 12:15 pm

Modifiers are special kind of plugins that do handle parameter inputs instead of Image or 3D inputs.

Think of an Input like the data that you pass on and manipulate.

So if you connect a Text+ to a ColorCorrection, the MainInput for the ColorCorrector is the Output Image of the Text+.

Other than connections within the flow (Image, 3D, Particles, Shaders) you can also have connections to a Input Parameter (Properties).

A special kind of Modifier is Animation which drives the Parameter based on the Keyframes and Splines that you define. However there are different kind of modifiers based on the Type of Input.

So e.g.
1. Create a Text+
2. RightMouseClick the StyledText Field, choose Modify with->Comp Name
The Text is replaced with the composition name.
3. Switch to the Layout Tag. RightMouseClick Center (a context Menu pops up)
4. Select Modify With->Shake

Or check this part of the video.


Now the Position of the text is driven by the Modifier named Shake.
The Text floats around randomly.
You can change the Parameter in the Modifier Tab in the Tool Properties view.
(Make sure the tool is selected)

Similar the TimeMachine Modifier was build to be able to drive Time related tools with simple parameters.
Namely: TimeStretcher (2D) or Time3D (Fuse). But the property that it drives is simply Number Inputs, so you could drive anything.

So if you for example have a 2D animation ...
1. Create a TimeStretcher
2. Right Click and Remove "TimeStrechter1SourceTime" on the Source Time Input (to override the default frames)
3. Right Click the Source time again and choose "TimeMachine".

Now within the Modifier Tab you can change the TimeMachine's properties.
This will drive the time of the TimeStretcher with the result of the TimeMachine.
So the Output time is manipulated based on this value.

Makes Sense?
Offline
User avatar

Chad Capeland

  • Posts: 2487
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: importing .fuse

PostThu Apr 02, 2015 6:47 pm

And clearly, the modifier tab needs to go the way of the mask tab. :)
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

Stanislao Di Amato

  • Posts: 17
  • Joined: Wed Mar 25, 2015 7:25 pm
  • Location: Rome

Re: importing .fuse

PostThu Apr 02, 2015 8:28 pm

Blazej Floch wrote:Modifiers are special kind of plugins that do handle parameter inputs instead of Image or 3D inputs.

Think of an Input like the data that you pass on and manipulate.

So if you connect a Text+ to a ColorCorrection, the MainInput for the ColorCorrector is the Output Image of the Text+.

Other than connections within the flow (Image, 3D, Particles, Shaders) you can also have connections to a Input Parameter (Properties).

A special kind of Modifier is Animation which drives the Parameter based on the Keyframes and Splines that you define. However there are different kind of modifiers based on the Type of Input.

So e.g.
1. Create a Text+
2. RightMouseClick the StyledText Field, choose Modify with->Comp Name
The Text is replaced with the composition name.
3. Switch to the Layout Tag. RightMouseClick Center (a context Menu pops up)
4. Select Modify With->Shake

Or check this part of the video.


Now the Position of the text is driven by the Modifier named Shake.
The Text floats around randomly.
You can change the Parameter in the Modifier Tab in the Tool Properties view.
(Make sure the tool is selected)

Similar the TimeMachine Modifier was build to be able to drive Time related tools with simple parameters.
Namely: TimeStretcher (2D) or Time3D (Fuse). But the property that it drives is simply Number Inputs, so you could drive anything.

So if you for example have a 2D animation ...
1. Create a TimeStretcher
2. Right Click and Remove "TimeStrechter1SourceTime" on the Source Time Input (to override the default frames)
3. Right Click the Source time again and choose "TimeMachine".

Now within the Modifier Tab you can change the TimeMachine's properties.
This will drive the time of the TimeStretcher with the result of the TimeMachine.
So the Output time is manipulated based on this value.

Makes Sense?


Thanks!!!!!!

Now I understand the whole process!!!

Stany
Offline

Ringkun Mori

  • Posts: 21
  • Joined: Tue Aug 22, 2017 2:19 am

Re: importing .fuse

PostTue Sep 11, 2018 10:26 am

Blazej Floch wrote:You do not import a fuse. Drop it in this folder:
C:\Users\Public\Documents\Blackmagic Design\Fusion\Fuses


I do not understand this step, this folder does not exist on my computer
Offline
User avatar

Bryan Ray

  • Posts: 1475
  • Joined: Mon Nov 28, 2016 5:32 am
  • Location: Los Angeles, CA, USA

Re: importing .fuse

PostTue Sep 11, 2018 3:50 pm

Try this path:

%APPDATA%\Blackmagic Design\Fusion\Fuses

%APPDATA% is a shortcut that will lead to your profile's AppData\Roaming folder on Windows, which is where Fusion 9 keeps its support files. AppData is hidden in Windows by default, so it can be difficult to find.
Bryan Ray
http://www.bryanray.name
http://www.musevfx.com
Offline

magiva

  • Posts: 8
  • Joined: Sun May 10, 2020 8:05 am
  • Real Name: Mark-Andrew Richardson

Re: importing .fuse

PostFri Jun 26, 2020 7:45 am

it doesnt go in %AppData%\Blackmagic Design\Fusion\Fuses
its a common mistake to put it in there
it does, go in here %AppData%\Blackmagic Design\DaVinci Resolve\Support\Fusion\Fuses

then you will find the fuses under fuses
if you right mouse in fusion to add tool you will see a menu for fuses and your fuses in there
Offline
User avatar

TheBloke

  • Posts: 292
  • Joined: Sat Nov 02, 2019 11:49 pm
  • Real Name: Tom Jobbins

Re: importing .fuse

PostFri Jun 26, 2020 8:46 am

magiva wrote:it doesnt go in %AppData%\Blackmagic Design\Fusion\Fuses
its a common mistake to put it in there
it does, go in here %AppData%\Blackmagic Design\DaVinci Resolve\Support\Fusion\Fuses
That's correct for the Fusion page in DaVinci Resolve. This topic, which started in 2015 (before Resolve even included Fusion), originally related to the standalone Fusion Studio, for which the original paths given were correct.

So yes, Resolve users should use the path you gave. Users of Fusion Studio should use the path originally given. And users of both products would need to copy it to both paths.

The equivalent paths for macOS are, for Fusion and Resolve respectively:
Code: Select all
/Users/YourUserName/Library/Application Support/Blackmagic Design/Fusion/Fuses
/Users/YourUserName/Library/Application Support/Blackmagic Design/DaVinci Resolve/Fusion/Fuses
Resolve Studio 16.2.4.016 and Fusion Studio 16.2.4 on macOS Mojave 10.14.6

Hackintosh: X58, Intel X5670 @ 4.32 Ghz, 48GB RAM, AMD Vega 64 8GB
Monitors: 1 x 3840x2160 (4K) & 3 x 1920x1200
Audio: Behringer UMC404HD
Offline
User avatar

iddos-l

  • Posts: 390
  • Joined: Sat Mar 30, 2019 7:55 pm
  • Real Name: iddo lahman

importing .fuse

PostFri Jun 26, 2020 9:14 am

magiva wrote:it doesnt go in %AppData%\Blackmagic Design\Fusion\Fuses
its a common mistake to put it in there
it does, go in here %AppData%\Blackmagic Design\DaVinci Resolve\Support\Fusion\Fuses


Yes to be more specific this path is for windows users with DaVinci resolve 16 and above.
Below version 16 on windows there is no “support” folder.


Sent from my iPhone using Tapatalk
Offline
User avatar

Bryan Ray

  • Posts: 1475
  • Joined: Mon Nov 28, 2016 5:32 am
  • Location: Los Angeles, CA, USA

Re: importing .fuse

PostFri Jun 26, 2020 3:26 pm

TheBloke wrote:So yes, Resolve users should use the path you gave. Users of Fusion Studio should use the path originally given. And users of both products would need to copy it to both paths.


For anyone running both, it might save your sanity to add a path to the path maps so that all products look at a single location for resources. That way you could add a fuse, macro, or script to Resolve and Fusion at the same time. And you could put that location somewhere easier to find instead of deep in the application data paths, which are hidden on Windows by default, anyway.


if you right mouse in fusion to add tool you will see a menu for fuses and your fuses in there


Not all Fuses will go into the Fuses tool category in Fusion. They can be placed in any category, and current best practice is to place them in categories that match the native Fusion tools they most resemble. For instance, Multi Merge (if installed) is found in the Composite category, and VariDilate is in Filter.
Bryan Ray
http://www.bryanray.name
http://www.musevfx.com
Offline
User avatar

TheBloke

  • Posts: 292
  • Joined: Sat Nov 02, 2019 11:49 pm
  • Real Name: Tom Jobbins

Re: importing .fuse

PostFri Jun 26, 2020 9:09 pm

Bryan Ray wrote:For anyone running both, it might save your sanity to add a path to the path maps so that all products look at a single location for resources. That way you could add a fuse, macro, or script to Resolve and Fusion at the same time. And you could put that location somewhere easier to find instead of deep in the application data paths, which are hidden on Windows by default, anyway.
Oh wow yeah that's a great idea. Fusion's PathMap system looks really powerful.
Resolve Studio 16.2.4.016 and Fusion Studio 16.2.4 on macOS Mojave 10.14.6

Hackintosh: X58, Intel X5670 @ 4.32 Ghz, 48GB RAM, AMD Vega 64 8GB
Monitors: 1 x 3840x2160 (4K) & 3 x 1920x1200
Audio: Behringer UMC404HD
Offline
User avatar

Bryan Ray

  • Posts: 1475
  • Joined: Mon Nov 28, 2016 5:32 am
  • Location: Los Angeles, CA, USA

Re: importing .fuse

PostFri Jun 26, 2020 10:11 pm

If you happen to be running Fusion in a networked multi-user environment, or if you have a render farm, I strongly recommend pointing the Fuse, Lua Modules, and Plug-ins path maps to a network location. We run everything off an application server so when a user installs a new tool everyone has access to it. And the farm absolutely needs access to the three paths mentioned above, or jobs submitted with a fuse will probably fail.

It takes a little work to get Reactor configured that way, but there are instructions to do so at We Suck Less, and it's well worth it.
Bryan Ray
http://www.bryanray.name
http://www.musevfx.com

Return to Fusion

Who is online

Users browsing this forum: Yuri V. Nemets and 14 guests