New Reels for 2020

bryan-ray_compositing-reel_2020_v02 from Bryan Ray on Vimeo.

This Compositing and Lighting reel shows work from Legion, From Dusk Till Dawn, Charmed, Teen Wolf and Dog With a Blog. All clips are courtesy of Muse VFX and property of the respective productions.

The work was largely completed with Fusion, 3DS Max, Redshift, PFTrack and Houdini. There's a little V-Ray in there, too.

The Music is "Tension 2" from Audio by The Blue Man Group.

Tapered Bezier curve for Fusion

I want a better Lightning tool for Fusion. The existing one, a fuse that was available in VFXPedia prior to the Blackmagic takeover, was never really good enough for production. As a result, any time I've wanted electricity effects, I've fallen back on After Effects. I've had some ideas about how to improve the Lightning Fuse, but when it came time to actually open it up and make some changes, I ran into two problems: Fusion can't draw a tapered spline, and the BezierTo() method for the Fuse drawing API is broken. Solving one of those problems offered me the opportunity to solve both at once, so that's what I did.

In this developer's diary, I'll walk through the creation of a tapered Bezier curve Fuse. All of my testing was done in Fusion 9. I have no reason to expect that the fuse won't work in v16 or Resolve, but I haven't tried it yet. I hope that I'll be able to extend what I've done here into that Lightning Fuse, but that's a few steps down the road. I'll be certain to document it when I get there.Continue reading →

Fusion start-up troubleshooting

Let me lead by saying that I have no intention of being Fusion tech support. The information in this post is the only help I will offer, so don't send me emails asking how to get Fusion running. I will steadfastly ignore them (so don't take it personally when I don't reply; it's just a policy I'm using to maintain my sanity). I am interested in new solutions, though, so if you manage to overcome a start-up or crash problem that isn't detailed here, do let me know your solution so I can disseminate it. Or better yet, post it at both the official forum and We Suck Less. You probably already know that I frequent both of those sites, so I'm almost guaranteed to see it.

USB Port Problems

Your dongle must be plugged into a USB 2 or 3 port. That shouldn't be a problem for most computers of recent manufacture, of course, but there may still be some USB 1 hardware out there.

Fusion sometimes has trouble recognizing the dongle through a USB hub, including the USB ports on a Thuderbolt monitor. One user reported that Fusion 8 would start, but 9 would not when the dongle was plugged into his Thunderbolt screen under MacOS.


If you get a message that the application was unable to start, with a reference to a strange-looking number like the one above, chances are good that your computer doesn't meet the minimum system requirements. Fusion 9 needs a processor that supports the SSE 4.1 instruction set. There is no workaround for this error other than upgrading your processor. Fusion 8, however, does not have this requirement, so you could step back to that version and get working. Do note that you won't be able to run Reactor, which requires Fusion 9.0.2 or higher. Oddly, Resolve 15 also does not have this requirement, in spite of being newer—I was able to run it on an old Pentium processor (not well, but it ran). Of course, Resolve comes with its own set of issues, none of which I am competent to address.

Synology Backup Service

If you have a Synology brand NAS on Windows, you may be running a service called "Cloud Station Drive VSS Service x64". This service is known to interfere with Fusion 9 loading up. Usually it hangs at the splash screen, but you also may also see a white or black box in place of the splash. The solution is to temporarily stop the backup service, start Fusion, then restart the service. Save the following as Fusion9.bat

@echo off
net stop "Cloud Station Drive VSS Service x64"
start "Fusion" "C:\Program Files\Blackmagic Design\Fusion 9\Fusion.exe"
PING -n 30>nul
net start "Cloud Station Drive VSS Service x64"

If you've installed Fusion to a different directory, obviously you'll need to change the path to the executable. The Ping command is simply a way to wait 30 seconds to give Fusion time to fully load before restarting the service.

Another possible symptom of this problem is that Fusion 9 will only start if Resolve 15 is already running.

Bad OFX Plug-ins

