🔞 Not Safe For Work content is ahead, please, NO minors! 🔞


Misc. SFM Notes


Nothing too crazy here, but hopefully useful. Misc. notes about little things with SFM.

Use the overview below to jump to the section that most interests you.

Overview

  1. Render Settings
  2. Local vs. World Rotation
  3. Fixes/Improvements for SFM
  4. Getting SFM to Stop Complaining About Deleted Workshop Addons
  5. Models I Frequently Use

Render Settings

Render settings, or how to make SFM not look grainy and bad.

Right clicking in a viewport will open a small, but powerful little menu. The first option on this is Render Settings.... Clicking this will open a dialog box label Progressive Refinement Settings that contains two major sections with check boxes. All options are enabled by default unless otherwise noted.

Progressive Refinement

Enables the use of any of the fields below. If your PC is slow, you may wish to disable these while editing, but you absolutely want at least some of these on when you go to render unless you are doing some very specific, very artsy stuff.

Depth of Field

Enables the Depth of Field effect for SFM, with # Samples (default Use Camera Settings) sample passes.

Motion Blur

Enables Motion Blur, causing previous and next frames to mix into the render of the current frame, with # Samples (default Use Camera Settings) sample passes.

Subpixel Jitter AA

Enables Subpixel Jitter Antialiasing, which smooths out world/mesh edges. Disabling causes hard pixel edges.

Ambient Occlusion

Enables ambient occlusion.

Ambient Occlusion Mode:

Sets the mode for ambient occlusion. Has three options:

Show Ambient Occlusion

Default disabled. Show the AO layer. Note that this shows AO on map geometry as well, which doesn't appear normally.


So that's all well and good, but what do these mean? Well, unfortunately the default settings are bad. Like, really bad. Luckily, there's an easy fix. Take at least one of the # Samples and set it to something other than its default, even if you aren't utilizing DoF or motion blur in your piece. I typically use both, and most typically use 256 and 128 respectively. How high you set them depends on your system/how long you want to sit around waiting for each render to take. Higher sample numbers will look better quality (you'll hit a plateu eventually, though that will also depend on the resolution you're rendering at) but take longer to render. But anything is better than camera default (which is 0, by the way).

Oh, and don't be afraid to turn off AO. For TF2-styled renders I turn it off. I like how it looks closer to the game, and it makes my style of editing easier.


Local vs. World Rotation

This is a big one. This is super useful for posing being both easier and looking more natural. It's a little hidden away, but still just a few clicks.

While in the Motion or Graph Editor ( or ), select something in your Animation Set Editor so you can see the gizmo in a viewport. Right click on your gizmo and go down to Rotation Mode >. You have two options here, World (default) and Local. Click to set the one you want to use.

World Rotation Mode

World rotation is the default, and what you're probably used to if you've been using SFM for any amount of time. Everything you have selected will be rotated relative to the location of the gizmo. Certainly has its uses, and switching back to it is certainly sometimes necessary. But we're here to talk about the other option. We're here to talk local.

Local Rotation Mode

Local rotation is, well, rotation local to anything that's selected. Say you have a chain of bones selected, and you rotate it on the X axis. In world rotation, the whole thing just rotates from wherever the gizmo is, the individual pieces stay in the same place relative to one-another. But with local rotation, each piece is instead rotated on the X axis from its own location. This results in a smooth curve along the chain of bones.

Something to note: While the rotation is local to the position of the bone, it is not local to the rotation of the bone. If you have something like multiple fingers selected and rotate them, they'll all rotate in the same direction, which could cause some less than desirable warping depending on the model.

The options and applications for this are just... there's so much. Finger posing, spine posing, hair, cocks, tentacles, chains, clothing, ribbons, necklaces, straps... Anything with more than one bone to rotate that you want curved or smooth. Local rotation makes these both faster/easier to pose and they'll look better than manually rotating each in what would end up being slightly varying amounts.


Fixes/Improvements for SFM

Will mostly be linking to useful stuff here.

SFM by default has a shadowed light limit of 8. You can (and should) raise this.

A quick guide to fixing transparency in the model viewer.


File Organization and Mount Order

One often ignored but very important part of working with as many files as you're going to be working with in SFM (even the default install includes dozens of maps and thousands of models) is keeping things organized. All too often a download link you'll get will say something to the effect of "just drop this in usermod." And while that works, it can lead to a problem as your SFM journey goes on.

Let's say you need a set of models for a one-off render. You need them for this piece, but don't want your list clogged up by them normally. Or maybe you make TF2-styled stuff usually, but today you're making a Half-Life 2 render. Or a Sonic render, or whatever. Maybe you make NSFW stuff but you want to be able to easily hide that stuff in case you want the ability to work in SFM when family is around and not have to worry about a giant penis flashing by when you're browsing models. All these can be handled in much the same way.

Very simply, we can make as many different categories for files in SFM as we please. We simply need to add a new folder in the SourceFilmmaker/game directory, and otherwise follow the usual folder structure (materials, models, etc. subfolders). However, by default, this folder won't be included when SFM looks for assets. We need to add it as a search path. To do this, we'll use the SDK.

The SDK Launcher

When you first launch SFM from Steam, you're given an option. Launch Source Filmmaker, or Launch SDK. Let's launch that SDK.
If you've set opening SFM as your default, you can launch the SDK by right clicking SFM in Steam, clicking Properties... and under General switch Launch Options to either "Ask when starting game" or "Launch SDK"

SDK Launcher

A beautiful little tool. Lots of good stuff here, but what we're interested in is towards the bottom.

Click on Edit Search Paths for Selected Mod. You'll see a list of almost every folder in your SourceFilmmaker/game directory with checkboxes. Simply tick the checkbox next to your new folder's name to mount it. Uncheck one to unmount it. Note that some directories (tf and hl2) can't be unmounted, as they're critical to SFM's functionality.

You can also change their load order by dragging their names around. Folders at the top are loaded over folders beneath. So, for example, if you download a fix for Cosmetic paintability, by default it won't appear, because the workshop folder is mounted underneath the tf folder, where the broken materials lie. Simply drag workshop over tf to load those files instead.
The tf and hl2 paths can't be grabbed and dragged, you have to grab the ones you want to move relative to them instead.

A big note on this: SFM has a problem downloading addons when there's file conflicts and you tell it to not override. If you tell it to not override, the download can jumble the names of files, so you could get the burning detail texture as the base texture, or the lightwarp as the base texture, or even get a texture named as a model file! To prevent this, always override all files when asked. Almost every upload I've seen has been good about keeping files consistent so overriding shouldn't typically be a concern.

While these issues are always present, mounting workshop over tf can make any of these previously hidden issues become very apparent. If you find a bad download, you can attempt to find and delete the broken files individually, restart SFM, and allow it to download them again (making sure to allow all overrides when asked), or otherwise unsubscribe and resubscribe to the addon and allow overrides when it redownloads the whole thing.

Note that any changes to filepaths require an SFM restart.


Getting SFM to Stop Complaining About Deleted Workshop Addons

SFM will notify you when any workshop addon you're subscribed to is updated, as well as keep track of any addons you've subscribed to/unsubscribed from. In both cases it will offer a popup on startup, after a session is created/opened, asking if you wish to download the new/updated addons or uninstall the old ones. All is well and good with this process (for the most part), except if an addon is removed from the workshop, either from being deleted or from being set to private/friends only by its author.

Whatever the case might be, SFM treats this as the addon being unsubscribed from, and will ask to delete its files. It will do this every. Single. Time. You open it. Needless to say, if you don't wish to get rid of these files, that's quite an annoyance to deal with, especially because this popup prevents the map load from starting until it is closed.

Fortunately there's a solution to this. Unfortunately, what exact file you need isn't readily clear. We'll go over where these files are, and one method to try to figure out where it is, as well as go through some housekeeping advice for making sure these now-potentially-unobtainable files don't get lost to you. First, finding the right file.

Open your SFM directory, and browse to SourceFilmmaker\game\workshop\metadata. In here, you'll find a .dat file for each workshop addon you're subscribed to. The name is the workshop id. This would help us, if the file were still on the workshop. If we're getting this problem, it's because (at least to us) it's not.

If you open a .dat file in a text editor, you'll see some blank spaces/non-display characters/gibberish characters, followed by words! The first words in the file will be the title of the addon, followed by a list of each asset present in it.

SFM tells you the name of the addon it's expecting to delete, so now we just need a method of searching through all of these files for that title. If you installed Notepad++, this is easy enough. Just open every .dat file (or, at least as many as your system can handle at one time) and search for the name of the addon, hitting the Find All in All Opened Documents button. This will open a search results box which will tell you the name of the document(s) your search was found in.

With this information in hand, you could just delete that .dat file and be on your merry way. But, if we want to save these files in a more proper way, don't delete it just yet.

Using the rest of the info from the file, we can tell exactly what files this addon had. We can separate these out from our workshop folder (perhaps even put them all in their own folder that'd be easy to backup/save elsewhere). The task might seem daunting (and depending on the size of the addon, it might be) but keep in mind a lot of addons have their own folders for stuff, and a lot of files just all go together (for example, models can have 3 to 6 files a piece, all with the same name, just different extensions).

Nothing wrong if you don't want to bother with this of course, but if you're looking to keep these files (which you must be, otherwise you'd just let SFM delete them), it's in your best interest to put in the extra work to help make sure you can keep them. Of course, before going to all this effort, you should make sure these files are actually deleted.

Sometimes the Steam workshop servers/your connection to them just derp and tell you (usually many/all of) your addons are unsubscribed from. If it's the first time it popped up, maybe make sure it's actually happening before you lobotomize your workshop data. Also, maybe make sure that the author didn't just delete the old addon to upload a new one (they probably shouldn't, but sometimes they do). Or if someone else reuploaded it already. Always better to put in a little investigative work if it can save you a lot of file shuffling work!


Models I Frequently Use

Asked enough that I think it deserves its own section. Here I'll list common models/other assets that I use.