Using PERPHeads Assets and Paralake in Source Filmmaker Guide

Messages
1,487
Reaction score
2,738
Points
915
Location
United Kingdom
style-logo.png
340


Using PERPHeads Assets and Paralake in Source Filmmaker
Hello everyone!

Following the recent Community Photographer Event and the announcement that entries have been re-opened, I asked @Fredy for his thoughts on publishing a guide on how to get the content from PERPHeads and the Paralake V4 map working in Source Filmmaker (SFM) and believed it was a great idea as there is definitely talented people within the community and it would be an excellent opportunity to see what people could make using the power of SFM.

This guide will:
  • briefly outline what SFM is.
  • how to extract the PERP content from Garry's Mod.
  • how to mount the PERP content into SFM.
  • how to get Paralake V4 to work in SFM.
  • give out general tips and advice on using PERP content in SFM.
What is Source Filmmaker:

For those unfamilar with the software, SFM is a free, open-source software based entirely in the Source engine released by Valve back in 2012. Valve has been using SFM to make their animated shorts and promotional material such as Team Fortress 2's Meet the Team series, Left 4 Dead 2's opening cinematic, CS:GO's cinematic trailers and more. SFM comes with full Steam Workshop support, a built-in modified version of Team Fortress 2 and a usermod directory for custom models, materials, maps, sounds, etc. that aren't found on the workshop.


As you've probably seen around the forums from me, then you'll know I've been using SFM for a long time and have been using it and PERP's assets to make high quality renders - most of which are being used in the current loading screens! I have also dabbled in animation and some of my work can be found on my YouTube channel. (Maybe in the future I might make an animation based around PERP).
Anyway enough about me, you can get Source Filmmaker here: https://store.steampowered.com/app/1840/Source_Filmmaker/
Once you've done that, you can move on to the next step of the guide.
Extracting the PERP content from Garry's Mod

Following the January 2020 update for Garry's Mod, extracting addons in order to grab the assets was changed as previously all you had to do was use GMAD and select which .gma you want to extract. However, as stated, this was changed as all addons were changed into workshop "temp.gma" files and GMAD is unable to extract these. Thankfully, a few Steam users noticed this and made their own tools for extracting workshop content.

Input the URL of the PERPHeads content pack 1 into this website: https://steamworkshopdownloader.io/
From there, press Download and follow the instructions to setup SteamCMD. Repeat this step for content pack 2
NOTE: If you haven't already, make sure that you are unsubscribed from the original 14 content packs and are instead subscribed to the 2 content packs here: Firstly, follow this Steam guide in order to download a content extractor tool for GMOD and follow the instructions to set it up: https://steamcommunity.com/sharedfiles/filedetails/?id=1993428784
Once you have installed this content extractor and have it properly working:
  1. Open the extractor and press 1 and hit Enter so that it will start displaying a list of all addons you currently have installed for GMOD:
    67f3dda98ad6872933cd52a06f506343.png
  2. Once the extractor has finished listing all addons, locate the PERPHeads content. Each addon is given a unique number; in my instance, the IDs are 115 and 116
    3c0064c0bbf2101e29b83fdeb251c411.png
  3. Once you have located the content, type the IDs in, separated by spaces and press Enter. This will only extract the content you have selected.
    de8c775066196e2fcf30b6428025d8b0.png
  4. After completing the extraction, go into the Extractor's files and look for the folder "Extract". If you have extracted everything correctly, it will show up like this:
    781dfb7bebb3c2d10f84d775ecb56205.png
  5. Congratulations! You have successfully extracted the PERPHeads content. Inside these folders will be other folders such as materials, models, sounds, particles and resource. We can now move on to the next step in the guide.

If you want your content to remain up-to-date, make sure to re-extract the content and re-mount into SFM so you have the latest models and materials.

Mounting the PERP content into SFM

This part of the process is quite straightforward. Now that you have your content and you can see the different folders inside, all you have to do is:
  1. Select all of the folders inside the content packs and cut/copy them
  2. Locate your usermod folder. The directory is typcially <Drive Letter>\Program Files (x86)\Steam\steamapps\common\SourceFilmmaker\game\usermod
  3. Paste the folders into the usermod folder. This will automatically merge and organise the folders with the same names.
  4. Repeat the process with the extracted content folder.
