Source Filmmaker

Source Filmmaker

FNAF World: Nature Pack (Part 1)
 This topic has been pinned, so it's probably important
samlovesmath  [developer] 25 Aug, 2023 @ 8:39pm
How To's: Specific Model Features
You may already have noticed, seeing the previews or messing with the models themselves, that there are a few more complicated features that are made to workaround SFM's limitations and push it to its limits.
All of these involve animated textures, complex bodygroups, and bodygroup skin lists. I will address them here.

IF YOU WISH TO SEE A VERSION OF THIS GUIDE THAT INCLUDES VISUALS, PLEASE CHECK HERE.[docs.google.com]
(redirects to a very special google slides i made teehee)



Ground Model
The ground model is made up of a rig of bones that take use of shapekeys ('flexes' in SFM terms), depending on how far you move the bones vertically.
As a result, there are a couple of things I need to explain first.

1. It's VERY SMALL.
In order to actually get an accurate value from 0-1 for the flex, the bones literally need to go from... 0 to 1. In SFM units. Which is very small.
All you need to do is add a scale slider, and change the range for it to be big enough:
  1. Right-click the rootTransform bone of the ground_custom model, and select Add Scale Control...
  2. Right-click the slider of the new rootTransform_scale, and set the following:
    ----MIN: 100.00
    ----MAX: 1000.00
    ----DEFAULT: 100.00

2. It has a bone COORDINATE SYSTEM.
Each bone is named something like this:
bip_UV_X_Y
...where X is the horizontal number of the bone, and Y is the vertical number of the bone.
The top right would be bip_UV_0_0 and the bottom right would be bip_UV_5_5.

3. SHAPES CAN GET FUNKY.
Because the model uses shape keys, it's a little hard to get a perfectly smooth mesh result from any combination of bones.
If you're getting a weird shape, try messing around with other bones to smooth it out.
One part of the mesh is always controlled by multiple bones in some degree, so experiment!

4. You can SCALE TEXTURES.
ALL textures are seamless (and are actually already 2x scale by default, so you can see it for yourself!).
Therefore, it's very easy to rescale the texture with no worries for size, seams, or an odd look.
You would need to add a new attribute to whatever skin you are using by doing the following:
  1. Right-click the ground_custom model, and select Override Materials.
  2. Right-click the ground_custom model, and select Show in Element Viewer > Model. You should be moved over to the Element Viewer window.
  3. Drop down the yellow material tab, and look for your current skin.
  4. Right-click the green name of the material and select Add Attribute > matrix:
  5. Type the following underneath the matrix box, and select OK afterwards:
    $basetexturetransform
  6. Now you should see a "..." in the value column. If you open it up, there should be a 4x4 table.
    Here is the location of the X and Y scale:
X SCALE
------------
------------
------------
------------
Y SCALE
------------
------------
------------
------------
------------
------------
------------
------------
------------
------------

Values less than 1 make the texture BIGGER.
(ex. 0.5 -> half of texture, expanded to fit)

Values greater than 1 make the texture SMALLER.
(ex. 2 -> twice the texture, shrunk to fit)



Skin Lists
All models including skins now have a complimentary Skin List included in the Bodygroups tab!
Each of them are numbered with their correct skin. Some models that have INVERSE variants will also have their skins listed there.



Custom Skins & Colors
Even though I have added a bunch more skins that are not actually existent in the game, I have also left the ability for simple solid-colored models to have a unique color choice given by you!

If the model has a listed "custom" color skin in the Skin List, this means you can easily edit the color!
The texture will appear white, which is on purpose. It allows you to add a specific Element Viewer material property that darkens the white into whatever color you choose.
  1. Right-click your model, and select the Custom skin (usually the last skin) on the skin list. The material that can be customized should now appear white in the viewport.
  2. Right-click your model in Animation Set Editor. Select "Override Materials". Right-click again, and select "Show in Element Viewer" > "Model".
  3. Look for the green name of the custom material. This will either be labeled "custom", or "white", for obvious reasons.
  4. Right-click over the green name of the material, and create a new attribute: a color attribute named "$color".
  5. Click on the color box to replace the color with any RGB value you desire!
Last edited by samlovesmath; 25 Aug, 2023 @ 8:41pm