Difference between revisions of "Team Fortress Wiki:3D Models"
m (→Workflow) |
m (→Uploading your image) |
||
(258 intermediate revisions by 35 users not shown) | |||
Line 1: | Line 1: | ||
− | The '''3D Models''' project's goal is to construct pseudo 3D images of the weapons in ''Team Fortress 2'' that can be freely rotated. | + | {{Help navbar}} |
+ | The '''3D Models''' project's goal is to construct pseudo-3D images of the weapons in ''Team Fortress 2'' that can be freely rotated. | ||
== Example == | == Example == | ||
Line 11: | Line 12: | ||
== Requirements == | == Requirements == | ||
− | *[ | + | * [https://www.microsoft.com/windows Windows] |
− | *[ | + | * [https://store.steampowered.com/app/440/Team_Fortress_2 TF2] |
− | * | + | * HLMV (included as a part of TF2) |
− | * | + | ** (optionally) [[vdc:Half-Life Model Viewer++|HLMV++]] |
− | + | * [https://www.python.org/downloads/release/python-379 Python 3.7.9] | |
− | + | * [https://github.com/jbzdarkid/3D-Models-automaton/releases/latest/download/3D-Models-automation.zip A copy of the automaton repository] | |
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | *[ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== Initial setup == | == Initial setup == | ||
=== Installation === | === Installation === | ||
− | + | Please follow the latest instructions at [https://github.com/jbzdarkid/3D-Models-automaton#installation-steps the 3D-Models-automaton repo]. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Workflow == | == Workflow == | ||
=== Taking images === | === Taking images === | ||
− | * Open up | + | * Open up the weapon in HLMV and ensure it rotates properly. There are three possible outcomes here: |
− | * If the model does not face you directly when centered, it will need to be [[ | + | ** The model will rotate around the bottom corner of the model. If so, you will need to make use of <code>rotation_offset</code>. |
+ | *** First, reset the model's position with Options → Center View. | ||
+ | *** Then, from <code>cmd</code>, navigate to the folder containing <code>automate.py</code> and run <code>mem trans</code>, noting the second value (the Y translation). | ||
+ | *** Back in HLMV, rotate the model so that it is facing right. Hold down {{Key|Shift}} and move the model sideways so that it is centered in the circle that appears. | ||
+ | *** Go back to <code>cmd</code>, and run <code>mem trans</code> again, once again noting the second value. | ||
+ | *** The difference between the current value and the initial value is the <code>rotation_offset</code> value to set in <code>automate.py</code>. | ||
+ | ** The model will rotate around the wrong plane or the model will not rotate around the vertical or horizontal center. If so, the model will need to be [[#Recompiling models|recompiled]]. | ||
+ | ** The model will rotate around the vertical '''and''' horizontal center of the model. If so, you are good to go. | ||
+ | * Center the model using Options → Center View. | ||
+ | * If the model does not face you directly when centered, it will need to be [[#Recompiling models|recompiled]] with a new rotation. | ||
* Zoom the model out so that it is as large as possible, but will not clip outside the viewer window when rotated or tilted. | * Zoom the model out so that it is as large as possible, but will not clip outside the viewer window when rotated or tilted. | ||
− | |||
* If the light source produces a glare that interferes with the model, hold {{Key|Ctrl}} and drag the light source around with the mouse until it is in a better position. | * If the light source produces a glare that interferes with the model, hold {{Key|Ctrl}} and drag the light source around with the mouse until it is in a better position. | ||
− | * | + | * Run the script, from the command line. Navigate to the folder containing the scripts and type <code>python automate.py</code>. |
− | + | * After the image finishes rotating, switch back to the command line and follow the prompts to upload the file. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Team-colored models === | === Team-colored models === | ||
− | * | + | * This is now very simple, simply change this in HLMV (Model → Skin #), then re-run the script. |
− | |||
=== Models with other class arms/models blocking the view === | === Models with other class arms/models blocking the view === | ||
− | * If you wish to remove a model from the viewer (for example the | + | * If you wish to remove a model from the viewer (for example the Sniper's arms holding onto the view model Sniper Rifle), click on the Model tab in HLMV and find out which VMTs are being used for the model textures. |
− | * Extract the VMTs using GCFScape to the same path in your | + | * Extract the VMTs using GCFScape to the same path in your <code>/custom/folder</code> and open them up in a text editor. |
− | * Inside the <code>"VertexLitGeneric"</code> curly brackets add the line <code>"$no_draw" "1"</code>. This will make the model invisible in HLMV. | + | * Inside the <code>"VertexLitGeneric"</code> curly brackets add the line <code>"$no_draw" "1"</code>. This will make this part of the model invisible in HLMV. |
=== Recompiling models === | === Recompiling models === | ||
− | * | + | * First, check [[TFW:3D Models/Weapons|here]] to see if a model has already been recompiled. |
− | * | + | * Download and install [http://steamcommunity.com/groups/CrowbarTool Crowbar], [https://web.archive.org/web/20191202141812/http://nemesis.thewavelength.net/index.php?p=25 GCFScape], and the Source SDK (Steam -> Library -> Tools) |
− | + | * Extract the model with GCFScape, decompile with Crowbar. | |
− | + | * For the most part, adding <code>$autocenter</code> to the .qc file should do the trick. If not, try using <code>$origin X Y Z</code>. For more complex concerns, see {{vdc|Category:QC Commands}}. | |
− | + | * Recompile the model with Crowbar. You should be good to go! | |
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | * | ||
− | == Uploading your image | + | == Uploading your image == |
− | * | + | * This should happen automatically. If it does not, the script will save your image (and the template) to temp.jpg and temp.txt. |
− | |||
== Tips and debugging == | == Tips and debugging == | ||
− | * | + | * You can set <code>vertical_rotations = 0</code> to generate the model with no tilting, or reduce the number of rotations with <code>number_of_images</code>. |
− | |||
− | |||
− | |||
− | |||
* You will find it '''much''' easier when recompiling models to find out if they're centered correctly by checking the 'Ground' checkbox in HLMV and refreshing the model every time you make a change and recompile. | * You will find it '''much''' easier when recompiling models to find out if they're centered correctly by checking the 'Ground' checkbox in HLMV and refreshing the model every time you make a change and recompile. | ||
+ | * If the 3D image's starting position isn't centered, click the edit button on the 3D image file's page and change "startframe" to whichever frame number is the centered frame. | ||
== Models repository == | == Models repository == | ||
* [[Team Fortress Wiki:3D Models/Classes|Classes]] | * [[Team Fortress Wiki:3D Models/Classes|Classes]] | ||
− | |||
* [[Team Fortress Wiki:3D Models/Weapons|Weapons]] | * [[Team Fortress Wiki:3D Models/Weapons|Weapons]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Weapons == | == Weapons == | ||
=== Needed weapons === | === Needed weapons === | ||
− | + | * None | |
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Finished weapons === | === Finished weapons === | ||
{{Columns-list|4| | {{Columns-list|4| | ||
+ | * {{icon item|Air Strike|30px}} [[Air Strike]] | ||
* {{icon item|Ali Baba's Wee Booties|30px}} [[Ali Baba's Wee Booties]] | * {{icon item|Ali Baba's Wee Booties|30px}} [[Ali Baba's Wee Booties]] | ||
− | * {{icon item|Ambassador|30px}} [[Ambassador]] | + | * {{icon item|Ambassador|30px}} [[Ambassador|Ambassador: Multiple Skins]] |
* {{icon item|Amputator|30px}} [[Amputator]] | * {{icon item|Amputator|30px}} [[Amputator]] | ||
+ | * {{icon item|Ap-Sap|30px}} [[Ap-Sap]] | ||
* {{icon item|Apoco-Fists|30px}} [[Apoco-Fists]] | * {{icon item|Apoco-Fists|30px}} [[Apoco-Fists]] | ||
* {{icon item|Atomizer|30px}} [[Atomizer]] | * {{icon item|Atomizer|30px}} [[Atomizer]] | ||
− | * {{icon item| | + | * {{icon item|AWPer Hand|30px}} [[AWPer Hand]] |
− | * {{icon item|Axtinguisher|30px}} [[Axtinguisher]] | + | * {{icon item|Axtinguisher|30px}} [[Axtinguisher|Axtinguisher: Multiple Skins]] |
* {{icon item|Baby Face's Blaster|30px}} [[Baby Face's Blaster]] | * {{icon item|Baby Face's Blaster|30px}} [[Baby Face's Blaster]] | ||
* {{icon item|Backburner|30px}} [[Backburner]] | * {{icon item|Backburner|30px}} [[Backburner]] | ||
+ | * {{icon item|Back Scatter|30px}} [[Back Scatter]] | ||
* {{icon item|Back Scratcher|30px}} [[Back Scratcher]] | * {{icon item|Back Scratcher|30px}} [[Back Scratcher]] | ||
− | * {{icon item|Bat|30px}} [[Bat]] | + | * {{icon item|B.A.S.E. Jumper|30px}} [[B.A.S.E. Jumper]] |
+ | * {{icon item|Bat|30px}} [[Bat|Bat: Multiple Skins]] | ||
+ | * {{icon item|Bat Outta Hell|30px}} [[Bat Outta Hell]] | ||
+ | * {{icon item|Batsaber|30px}} [[Batsaber]] | ||
* {{icon item|Battalion's Backup|30px}} [[Battalion's Backup]] | * {{icon item|Battalion's Backup|30px}} [[Battalion's Backup]] | ||
* {{icon item|Bazaar Bargain|30px}} [[Bazaar Bargain]] | * {{icon item|Bazaar Bargain|30px}} [[Bazaar Bargain]] | ||
Line 551: | Line 96: | ||
* {{icon item|Big Earner|30px}} [[Big Earner]] | * {{icon item|Big Earner|30px}} [[Big Earner]] | ||
* {{icon item|Big Kill|30px}} [[Big Kill]] | * {{icon item|Big Kill|30px}} [[Big Kill]] | ||
− | * {{icon item|Black Box|30px}} [[Black Box]] | + | * {{icon item|Black Box|30px}} [[Black Box|Black Box: Multiple Skins]] |
* {{icon item|Black Rose|30px}} [[Black Rose]] | * {{icon item|Black Rose|30px}} [[Black Rose]] | ||
− | * {{icon item|Blutsauger|30px}} [[Blutsauger]] | + | * {{icon item|Blutsauger|30px}} [[Blutsauger|Blutsauger: Multiple Skins]] |
* {{icon item|Bonesaw|30px}} [[Bonesaw]] | * {{icon item|Bonesaw|30px}} [[Bonesaw]] | ||
− | * {{icon item|Bonk! Atomic Punch|30px}} [[Bonk! Atomic Punch]] | + | * {{icon item|Bonk! Atomic Punch|30px}} [[Bonk! Atomic Punch|Bonk! Atomic Punch: Multiple Skins]] |
* {{icon item|Bootlegger|30px}} [[Bootlegger]] | * {{icon item|Bootlegger|30px}} [[Bootlegger]] | ||
* {{icon item|Boston Basher|30px}} [[Boston Basher]] | * {{icon item|Boston Basher|30px}} [[Boston Basher]] | ||
* {{icon item|Bottle|30px}} [[Bottle]] | * {{icon item|Bottle|30px}} [[Bottle]] | ||
* {{icon item|Brass Beast|30px}} [[Brass Beast]] | * {{icon item|Brass Beast|30px}} [[Brass Beast]] | ||
+ | * {{icon item|Bread Bite|30px}} [[Bread Bite]] | ||
* {{icon item|Buffalo Steak Sandvich|30px}} [[Buffalo Steak Sandvich]] | * {{icon item|Buffalo Steak Sandvich|30px}} [[Buffalo Steak Sandvich]] | ||
− | * {{icon item|Buff Banner|30px}} [[Buff Banner]] | + | * {{icon item|Buff Banner|30px}} [[Buff Banner|Buff Banner: Multiple Skins]] |
* {{icon item|Bushwacka|30px}} [[Bushwacka]] | * {{icon item|Bushwacka|30px}} [[Bushwacka]] | ||
* {{icon item|Candy Cane|30px}} [[Candy Cane]] | * {{icon item|Candy Cane|30px}} [[Candy Cane]] | ||
− | * {{icon item|Chargin' Targe|30px}} [[Chargin' Targe]] | + | * {{icon item|Chargin' Targe|30px}} [[Chargin' Targe|Chargin' Targe: Multiple Skins]] |
* {{icon item|Claidheamh Mòr|30px}} [[Claidheamh Mòr]] | * {{icon item|Claidheamh Mòr|30px}} [[Claidheamh Mòr]] | ||
+ | * {{icon item|Classic|30px}} [[Classic]] | ||
* {{icon item|Cleaner's Carbine|30px}} [[Cleaner's Carbine]] | * {{icon item|Cleaner's Carbine|30px}} [[Cleaner's Carbine]] | ||
* {{icon item|Cloak and Dagger|30px}} [[Cloak and Dagger]] | * {{icon item|Cloak and Dagger|30px}} [[Cloak and Dagger]] | ||
Line 574: | Line 121: | ||
* {{icon item|Cozy Camper|30px}} [[Cozy Camper]] | * {{icon item|Cozy Camper|30px}} [[Cozy Camper]] | ||
* {{icon item|Crit-a-Cola|30px}} [[Crit-a-Cola]] | * {{icon item|Crit-a-Cola|30px}} [[Crit-a-Cola]] | ||
− | * {{icon item| | + | * {{icon item|Crossing Guard|30px}} [[Crossing Guard]] |
− | * {{icon item| | + | * {{icon item|Crusader's Crossbow|30px}} [[Crusader's Crossbow|Crusader's Crossbow: Multiple Skins]] |
* {{icon item|Darwin's Danger Shield|30px}} [[Darwin's Danger Shield]] | * {{icon item|Darwin's Danger Shield|30px}} [[Darwin's Danger Shield]] | ||
* {{icon item|Dead Ringer|30px}} [[Dead Ringer]] | * {{icon item|Dead Ringer|30px}} [[Dead Ringer]] | ||
Line 584: | Line 131: | ||
* {{icon item|Disciplinary Action|30px}} [[Disciplinary Action]] | * {{icon item|Disciplinary Action|30px}} [[Disciplinary Action]] | ||
* {{icon item|Disguise Kit|30px}} [[Disguise Kit]] | * {{icon item|Disguise Kit|30px}} [[Disguise Kit]] | ||
− | * {{icon item|Electro Sapper|30px}} [[Electro Sapper]] | + | * {{icon item|Dragon's Fury|30px}} [[Dragon's Fury]] |
+ | * {{icon item|Electro Sapper|30px}} [[Electro Sapper|Electro Sapper: Multiple Skins]] | ||
* {{icon item|Enforcer|30px}} [[Enforcer]] | * {{icon item|Enforcer|30px}} [[Enforcer]] | ||
* {{icon item|Enthusiast's Timepiece|30px}} [[Enthusiast's Timepiece]] | * {{icon item|Enthusiast's Timepiece|30px}} [[Enthusiast's Timepiece]] | ||
+ | * {{icon item|Equalizer|30px}} [[Equalizer]] | ||
* {{icon item|Escape Plan|30px}} [[Escape Plan]] | * {{icon item|Escape Plan|30px}} [[Escape Plan]] | ||
* {{icon item|Eureka Effect|30px}} [[Eureka Effect]] | * {{icon item|Eureka Effect|30px}} [[Eureka Effect]] | ||
* {{icon item|Eviction Notice|30px}} [[Eviction Notice]] | * {{icon item|Eviction Notice|30px}} [[Eviction Notice]] | ||
− | * {{icon item|Eyelander|30px}} [[Eyelander]] | + | * {{icon item|Eyelander|30px}} [[Eyelander|Eyelander: Multiple Skins]] |
* {{icon item|Family Business|30px}} [[Family Business]] | * {{icon item|Family Business|30px}} [[Family Business]] | ||
* {{icon item|Fan O'War|30px}} [[Fan O'War]] | * {{icon item|Fan O'War|30px}} [[Fan O'War]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* {{icon item|Fire Axe|30px}} [[Fire Axe]] | * {{icon item|Fire Axe|30px}} [[Fire Axe]] | ||
* {{icon item|Fishcake|30px}} [[Fishcake]] | * {{icon item|Fishcake|30px}} [[Fishcake]] | ||
+ | * {{icon item|Fists of Steel|30px}} [[Fists of Steel]] | ||
* {{icon item|Fists|30px}} [[Fists]] | * {{icon item|Fists|30px}} [[Fists]] | ||
− | * {{icon item| | + | * {{icon item|Flame Thrower|30px}} [[Flame Thrower|Flame Thrower: Multiple Skins]] |
− | * {{icon item| | + | * {{icon item|Flare Gun|30px}} [[Flare Gun|Flare Gun: Multiple Skins]] |
− | * {{icon item| | + | * {{icon item|Flying Guillotine|30px}} [[Flying Guillotine]] |
− | * {{icon item|Force-A-Nature|30px}} [[Force-A-Nature]] | + | * {{icon item|Force-A-Nature|30px}} [[Force-A-Nature|Force-A-Nature: Multiple Skins]] |
+ | * {{icon item|Fortified Compound|30px}} [[Fortified Compound]] | ||
* {{icon item|Freedom Staff|30px}} [[Freedom Staff]] | * {{icon item|Freedom Staff|30px}} [[Freedom Staff]] | ||
− | * {{icon item|Frontier Justice|30px}} [[Frontier Justice]] | + | * {{icon item|Frontier Justice|30px}} [[Frontier Justice|Frontier Justice: Multiple Skins]] |
* {{icon item|Frying Pan|30px}} [[Frying Pan]] | * {{icon item|Frying Pan|30px}} [[Frying Pan]] | ||
− | * {{icon item|Gloves of Running Urgently|30px}} [[Gloves of Running Urgently]] | + | * {{icon item|Gas Passer|30px}} [[Gas Passer]] |
+ | * {{icon item|Giger Counter|30px}} [[Giger Counter]] | ||
+ | * {{icon item|Gloves of Running Urgently|30px}} [[Gloves of Running Urgently|Gloves of Running Urgently: Multiple Skins]] | ||
+ | * {{icon item|Golden Frying Pan|30px}} [[Golden Frying Pan]] | ||
* {{icon item|Golden Wrench|30px}} [[Golden Wrench]] | * {{icon item|Golden Wrench|30px}} [[Golden Wrench]] | ||
− | * {{icon item|Grenade Launcher|30px}} [[Grenade Launcher]] | + | * {{icon item|Grenade Launcher|30px}} [[Grenade Launcher|Grenade Launcher: Multiple Skins]] |
* {{icon item|Gunboats|30px}} [[Gunboats]] | * {{icon item|Gunboats|30px}} [[Gunboats]] | ||
* {{icon item|Gunslinger|30px}} [[Gunslinger]] | * {{icon item|Gunslinger|30px}} [[Gunslinger]] | ||
* {{icon item|Half-Zatoichi|30px}} [[Half-Zatoichi]] | * {{icon item|Half-Zatoichi|30px}} [[Half-Zatoichi]] | ||
+ | * {{icon item|Ham Shank|30px}} [[Ham Shank]] | ||
* {{icon item|Hitman's Heatmaker|30px}} [[Hitman's Heatmaker]] | * {{icon item|Hitman's Heatmaker|30px}} [[Hitman's Heatmaker]] | ||
* {{icon item|Holiday Punch|30px}} [[Holiday Punch]] | * {{icon item|Holiday Punch|30px}} [[Holiday Punch]] | ||
− | * {{icon item|Holy Mackerel|30px}} [[Holy Mackerel]] | + | * {{icon item|Holy Mackerel|30px}} [[Holy Mackerel|Holy Mackerel: Multiple Skins]] |
* {{icon item|Homewrecker|30px}} [[Homewrecker]] | * {{icon item|Homewrecker|30px}} [[Homewrecker]] | ||
* {{icon item|Horseless Headless Horsemann's Headtaker|30px}} [[Horseless Headless Horsemann's Headtaker]] | * {{icon item|Horseless Headless Horsemann's Headtaker|30px}} [[Horseless Headless Horsemann's Headtaker]] | ||
− | * {{icon item|Huntsman|30px}} [[Huntsman]] | + | * {{icon item|Hot Hand|30px}} [[Hot Hand]] |
+ | * {{icon item|Huntsman|30px}} [[Huntsman|Huntsman: Multiple Skins]] | ||
* {{icon item|Huo-Long Heater|30px}} [[Huo-Long Heater]] | * {{icon item|Huo-Long Heater|30px}} [[Huo-Long Heater]] | ||
+ | * {{icon item|Invisibility Watch|30px}} [[Invisibility Watch]] | ||
* {{icon item|Iron Curtain|30px}} [[Iron Curtain]] | * {{icon item|Iron Curtain|30px}} [[Iron Curtain]] | ||
* {{icon item|Jag|30px}} [[Jag]] | * {{icon item|Jag|30px}} [[Jag]] | ||
− | * {{icon item|Jarate|30px}} [[Jarate]] | + | * {{icon item|Jarate|30px}} [[Jarate|Jarate: Multiple Skins]] |
* {{icon item|Killing Gloves of Boxing|30px}} [[Killing Gloves of Boxing]] | * {{icon item|Killing Gloves of Boxing|30px}} [[Killing Gloves of Boxing]] | ||
− | * {{icon item|Knife|30px}} [[Knife]] | + | * {{icon item|Knife|30px}} [[Knife|Knife: Multiple Skins]] |
* {{icon item|Kritzkrieg|30px}} [[Kritzkrieg]] | * {{icon item|Kritzkrieg|30px}} [[Kritzkrieg]] | ||
* {{icon item|Kukri|30px}} [[Kukri]] | * {{icon item|Kukri|30px}} [[Kukri]] | ||
Line 634: | Line 183: | ||
* {{icon item|Liberty Launcher|30px}} [[Liberty Launcher]] | * {{icon item|Liberty Launcher|30px}} [[Liberty Launcher]] | ||
* {{icon item|Loch-n-Load|30px}} [[Loch-n-Load]] | * {{icon item|Loch-n-Load|30px}} [[Loch-n-Load]] | ||
+ | * {{icon item|Lollichop|30px}} [[Lollichop]] | ||
* {{icon item|Loose Cannon|30px}} [[Loose Cannon]] | * {{icon item|Loose Cannon|30px}} [[Loose Cannon]] | ||
* {{icon item|Lugermorph|30px}} [[Lugermorph]] | * {{icon item|Lugermorph|30px}} [[Lugermorph]] | ||
Line 642: | Line 192: | ||
* {{icon item|Market Gardener|30px}} [[Market Gardener]] | * {{icon item|Market Gardener|30px}} [[Market Gardener]] | ||
* {{icon item|Maul|30px}} [[Maul]] | * {{icon item|Maul|30px}} [[Maul]] | ||
− | * {{icon item|Medi Gun|30px}} [[Medi Gun]] | + | * {{icon item|Medi Gun|30px}} [[Medi Gun|Medi Gun: Multiple Skins]] |
− | * {{icon item| | + | * {{icon item|Memory Maker|30px}} [[Memory Maker]] |
+ | * {{icon item|Mutated Milk|30px}} [[Mutated Milk]] | ||
* {{icon item|Natascha|30px}} [[Natascha]] | * {{icon item|Natascha|30px}} [[Natascha]] | ||
+ | * {{icon item|Necro Smasher|30px}} [[Necro Smasher]] | ||
* {{icon item|Neon Annihilator|30px}} [[Neon Annihilator]] | * {{icon item|Neon Annihilator|30px}} [[Neon Annihilator]] | ||
* {{icon item|Nessie's Nine Iron|30px}} [[Nessie's Nine Iron]] | * {{icon item|Nessie's Nine Iron|30px}} [[Nessie's Nine Iron]] | ||
+ | * {{icon item|Nostromo Napalmer|30px}} [[Nostromo Napalmer]] | ||
* {{icon item|Original|30px}} [[Original]] | * {{icon item|Original|30px}} [[Original]] | ||
* {{icon item|Overdose|30px}} [[Overdose]] | * {{icon item|Overdose|30px}} [[Overdose]] | ||
Line 658: | Line 211: | ||
* {{icon item|Powerjack|30px}} [[Powerjack]] | * {{icon item|Powerjack|30px}} [[Powerjack]] | ||
* {{icon item|Pretty Boy's Pocket Pistol|30px}} [[Pretty Boy's Pocket Pistol]] | * {{icon item|Pretty Boy's Pocket Pistol|30px}} [[Pretty Boy's Pocket Pistol]] | ||
+ | * {{icon item|Prinny Machete|30px}} [[Prinny Machete]] | ||
+ | * {{icon item|Quackenbirdt|30px}} [[Quackenbirdt]] | ||
* {{icon item|Quick-Fix|30px}} [[Quick-Fix]] | * {{icon item|Quick-Fix|30px}} [[Quick-Fix]] | ||
* {{icon item|Rainblower|30px}} [[Rainblower]] | * {{icon item|Rainblower|30px}} [[Rainblower]] | ||
Line 664: | Line 219: | ||
* {{icon item|Rescue Ranger|30px}} [[Rescue Ranger]] | * {{icon item|Rescue Ranger|30px}} [[Rescue Ranger]] | ||
* {{icon item|Reserve Shooter|30px}} [[Reserve Shooter]] | * {{icon item|Reserve Shooter|30px}} [[Reserve Shooter]] | ||
− | * {{icon item|Revolver|30px}} [[Revolver]] | + | * {{icon item|Revolver|30px}} [[Revolver|Revolver: Multiple Skins]] |
* {{icon item|Righteous Bison|30px}} [[Righteous Bison]] | * {{icon item|Righteous Bison|30px}} [[Righteous Bison]] | ||
+ | * {{icon item|Robo-Sandvich|30px}} [[Robo-Sandvich]] | ||
* {{icon item|Rocket Jumper|30px}} [[Rocket Jumper]] | * {{icon item|Rocket Jumper|30px}} [[Rocket Jumper]] | ||
− | * {{icon item|Rocket Launcher|30px}} [[Rocket Launcher]] | + | * {{icon item|Rocket Launcher|30px}} [[Rocket Launcher|Rocket Launcher: Multiple Skins]] |
* {{icon item|Sandman|30px}} [[Sandman]] | * {{icon item|Sandman|30px}} [[Sandman]] | ||
− | * {{icon item|Sandvich|30px}} [[Sandvich]] | + | * {{icon item|Sandvich|30px}} [[Sandvich|Sandvich: Multiple Skins]] |
+ | * {{icon item|Sapper|30px}} [[Sapper]] | ||
* {{icon item|Saxxy|30px}} [[Saxxy]] | * {{icon item|Saxxy|30px}} [[Saxxy]] | ||
− | * {{icon item|Scattergun|30px}} [[Scattergun]] | + | * {{icon item|Scattergun|30px}} [[Scattergun|Scattergun: Multiple Skins]] |
* {{icon item|Scorch Shot|30px}} [[Scorch Shot]] | * {{icon item|Scorch Shot|30px}} [[Scorch Shot]] | ||
* {{icon item|Scotsman's Skullcutter|30px}} [[Scotsman's Skullcutter]] | * {{icon item|Scotsman's Skullcutter|30px}} [[Scotsman's Skullcutter]] | ||
* {{icon item|Scottish Handshake|30px}} [[Scottish Handshake]] | * {{icon item|Scottish Handshake|30px}} [[Scottish Handshake]] | ||
* {{icon item|Scottish Resistance|30px}} [[Scottish Resistance]] | * {{icon item|Scottish Resistance|30px}} [[Scottish Resistance]] | ||
+ | * {{icon item|Second Banana|30px}} [[Second Banana]] | ||
+ | * {{icon item|Self-Aware Beauty Mark|30px}} [[Self-Aware Beauty Mark]] | ||
* {{icon item|Shahanshah|30px}} [[Shahanshah]] | * {{icon item|Shahanshah|30px}} [[Shahanshah]] | ||
* {{icon item|Sharp Dresser|30px}} [[Sharp Dresser]] | * {{icon item|Sharp Dresser|30px}} [[Sharp Dresser]] | ||
Line 681: | Line 240: | ||
* {{icon item|Short Circuit|30px}} [[Short Circuit]] | * {{icon item|Short Circuit|30px}} [[Short Circuit]] | ||
* {{icon item|Shortstop|30px}} [[Shortstop]] | * {{icon item|Shortstop|30px}} [[Shortstop]] | ||
− | * {{icon item|Shotgun|30px}} [[Shotgun]] | + | * {{icon item|Shotgun|30px}} [[Shotgun|Shotgun: Multiple Skins]] |
* {{icon item|Shovel|30px}} [[Shovel]] | * {{icon item|Shovel|30px}} [[Shovel]] | ||
− | * {{icon item|Sniper Rifle|30px}} [[Sniper Rifle]] | + | * {{icon item|SMG|30px}} [[SMG|SMG: Multiple Skins]] |
+ | * {{icon item|Snack Attack|30px}} [[Snack Attack]] | ||
+ | * {{icon item|Sniper Rifle|30px}} [[Sniper Rifle|Sniper Rifle: Multiple Skins]] | ||
* {{icon item|Soda Popper|30px}} [[Soda Popper]] | * {{icon item|Soda Popper|30px}} [[Soda Popper]] | ||
* {{icon item|Solemn Vow|30px}} [[Solemn Vow]] | * {{icon item|Solemn Vow|30px}} [[Solemn Vow]] | ||
Line 689: | Line 250: | ||
* {{icon item|Splendid Screen|30px}} [[Splendid Screen]] | * {{icon item|Splendid Screen|30px}} [[Splendid Screen]] | ||
* {{icon item|Spy-cicle|30px}} [[Spy-cicle]] | * {{icon item|Spy-cicle|30px}} [[Spy-cicle]] | ||
− | |||
* {{icon item|Sticky Jumper|30px}} [[Sticky Jumper]] | * {{icon item|Sticky Jumper|30px}} [[Sticky Jumper]] | ||
− | |||
* {{icon item|Sun-on-a-Stick|30px}} [[Sun-on-a-Stick]] | * {{icon item|Sun-on-a-Stick|30px}} [[Sun-on-a-Stick]] | ||
* {{icon item|Sydney Sleeper|30px}} [[Sydney Sleeper]] | * {{icon item|Sydney Sleeper|30px}} [[Sydney Sleeper]] | ||
* {{icon item|Syringe Gun|30px}} [[Syringe Gun]] | * {{icon item|Syringe Gun|30px}} [[Syringe Gun]] | ||
+ | * {{icon item|Thermal Thruster|30px}} [[Thermal Thruster]] | ||
* {{icon item|Third Degree|30px}} [[Third Degree]] | * {{icon item|Third Degree|30px}} [[Third Degree]] | ||
* {{icon item|Three-Rune Blade|30px}} [[Three-Rune Blade]] | * {{icon item|Three-Rune Blade|30px}} [[Three-Rune Blade]] | ||
− | * {{icon item|Tomislav|30px}} [[Tomislav]] | + | * {{icon item|Tomislav|30px}} [[Tomislav|Tomislav: Multiple Skins]] |
+ | * {{icon item|Tide Turner|30px}} [[Tide Turner]] | ||
+ | * {{icon item|Toolbox|30px}} [[Toolbox]] | ||
* {{icon item|Tribalman's Shiv|30px}} [[Tribalman's Shiv]] | * {{icon item|Tribalman's Shiv|30px}} [[Tribalman's Shiv]] | ||
− | * {{icon item|Übersaw|30px}} [[Übersaw]] | + | * {{icon item|Übersaw|30px}} [[Übersaw|Übersaw: Multiple Skins]] |
* {{icon item|Ullapool Caber|30px}} [[Ullapool Caber]] | * {{icon item|Ullapool Caber|30px}} [[Ullapool Caber]] | ||
* {{icon item|Unarmed Combat|30px}} [[Unarmed Combat]] | * {{icon item|Unarmed Combat|30px}} [[Unarmed Combat]] | ||
+ | * {{icon item|Vaccinator|30px}} [[Vaccinator]] | ||
* {{icon item|Vita-Saw|30px}} [[Vita-Saw]] | * {{icon item|Vita-Saw|30px}} [[Vita-Saw]] | ||
* {{icon item|Wanga Prick|30px}} [[Wanga Prick]] | * {{icon item|Wanga Prick|30px}} [[Wanga Prick]] | ||
Line 707: | Line 270: | ||
* {{icon item|Widowmaker|30px}} [[Widowmaker]] | * {{icon item|Widowmaker|30px}} [[Widowmaker]] | ||
* {{icon item|Winger|30px}} [[Winger]] | * {{icon item|Winger|30px}} [[Winger]] | ||
− | * {{icon item|Wrangler|30px}} [[Wrangler]] | + | * {{icon item|Wrangler|30px}} [[Wrangler|Wrangler: Multiple Skins]] |
* {{icon item|Wrap Assassin|30px}} [[Wrap Assassin]] | * {{icon item|Wrap Assassin|30px}} [[Wrap Assassin]] | ||
− | * {{icon item|Wrench|30px}} [[Wrench]] | + | * {{icon item|Wrench|30px}} [[Wrench|Wrench: Multiple Skins]] |
* {{icon item|Your Eternal Reward|30px}} [[Your Eternal Reward]] | * {{icon item|Your Eternal Reward|30px}} [[Your Eternal Reward]] | ||
}} | }} | ||
+ | |||
+ | == Action Slot Items == | ||
+ | === Needed Action slot items === | ||
+ | |||
+ | '''All Class Action Slot Items:''' | ||
+ | * None | ||
+ | |||
+ | === Finished Action slot items === | ||
+ | * {{icon item|Battery Canteens|30px}} [[Battery Canteens]] | ||
+ | * {{icon item|Duck Journal|30px}} [[Duck Journal]] | ||
+ | * {{icon item|Fancy Spellbook|30px}} [[Fancy Spellbook]] | ||
+ | * {{icon item|Fireproof Secret Diary|30px}} [[Fireproof Secret Diary]] | ||
+ | * {{icon item|Grappling Hook|30px}} [[Grappling Hook]] | ||
+ | * {{icon item|Kritz or Treat Canteen|30px}} [[Kritz or Treat Canteen]] | ||
+ | * {{icon item|Power Up Canteen|30px}} [[Power Up Canteen]] |
Latest revision as of 06:25, 31 October 2024
|
The 3D Models project's goal is to construct pseudo-3D images of the weapons in Team Fortress 2 that can be freely rotated.
Contents
Example
https://wiki.teamfortress.com/w/images/6/6a/Detonator_RED_3D.jpg?2018072610024612838,280,233,3,0,193,111,56,152,110,115,146,109,175,194,106,266,153,106,367,147,105,472,194,84,608,155,83,762,146,80,924,194,63,1098,157,60,1295,145,57,1503,194,44,1705,161,40,1932,145,35,2173,195,29,2392,165,24,2635,147,19,2895,195,20,3123,171,14,3377,151,7,3646,196,17,3872,177,11,4122,154,4,4386,198,22,4597,182,16,4829,159,9,5073,204,37,5255,188,31,5454,164,25,5663,210,61,5803,192,56,5955,168,51,6114,214,92,6203,195,89,6298,170,86,6396,215,114,6447,196,115,6497,172,115,6545,214,98,6633,195,95,6727,170,94,6825,210,78,6965,192,71,7116,168,68,7275,204,60,7457,188,49,7656,164,45,7865,198,46,8076,182,30,8308,159,25,8552,196,35,8778,177,17,9028,154,10,9292,195,31,9520,171,11,9774,151,2,10043,194,30,10263,165,12,10506,147,0,10766,194,33,10968,161,12,11195,145,2,11436,194,42,11610,157,21,11807,145,14,12015,194,58,12151,155,42,12306,146,35,12469,194,82,12560,153,72,12661,147,69https://wiki.teamfortress.com/w/images/3/36/Detonator_BLU_3D.jpg?2018072610042612842,280,232,3,0,193,111,56,153,110,114,146,110,173,194,106,264,154,106,365,146,105,470,194,84,607,155,82,761,146,80,923,194,62,1097,158,59,1294,145,56,1502,195,43,1704,162,39,1931,145,35,2172,195,28,2392,166,23,2635,148,18,2896,195,19,3125,171,14,3379,151,7,3649,196,17,3875,177,11,4125,154,4,4389,198,22,4600,182,16,4832,159,10,5076,203,37,5258,187,32,5457,164,25,5666,209,61,5806,191,57,5957,167,52,6116,213,92,6205,194,90,6299,170,87,6397,214,114,6448,195,114,6498,171,115,6546,213,98,6635,194,95,6729,170,93,6827,209,78,6967,191,70,7118,168,68,7277,203,60,7459,187,48,7658,164,44,7867,198,45,8078,182,30,8310,159,25,8554,196,35,8780,177,17,9030,154,10,9294,195,31,9523,171,11,9777,151,1,10047,195,30,10267,166,12,10510,148,0,10771,194,33,10973,162,12,11200,145,2,11441,194,42,11615,158,22,11812,145,14,12020,194,58,12157,155,42,12311,146,36,12473,194,82,12564,154,72,12665,146,69
Note This is not for the faint of heart. It requires a bit of knowledge on how both VMTs and HLMV work, and a lot of time and patience since a lot of models will not be centered correctly by default, thus requiring plenty of tweaking to get them ready for the process.
Requirements
- Windows
- TF2
- HLMV (included as a part of TF2)
- (optionally) HLMV++
- Python 3.7.9
- A copy of the automaton repository
Initial setup
Installation
Please follow the latest instructions at the 3D-Models-automaton repo.
Workflow
Taking images
- Open up the weapon in HLMV and ensure it rotates properly. There are three possible outcomes here:
- The model will rotate around the bottom corner of the model. If so, you will need to make use of
rotation_offset
.- First, reset the model's position with Options → Center View.
- Then, from
cmd
, navigate to the folder containingautomate.py
and runmem trans
, noting the second value (the Y translation). - Back in HLMV, rotate the model so that it is facing right. Hold down ⇧ Shift and move the model sideways so that it is centered in the circle that appears.
- Go back to
cmd
, and runmem trans
again, once again noting the second value. - The difference between the current value and the initial value is the
rotation_offset
value to set inautomate.py
.
- The model will rotate around the wrong plane or the model will not rotate around the vertical or horizontal center. If so, the model will need to be recompiled.
- The model will rotate around the vertical and horizontal center of the model. If so, you are good to go.
- The model will rotate around the bottom corner of the model. If so, you will need to make use of
- Center the model using Options → Center View.
- If the model does not face you directly when centered, it will need to be recompiled with a new rotation.
- Zoom the model out so that it is as large as possible, but will not clip outside the viewer window when rotated or tilted.
- If the light source produces a glare that interferes with the model, hold Ctrl and drag the light source around with the mouse until it is in a better position.
- Run the script, from the command line. Navigate to the folder containing the scripts and type
python automate.py
. - After the image finishes rotating, switch back to the command line and follow the prompts to upload the file.
Team-colored models
- This is now very simple, simply change this in HLMV (Model → Skin #), then re-run the script.
Models with other class arms/models blocking the view
- If you wish to remove a model from the viewer (for example the Sniper's arms holding onto the view model Sniper Rifle), click on the Model tab in HLMV and find out which VMTs are being used for the model textures.
- Extract the VMTs using GCFScape to the same path in your
/custom/folder
and open them up in a text editor. - Inside the
"VertexLitGeneric"
curly brackets add the line"$no_draw" "1"
. This will make this part of the model invisible in HLMV.
Recompiling models
- First, check here to see if a model has already been recompiled.
- Download and install Crowbar, GCFScape, and the Source SDK (Steam -> Library -> Tools)
- Extract the model with GCFScape, decompile with Crowbar.
- For the most part, adding
$autocenter
to the .qc file should do the trick. If not, try using$origin X Y Z
. For more complex concerns, see Category:QC Commands on the Valve Developer Community. - Recompile the model with Crowbar. You should be good to go!
Uploading your image
- This should happen automatically. If it does not, the script will save your image (and the template) to temp.jpg and temp.txt.
Tips and debugging
- You can set
vertical_rotations = 0
to generate the model with no tilting, or reduce the number of rotations withnumber_of_images
. - You will find it much easier when recompiling models to find out if they're centered correctly by checking the 'Ground' checkbox in HLMV and refreshing the model every time you make a change and recompile.
- If the 3D image's starting position isn't centered, click the edit button on the 3D image file's page and change "startframe" to whichever frame number is the centered frame.
Models repository
Weapons
Needed weapons
- None
Finished weapons
Air Strike
Ali Baba's Wee Booties
Ambassador: Multiple Skins
Amputator
Ap-Sap
Apoco-Fists
Atomizer
AWPer Hand
Axtinguisher: Multiple Skins
Baby Face's Blaster
Backburner
Back Scatter
Back Scratcher
B.A.S.E. Jumper
Bat: Multiple Skins
Bat Outta Hell
Batsaber
Battalion's Backup
Bazaar Bargain
Beggar's Bazooka
Big Earner
Big Kill
Black Box: Multiple Skins
Black Rose
Blutsauger: Multiple Skins
Bonesaw
Bonk! Atomic Punch: Multiple Skins
Bootlegger
Boston Basher
Bottle
Brass Beast
Bread Bite
Buffalo Steak Sandvich
Buff Banner: Multiple Skins
Bushwacka
Candy Cane
Chargin' Targe: Multiple Skins
Claidheamh Mòr
Classic
Cleaner's Carbine
Cloak and Dagger
Concheror
Conniver's Kunai
Conscientious Objector
Cow Mangler 5000
Cozy Camper
Crit-a-Cola
Crossing Guard
Crusader's Crossbow: Multiple Skins
Darwin's Danger Shield
Dead Ringer
Degreaser
Detonator
Diamondback
Direct Hit
Disciplinary Action
Disguise Kit
Dragon's Fury
Electro Sapper: Multiple Skins
Enforcer
Enthusiast's Timepiece
Equalizer
Escape Plan
Eureka Effect
Eviction Notice
Eyelander: Multiple Skins
Family Business
Fan O'War
Fire Axe
Fishcake
Fists of Steel
Fists
Flame Thrower: Multiple Skins
Flare Gun: Multiple Skins
Flying Guillotine
Force-A-Nature: Multiple Skins
Fortified Compound
Freedom Staff
Frontier Justice: Multiple Skins
Frying Pan
Gas Passer
Giger Counter
Gloves of Running Urgently: Multiple Skins
Golden Frying Pan
Golden Wrench
Grenade Launcher: Multiple Skins
Gunboats
Gunslinger
Half-Zatoichi
Ham Shank
Hitman's Heatmaker
Holiday Punch
Holy Mackerel: Multiple Skins
Homewrecker
Horseless Headless Horsemann's Headtaker
Hot Hand
Huntsman: Multiple Skins
Huo-Long Heater
Invisibility Watch
Iron Curtain
Jag
Jarate: Multiple Skins
Killing Gloves of Boxing
Knife: Multiple Skins
Kritzkrieg
Kukri
L'Etranger
Liberty Launcher
Loch-n-Load
Lollichop
Loose Cannon
Lugermorph
Machina
Mad Milk
Manmelter
Mantreads
Market Gardener
Maul
Medi Gun: Multiple Skins
Memory Maker
Mutated Milk
Natascha
Necro Smasher
Neon Annihilator
Nessie's Nine Iron
Nostromo Napalmer
Original
Overdose
Pain Train
PDA Build/Demolish Tool
Persian Persuader
Phlogistinator
Pistol
Pomson 6000
Postal Pummeler
Powerjack
Pretty Boy's Pocket Pistol
Prinny Machete
Quackenbirdt
Quick-Fix
Rainblower
Razorback
Red-Tape Recorder
Rescue Ranger
Reserve Shooter
Revolver: Multiple Skins
Righteous Bison
Robo-Sandvich
Rocket Jumper
Rocket Launcher: Multiple Skins
Sandman
Sandvich: Multiple Skins
Sapper
Saxxy
Scattergun: Multiple Skins
Scorch Shot
Scotsman's Skullcutter
Scottish Handshake
Scottish Resistance
Second Banana
Self-Aware Beauty Mark
Shahanshah
Sharp Dresser
Sharpened Volcano Fragment
Short Circuit
Shortstop
Shotgun: Multiple Skins
Shovel
SMG: Multiple Skins
Snack Attack
Sniper Rifle: Multiple Skins
Soda Popper
Solemn Vow
Southern Hospitality
Splendid Screen
Spy-cicle
Sticky Jumper
Sun-on-a-Stick
Sydney Sleeper
Syringe Gun
Thermal Thruster
Third Degree
Three-Rune Blade
Tomislav: Multiple Skins
Tide Turner
Toolbox
Tribalman's Shiv
Übersaw: Multiple Skins
Ullapool Caber
Unarmed Combat
Vaccinator
Vita-Saw
Wanga Prick
Warrior's Spirit
Widowmaker
Winger
Wrangler: Multiple Skins
Wrap Assassin
Wrench: Multiple Skins
Your Eternal Reward
Action Slot Items
Needed Action slot items
All Class Action Slot Items:
- None