Alternatively, you can create a new directory inside SFM by opening up the SFM SDK and clicking on Create New Mod or Add Existing Mod. From there, give it a name, e.g perpheads, and extract the PERP content into that directory.

The PERP content should now be fully mounted into SFM. You can confirm this by launching SFM, opening the Create Animation Set for New Model menu in the Animation Set Editor and typing, for example, jarheads. You should see a bunch of models like this:
df7a4ce1ed2dff7975f343db2bc11528.png

This confirms that the content has been successfully mounted and that SFM can view them and load the models in. We can now move onto the next part of the guide.

Getting Paralake V4/V5 to work in SFM

For Paralake V5, see this post from July 21st 2021 Please note, Paralake V5 will not require CS:S content unlike Parlake V4.

Now, a fun fact regarding SFM: as all Source games have a map entity limit, SFM's map entity limit is around 24,000 entities. However, Paralake V4 has around 65,000 entities as GMOD has a significantly higher entity limit. What does this mean? Well, because of Paralake V4 surpassing SFM's entity limit, whenever you try to load the map, it will crash SFM by producing the error ed_alloc: no free edicts. This is why in some of my earlier works, I resorted to using EvoCity with the PERP content.

But thanks to the work @Lelios1 did for me, he split the map up into three different maps: the City, the Business Sector, and Subs/Forest area. Because of this, these sections weren't hitting the entity limit and thus this allowed SFM to load these areas without issue. Therefore I will be sharing these areas of Paralake V4 here: https://mega.nz/folder/eQEzSKSK#AeGUAGWFgDNkAZ9kO4bL6g

Mounting the maps pretty much follows the same process as mounting the content. Copy/Cut the maps and go to <Drive Letter>\Program Files (x86)\Steam\steamapps\common\SourceFilmmaker\game\usermod\maps and paste them there. When you go to load a map in SFM, you should see these in your map selection list in the usermod directory.

NOTE: Like PERPHeads, you will need to mount the CS:S content into SFM in order for all of the textures to properly load otherwise you will get purple/black boxes or ERROR messages. Follow the same process as mounting the PERP content into SFM. If there are still issues, extract the Paralake City V4 and Paralake City V4 Content via the Content Extractor and mount them into SFM.

Now, before you load the map, you need to input the command r_hunkalloclightmaps 0 in the console or set it as one of your launch options in SFM as +r_hunkalloclightmaps 0. The map will not load and will crash SFM unless this command has been inputted in the console or set as a launch option.

Once you have successfully loaded the map, you will notice that the skybox buildings appear to be missing. This is normal as they are not spawned in by default on SFM. In order to spawn them in, press F11 to enter the modified Team Fortress 2 game. Use noclip to fly to the general area where your render will be taking place and press F11 to exit TF2. Then press the Record Game button and click Record. This will re-open TF2 but all you need to do is press Esc and it will exit out of TF2 once more. But now the skybox buildings have been loaded in.

Another thing you will notice is that the sky is black and has no sky texture at all. This is because of the custom day/night cycle PERP has. However, this can be easily rectified by using the console command sv_skyname <skyname texture>. You can find a list of sky textures here: https://developer.valvesoftware.com/wiki/Sky_List.

Another thing worth noting is that some water textures appears to be broken. As far as I'm aware, I have not been able to find a fix for this yet so you may just have to improvise by using water models from the workshop or just avoid areas with water altogether. Nonetheless, this is only a minor issue.
General tips and advice with using PERP assets in SFM

Now that you have PERP's assets and Paralake V4 working in SFM, I'd like to give out a few pieces of advice and useful tips that you can use to make your characters and scenery in SFM stand out more in your renders.

Firstly, I would strongly advise subscribing to the "Enhanced Citizens" workshop addon here:
This workshop addon reworks the HL2 models with higher texture quality and improved facial controls. This is undeniably useful in shots where you're focusing on a character and want to convey their emotions through facial expression. UPDATE 07/10/2021: These enhanced models are no longer necessary due to the PERP HL2 models' facial controls being fixed
5XsmI4Z.png
Secondly, there are some attributes that you should know about in SFM. These attributes will allow for you to select specific clothing from a PERP model, change the colour of a model and make specific areas of a model invisible. These attributes are:
  • $basetexture - a string attribute that overides the default material path where the model retrieves its textures from​
  • $color - a color attribute changes the colour of a model. $color2 is utilised when $color does not change the colour​
  • $alpha - a float atrribute that makes a selected area of a model invisible by not drawing it​
I'll now go over each one and demonstrate how to apply these attributes to models.
  1. Spawn in your model through the Create Animation Set for New Model menu. For this instance, I will be using lsshirt.mdl (AKA the sweater shirt)
  2. Right click on the the model in the Animation Set Editor and select Add Override Materials
    ef74dd57dd7907dc8cebd514fd247690.png
  3. Right click again on the model and hover over Show in Element Viewer and select model from the drop down menu. SFM will now switch to the element viewer with the model selected. At the bottom of the list you will see materials in yellow text. This confirms you have added overide textures and now we can move on to the fun part.
  4. From the dropdown, right click on the green lsshirt_1, hover over Add Override Materials and select string. From there, input $basetexture and press OK.
    2420ca9b6f5f2c25621d84439f4ce099.png
    93674e59a3316c5cbbc6ef996133b31f.png
  5. Now that the shirt's texture has changed to be the purple and black boxes, you will have also noticed that in the element viewer that $basetexture has appeared and in the next column you can type in it. This is the new material path where SFM will read the material textures from. As clothing such as the suit top, leather jacket, etc are re-skins of the sweater shirt, copy the texture path from mtlName (Which is models\jarheads\shared\clothing\lsshirt_1) and paste it in the $basetexture input box but change the number on the end. For example, changing it to 9 will load the suit top texture:
    855ff6f150a4f6d16fbc6097761ac36a.png
    9a05f3e3deb014a30268bda7365bd84c.png
  1. Repeat Steps 1, 2 and 3 from the $basetexture tutorial above.
  2. From the dropdown, right click on the green lsshirt_1, hover over Add Override Materials and select color. From there, input $color and press OK. If $color does not change the colour, use $color2 instead. (This forces the material to use the colour) Your model should now appear a black colour
    f3281624b73a832b8dba953214884a93.png
  3. In the element viewer, you should now see $color with a coloured box in the next column. From there you can select a colour or use an RGB code to search for a specific colour (useful for making organisation renders, etc).
0d62618f5a148c5a8ea29a74e4263be4.png
  1. Repeat Steps 1, 2 and 3 from the $basetexture tutorial above. In this example however, we will be using male_07 from the Enhanced Citizens workshop addon.
  2. From the dropdown, right click on the green citizen_sheet, hover over Add Override Materials and select float. From there, input $alpha and press OK.
    fb75823c7f3d8942e35289c91e52e543.png
    1048ded7f84798cd81e6f00b61763887.png
  3. Your model should now appear invisible for the section you have selected. In this example, citizen_sheet makes the model apart from face and hands invisible.
    fea88c3e2e8ae0ba217c72d2034df3f1.png

Thirdly, when you're posing your characters in SFM, use rig_biped_simple. Trust me, it makes your life 10 times easier when trying to pose a character. To add a rig onto a model, right click on the model and hover over the Rig option. From there, select rig_biped_simple and the rig will be automatically applied to the model.
ab9e3c1081edee07fe9833ff5c44d8fd.png


Fourthly, in order to get the clothing attached to your characters, you will need to lock the clothing models (child model) onto the character (parent model). This parent-child system means that whenever the parent model moves, the child model will move exactly the same way as the parent. Bear in mind that when using the PERP clothing, the enhanced HL2 models don't have necks as they were designed without PERP's clothing in mind and were never intended to have custom clothing on it. This means you should spawn the jarheads playermodel say, for example, male_07 and use the $alpha guide above to make all of the body apart from the neck invisible and then lock the playermodel to the enhanced model. Then lock the clothing model to the enhanced model. When the models are locked together, you may need to adjust the child models slightly so that the whole character when all the models are locked together appear natural as if they are just one playermodel.
  1. Spawn the models in that you want to use. Once that has been done, click on the little (+) to left of the model name, it will show you all the bones.
    08841457eef254c0d8f8568f14be6af8.png
  2. Click on the (+) icon on the model you intend to be the child model. You will notice that they have the same bone names. For example, ValveBiped.Bip01_Pelvis
    a0c46fd7f62c6177b47f00cb558b4d73.png
  3. Drag the model bone from the parent onto the child bone with the same name. In this instance, the rootTransform of the parent will be locked to the rootTransform of the child. A GIF of this can be viewed here https://gyazo.com/4034259c72808400a29a8f2ac9ee92f6
  4. Repeat the process for every bone in the child model. This is without a doubt the most boring and tedious part of the process but it ensures that everything will look correct.
  5. Once all bones have been locked, select the child model (in this instance lsshirt1), select the child model and in the Procedural tab, drag the Zero slider all the way to the right. This zeros the child model onto the parent model so that it will be in the same position and move when the parent moves.
    201cf34c10f2f0ed05d9559346ac76ab.png