Although the OFX standard is intended to allow plug-in developers to write code that works in every compliant host, the unfortunate truth is that many programmers are too lazy to test in environments other than Adobe products. As a result, several popular plug-ins are incompatible with Fusion and will prevent it from loading. Fortunately, there is a way to blacklist the offending plug-ins. First, determine which ones are causing the problem.

On Windows, your OFX plug-ins are found in C:\Program Files\Common Files\OFX\Plugins\

On Mac they're in /Library/OFX/Plugins/

You can easily disable a plug-in by moving it out of that directory. Once you've identified the culprit, you can blacklist it by creating a file called "FusionOFX.blacklist" in your Fusion Profile directory. On Windows that's located at %APPDATA%\Blackmagic Design\Fusion\Profiles\Default\

Place the full path of each plug-in bundle you wish to blacklist, one per line. There should be a single blank line at the end of the file. Or you can download the UI Manager Lua & Python Examples script collection from Reactor. Among the many scripts available there is an OFX Blacklist Generator. Obviously you need to be able to start Fusion to use Reactor, so you'll need to do this while the offending plug-in is disabled.

McAfee Anti-Virus

There is a report that McAfee's anti-virus or firewall software can interfere with Fusion's startup. I have scanty information on that problem at this time; I don't know if it's a general problem with Fusion or specifically the licensing portion. I also don't know if it's possible to solve the problem without uninstalling McAfee—it's possible it just needs a port opened in the firewall or an exception made for Fusion's executable. More information about this error is welcome.

Corrupted Preferences File

Occasionally a bad Prefs file can prevent Fusion from starting. Find the file Fusion.prefs and rename it to Fusion.oldprefs. The next time you start Fusion, the Preferences will be re-generated with default values. This file is found in
%APPDATA%\Blackmagic Design\Fusion\Profiles\Default\
on Windows. I'm not 100% sure of the Mac path, but I think it's something like:
/Users/<your user name>/Library/Application Support/Blackmagic Design/Fusion/Profiles/Default/
I don't have a Mac I can test with.

There may be a related problem with some other installed cruft on MacOS. A number of users reported that Fusion stopped recognizing the dongle after they upgraded to Mojave. One of them was able to get up and running again by completely removing Fusion using an application called AppDeleteLite:

"…moved the Fusion program icon onto the AppDelete window and it then listed all associated folders on my system. I then deleted all these which got rid of all traces of Fusion.
Downloaded Version 16.0 again and installed it. It now works perfectly! Note that every time I upgrade I always use the Blackmagic Uninstall icon first but this doesn't seem to delete all sub folders. The AppDelete program listed a number of old version folders (plists etc.) and it must have been some of these which caused my problem I think."

Missing Media Location

Fusion keeps a ridiculously long Most Recently Used (MRU) list in its preferences. If you have to wait for several seconds to a minute every time you open a file requester, chances are good that Fusion is looking for a path that is no longer valid. This is most commonly a network share that has been unmapped or renamed, but it might also be looking for something like an external USB storage device. The solutions are: Reconnect the missing media, delete the Preferences file (see above), or edit the Preferences to remove the entries in the FileReq.History table. Use a programmer's text editor if you want to do this—regular old Windows Notepad won't do. Search for "FileReq", then go down a couple of lines to "History = {". Delete every line following that curly brace and above a single brace on its own line. Every line should be a file path. Do not delete that lone curly brace—it needs to stay.

Next, search for "RecentComps" and again delete everything between the curly braces, but not the braces themselves. There are a couple of additional LastFile entries, for LUTs, Alembic and FBX files, maybe a couple of other things depending on your usage. Change whatever paths those have to "",


At least one user reported that his finely-tuned gaming PC had continuous crashes until he turned off all the overclocking. Earlier versions of Fusion do not seem to have been as sensitive to overclocked hardware, but Fusion 9 does not like it. If you're having frequent crashes, particularly in 3d scenes, make sure nothing is overclocked on your system. You may have to check the BIOS to be sure, but probably if your computer is overclocked you know about it since you usually have to pay a bit more to have it done or you've done it yourself.

