Team Fortress Wiki:3D Models
Revision as of 14:57, 11 April 2022 by Gabrielwoj (talk | contribs) (→Finished Action slot items: Added Grappling Hook to the list.)
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
- A copy of the automation repository
- Python 2.6+
- pip Package installer
pip install pillow
- Python Imaging Library aka PILpip install pypiwin32
- PyWin for mouse clicks and window manipulationpip install numpy
- NumPy for image croppingpip install wikitools
- WikiTools for uploading, available for Python 2.x onlypip install poster
- Poster for uploading, optional, available for Python 2.x only
- Visual C++ Compiler for Python 2.7 (only if you have troubles with pip)
Initial setup
Installation
- Install Python, Pip, and Visual C++ Compiler
- Install pypiwin32, PIL, numpy, wikitools, and poster
- Download and save the automaton scripts to an easily accessible folder.
- Copy the entire
3DModels_BlackFirePlusBlackBackground
toSteam\steamapps\common\Team Fortress 2\tf\custom\
- Set up HLMV to produce the highest quality images possible by following the guide found here.
- Start up TF2 so that it maps your custom folders (for material overrides) and generates gameinfo.txt.
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, ensure that you have poster installed via
pip install -U poster
.
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.
Models repository
Weapons
Needed weapons
Scout Weapons:
Batsaber
Baby Face's Blaster
Back Scatter
Boston Basher
Bonk! Atomic Punch, festive
Bat, festive
Candy Cane
Crit-a-Cola
Fan O'War
Force-A-Nature, festive, australium
Atomizer
Mad Milk
Soldier Weapons:
Air Strike Projectile
Buff Banner, alt, alt2, alt3, festive, festive backpack
Battalion's Backup, alt, alt2, alt3
Classic
Concheror, alt, alt2, backpack
Cow Mangler 5000
Direct Hit
Equalizer
Escape Plan
Gunboats
Liberty Launcher
Mantreads
B.A.S.E. Jumper, open
Beggar's Bazooka
Pyro Weapons:
Axtinguisher, alt, austrailium, festive
Back Scratcher
Backburner, festive
Detonator projectile
Fire Axe
Flare Gun, festive, projectile
Lollichop
Neon Annihilator
Homewrecker
Manmelter
Demoman Weapons:
Ali Baba's Wee Booties
Stickybomb Launcher
Bootlegger
Bottle, alt
Chargin' Targe, festive
Eyelander, festive, australium
Iron Bomber projectile
Loose Cannon projectile
Nessie's Nine Iron
Horseless Headless Horsemann's Headtaker
Heavy Weapons:
Apoco-Fists
Bread Bite
Buffalo Steak Sandvich, alt
Dalokohs Bar, bitten
Fists
Fists of Steel
Eviction Notice
Gloves of Running Urgently, festive
Holiday Punch
Huo-Long Heater
Iron Curtain
Killing Gloves of Boxing
Natascha, festive
Engineer Weapons:
Eureka Effect
Frontier Justice, festive, australium
Giger Counter
Gunslinger
Jag, festive
Medic Weapons:
Bonesaw, festive
Kritzkrieg, festive
Sniper Weapons:
- Arrow Arrow, festive
AWPer Hand
Cleaner's Carbine
Hitman's Heatmaker
Bushwacka
Cozy Camper
Darwin's Danger Shield
Fortified Compound
Huntsman, festive
Jarate, festive
Kukri, festive
Machina
Shahanshah
Spy Weapons:
Ap-Sap
Big Earner
Big Kill
Black Rose, festive
Cloak and Dagger
Conniver's Kunai
Dead Ringer, alt
Diamondback
Disguise Kit
Enforcer
Enthusiast's Timepiece
Invis Watch
L'Etranger
Lugermorph
Multiple Class Weapons:
Bat Outta Hell
C.A.P.P.E.R
Conscientious Objector
Crossing Guard, festive
Freedom Staff
Frying Pan
Golden Frying Pan
Golden Wrench
Half-Zatoichi
Ham Shank
Necro Smasher
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: