There has been a fair amount of work done in the SFM recently that just shipped in this morning's Dota update, so I figured it was worth pointing out the new/changed functionality:

Material override - available under the Utilities submenu of the context menu in the Animation Set Editor:
  • Add Material Override To Models - adds a material override element that you can edit in the Properties Editor for fine-grained material replacement, via these attributes:
    • replacementMaterial - replaces all the materials of the model
    • materials - initially contains the array of materials on the model, but changing an array item causes just that material to be replaced
    • (anything else) - material parameters that will be passed to the shader (D_COLOR_WARP, $COLORWARP, $RIMLIGHTSCALE, etc)
  • Replace Materials On Models - allows you to pick a single material that will replace all the materials of all the models of the selected animationsets
  • Remove Material Override From Models - removes material overrides from selected animationsets

Transform Lock icon in the Animation Set Editor now has a tooltip telling you what the control is locked to ("5 controls locked to world and controls in axe1", or ďLocked to axe1 - spine2Ē, for example)

Added Cloth Stiffness Control To Models. (0 is the current/default, and 1 is to just follow animation) Available under the Utilities submenu of the context menu in the Animation Set Editor

Now recording and rendering various status effects in Dota (Phantom Lancerís gold material override for the local player, for example)

Now recording and rendering healthbars in Dota (if Interface is checked in record UI)

Copy/Paste animation sets no longer warns (or unlocks & relocks) when copying animation sets that have locks to other selected animation sets (still warns of lock parent isnít selected)

depthSortBias attribute is now available by default on particles, texture planes, and lights, for changing their translucent sort order (making light volumetrics appear to render behind or in front of a given particle system, etc without actually moving them) The values are in inches, positive values are away from the camera, and itís generally better to apply positive values to the thing you want to push behind, rather than apply negative values to pull the thing you want to pull in front, since you canít pull anything closer than the camera

Auto-layoff is now working in Source2 SFM:
  • -sfm_loadsession <session.dmx> // loads session, skipping the start wizard
  • -sfm_moviesettings <moviesettings.dmx> // imports movie settings
  • -sfm_rendersettings <rendersettings.dmx> // imports render settings
  • -sfm_autolayoff <video filename or image sequence filename base> // renders to the output filename on startup

If -sfm_autolayoff is on the commandline, then the following commandline options will be checked:
  • -sfm_layoffshotlist <shot,list> // example: shot1,shot2,shot9,shot17 = 4 shots
  • -sfm_layoffshotrange <shot,range> // example: shot1,shot17 = 17 shots
  • -sfm_layoffframerange <frame,range> // example: 101,113 = 13 frames
  • <none of the above means render the whole session>

fixed laying off mp4 at NTSC framerates (23.976, 29.97, 59.94)