Other crashes

There are a multitude of reasons that Fusion might crash at various times. It's not as common in 9.0.2 as it was in 9.0, but OpenFX can be unstable in some configurations. In the Preferences, you can turn off OpenCL by setting OpenCL tools to Disable. In most configurations, this won't actually affect your performance as much as you'd expect. While Fusion is GPU accelerated, there seems to be some kind of limitation that prevents GPU processing from being significantly faster than keeping everything on the CPU. That will hopefully change once the codebase overhaul has been completed (at which point we should finally get access to CUDA, too!)

In the Memory section of the Prefs, you can try turning off Simultaneous Branching. This will slow things down much more, essentially turning off much of the multi-processing—Fusion will render only one node path at a time instead of processing several.

Some people report crashes when using the B-Spline. That's not a crash I experience myself, but I've heard it from enough independent sources to think that there's an issue there. I recommend keeping your point count down when using the B-Spline, and if you have this problem, maybe get used to using Polygons instead.

There are also occasional interactions with OFX tools that cause instability. I sometimes have difficulty with ReelSmart Motion Blur, and Neat Video's Reduce Noise can get crashy if I use more than one in a comp, even if they're on separate branches. I don't have any solutions for those. Save early and save often. Same goes for using the Paint tools. Some people have no problem with them, but Paint and MaskPaint crash frequently for me. I guess it's a trade-off for the B-Spline thing.

Apparently some GPU watchdog processes assume that a graphics driver has crashed if it takes too long to make a calculation. There is an entry in the online help system for Substance Painter that describes a fix for Windows: GPU drivers crash with long computations
Note that this fix requires editing the Windows registry, which can be risky, so make sure you follow the instructions given in that article precisely.

One user reported that starting Resolve 16 prior to starting Fusion Studio 16 enabled Fusion to get a license, and thereafter Fusion would start normally. We haven't pinned down the cause for this one, other than that user had previously been using a Synology NAS and had uninstalled its software. Since we don't know exactly why CloudStation interferes, though, there's no way to be certain if this was related.

Again, if you're having an issue I haven't covered here, please don't ask me. This is literally everything I know. I may update it as more information comes my way, but I'm not BMD support, and I'm no computer problems guru.

Toolbox UI Script for Fusion

We use quite a few scripts and custom tools at Muse VFX, and using Fusion's built-in methods of organizing them was starting to get cumbersome. I built a little toolbox panel to ease the burden of keeping track of everything, inspired by SirEdric's ScriptScript script at We Suck Less. It's a nice example of a responsive script that is easy to maintain and attractive. It also extended my understanding of Fusion's UI Manager, enabling even more options in the future. Let's take a look under the hood.Continue reading →

Kill the Happyforms Ad in your WordPress Editor

I don't know if any of my small number of readers runs their own WordPress site, but I ran into an annoyance today related to the theme on one of my mine. When I entered the Editor page, an ad for something called "Happyforms" had been placed in the layout. Screen space is precious, and I sure as heck didn't want to give any up to an ad, so I immediately looked for a way to squash it.

First, I needed to figure out where in the world it came from. It was an ad for a plug-in, so the first thing I did was to find out who published it by going to the WordPress Plugins repository. I didn't click on the ad itself—not only did I not want to give the advertiser any positive reinforcement from a click, but I wanted to be sure I was headed to the official WordPress repository and not to any potentially malicious impostor site. Searching for Happyforms turned up that it was published by The Theme Foundry, which pointed me to my themes manager. Sure enough, the Make theme is also published by The Theme Foundry and is the source of the ad.

The next step was to find the code that was embedding the ad. I started by looking through the Theme Editor, specifically at the Theme Functions and Post Builder files. I didn't turn up anything in there, so I dove into the "inc" subfolder, which I think is short for "includes." In there I found the conveniently-named "happythemes.php" file. Opening it up, I found that there was a function called make_before_editor_happyforms_ad().

If your permissions are set up properly, you can't alter this file directly in the Theme Editor, so to modify it you'll need to either do it by ftp or find it in your host's file manager. In my case, I browsed the File Manager to the location /wp-content/themes/make/inc/happyforms.php

I located the function I was interested in and simply deleted everything between the curly braces {}. It's important not to delete the braces themselves or change anything outside of them. This way, the function will be called, not do anything, then return control back to whatever process asked for it. Where before there was an ad, there is now nothing but the editor.

I'll probably have to repeat this process every time the theme updates. If it gets to be too annoying I'll look into how child themes work and see if I can't build a permanent override. Or maybe I'll just jump ship and stop using any themes from publishers that pull such stunts.

Given my previous history with a determined hacker, this kind of thing is a big red flag for me. I don't know what kind of limitations are in place at the WordPress and Wordfence (my firewall) level, but a bad actor could conceivably place links that lead to anywhere they like. In this case I think it's just a matter of an overzealous publisher trying to hock their new product in every channel they have access to. In the future…?

DeSharpen for Fusion

I've been dealing with some greenscreen footage at work from a client that doesn't often use visual effects. They had the in-camera sharpening filter turned all the way up, which creates a harsh black line around the subject, as seen to the left.

This artifact naturally causes problems when keying, so it needs to be smoothed out in order to get the best results. While it is generally impossible to perfectly remove such filtering once it's been done, it is sometimes possible to reduce it to the point where it no longer breaks the key.

For this technique, we'll investigate a common method of sharpening called the Unsharp Mask.Continue reading →

Redshift Camera Metadata in Fusion

Springboarding from Vito's excellent tutorial Exchange Cameras perfectly using the power of Meta-Data, which uses V-Ray, I developed a similar method for Redshift. Redshift's metadata format differs significantly from V-Ray's. First, it's not in an easily-accessed table format; instead, Redshift writes the transform matrix into a comma-separated list. Second, the rotation order of Redshift's matrix is ZXY instead of XYZ. These two issues prevent us from directly using the method Vito shows. Oh, and there's one further problem: The 3DS Max Redshift plugin doesn't yet write metadata to the image, so this won't work there. I have verified it in both Houdini and Maya, though, and I'm reasonably sure it will also work for Cinema4D.  In this article, we'll build a Fuse that reformats the metadata into something easier to apply to a Camera3D node. Take warning, though: There be trig ahead!

Continue reading →

Morality and Investing

Over the past few years I have been very blessed by an income that greatly exceeds my expenses. While I am still not out of the woods with regard to debt—my student loan still exceeds $60,000—the economy has been in a state where it is more efficient to invest my excess than to pay down the debt. I currently have four investment vehicles, and I'd like to take some time to explain each one and consider not only the financial pros and cons, but also the ethical impact of my decisions.Continue reading →

Combining Normal Maps

My buddy Vito asked for some help with combining normal maps with bump maps in Fusion. He's been using a method that's pretty common but mathematically flawed: Apply the bump to the base normals using Overlay mode. While this Looks About Right most of the time, he wanted to improve his workflow. To be honest, the problem was a little bit over my head, but being unable to resist the technical challenge, I dove in.Continue reading →

First Impressions of Fusion in Resolve 15

Blackmagic Design released the first public beta of Resolve 15, to which they've added a Fusion tab so that VFX work can be done without ever leaving the editing environment. Obviously, that's going to put Fusion in front of thousands more eyes, and given that I'm writing a book about it, that seems like good news to me! So it behooves me to try it out as early as possible.

Now, given that I'm a reasonably advanced user of Fusion, it's to be expected that I'll hate a lot about trying to use it in the context of Resolve. I really have no interest in being an editor, so my inclination is to resist wrapping my software inside an editing program. Keep that in mind if I get overly negative. I'm sure for editors who want to dabble their toes in effects, it's the Best Thing Evar.Continue reading →