And finally, just experiment and play around with all of SFM's tools. There are a large variety of tools available within the software as well as a bunch of videos on YouTube and guides online which can be used as tutorials to gradually improve your work. There is a learning curve to using SFM but once you've gotten the hang of it, you'll be making high-quality renders (and maybe even animations) in no time!

If you have any questions, do not hesitate to ask me in this thread or privately message me!
 
Last edited:

A1L

Messages
3,209
Reaction score
2,255
Points
1,185
Location
United Kingdom
Any tips on how to make better high-quality looking SFM's such as yours? I've messed around with SFM a bit that I'm more confident in making them, however yours looks a lot more like higher quality, as well as just generally looking better, such as the lighting, etc? If you look at what I did, it just looks like it's taken in-game, is there anyhow to make it look like yours? And for such as the animations for holding guns, are you able to tell me which animation you use for rifles, pistols, etc?

UbM3nyV.jpg
 
Messages
1,487
Reaction score
2,738
Points
915
Location
United Kingdom
  • Thread starter
  • Staff
  • #5
Usually via experimenting with the lights that you can create with the Create Animation Set for Light in addition to messing around with the camera settings such as focal distance, aperture, tone scale, etc.. If you want to upload the session file (the .DMX file located in SourceFilmmaker\game\usermod\elements\sessions) I'd be more than happy to take a look at the file itself :)
 
Messages
1,487
Reaction score
2,738
Points
915
Location
United Kingdom
  • Thread starter
  • Staff
  • #6
style-logo.png
340


Using PERPHeads Assets and Paralake in Source Filmmaker - Paralake V5 Update
Hello everyone!

Been quite a while since I've posted on this thread and I've been meaning to update this but never got round to it - better late than never I suppose! Anyways, after playing around in Hammer yesterday I have managed to split Paralake V5 into two separate maps that will run in SFM similar to how V4 did so that myself and any other SFM enthusiasts from PERP can create content related to PERP or use in their own projects - you can expect to see some posters and potential short animations from me in the near future!

The two versions that are available are:
  • rp_paralake_city_v5_city.bsp - The City area of Paralake
  • rp_paralake_city_v5_busisubs.bsp - The Business Sector, Forest and Suburbs areas of Paralake
In order to run these maps without any missing textures or errors you will need to follow the Extracting the PERP content from Garry's Mod and Mounting the PERP content into SFM from the original guide. You can ignore the part about mounting CS:S content as V5 does not require it unlike V4 (but you can install it anyway if you want more assets to work with, the choice is yours!) Additionally, you will need to have +r_hunkalloclightmaps 0 set as a launch option in order for SFM to successfully load these maps similar to V4. This will ensure that you can benefit from all the new models added to PERP from the V5 update alongside having V5 running smoothly in SFM.

Download here: https://mega.nz/folder/qQEDlK6Y#exwMyhvz-gLEV-OCoHFVJQ

If you encounter any problems do not hesitate to contact me via this thread or PMs via Forums/Discord/Steam.

Enjoy!
 
Last edited:
Messages
1,770
Reaction score
1,034
Points
885
would i be able to make movies with this also how would i add rings and lighting etcra ??
 
Messages
1,487
Reaction score
2,738
Points
915
Location
United Kingdom
  • Thread starter
  • Staff
  • #8
Source Filmmaker (as the name states) is a movie-making tool which Valve and many people use to make videos so yes you can make movies with it. In terms of adding rings onto the character (assuming you've followed my guide of extracting the content into SFM) all you need to do is click "Create Animation Set" and then search for "ring" and it should display something similar to this:
665a28cabad2f6d26cda1eefca535ea1.png

Regarding lighting, there's countless ways you can try to light a scene and it would be difficult for me to explain as it will always be different depending on how you set up the scene but I would advise searching on YouTube something along the lines of "SFM lighting tutorial" as you'll find a bunch of videos to help you!
 
Top