Difference between revisions of "Team Fortress Wiki:3D Models"

From Team Fortress Wiki
Jump to: navigation, search
m (Dead Ringer complete.)
m (Weapons: Removed airstrike projectile)
 
(40 intermediate revisions by 5 users not shown)
Line 15: Line 15:
 
* [https://store.steampowered.com/app/440/Team_Fortress_2 TF2]
 
* [https://store.steampowered.com/app/440/Team_Fortress_2 TF2]
 
* HLMV (included as a part of TF2)
 
* HLMV (included as a part of TF2)
** (optionally) [https://github.com/ImguRandom/HLMVPlusPlus#installation HLMV++]
+
** (optionally) [[vdc:Half-Life Model Viewer++|HLMV++]]
 
* [https://www.python.org/downloads/release/python-379 Python 3.7.9]
 
* [https://www.python.org/downloads/release/python-379 Python 3.7.9]
* [https://github.com/jbzdarkid/3D-Models-automaton/releases/latest/download/3D-Models-automaton.zip A copy of the automaton repository]
+
* [https://github.com/jbzdarkid/3D-Models-automaton/releases/latest/download/3D-Models-automation.zip A copy of the automaton repository]
  
 
== Initial setup ==
 
== Initial setup ==
Line 70: Line 70:
 
== Weapons ==
 
== Weapons ==
 
=== Needed weapons ===
 
=== Needed weapons ===
 
+
* None
'''Scout Weapons:'''
 
* {{icon item|Baby Face's Blaster|30px}} [[Baby Face's Blaster]]
 
* {{icon item|Back Scatter|30px}} [[Back Scatter]]
 
* {{icon item|Boston Basher|30px}} [[Boston Basher]]
 
* {{icon item|Bonk! Atomic Punch|30px}} [[Bonk! Atomic Punch]], festive
 
* {{icon item|Bat|30px}} [[Bat]], festive
 
* {{icon item|Candy Cane|30px}} [[Candy Cane]]
 
* {{icon item|Crit-a-Cola|30px}} [[Crit-a-Cola]]
 
* {{icon item|Fan O'War|30px}} [[Fan O'War]]
 
* {{icon item|Force-A-Nature|30px}} [[Force-A-Nature]], festive, australium
 
* {{icon item|Atomizer|30px}} [[Atomizer]]
 
* {{icon item|Mad Milk|30px}} [[Mad Milk]]
 
 
 
'''Soldier Weapons:'''
 
* {{icon item|Air Strike|30px}} [[Air Strike]] Projectile
 
* {{icon item|Buff Banner|30px}} [[Buff Banner]], alt, alt2, alt3, festive, festive backpack
 
* {{icon item|Battalion's Backup|30px}} [[Battalion's Backup]], alt, alt2, alt3
 
* {{icon item|Concheror|30px}} [[Concheror]], alt, alt2, backpack
 
* {{icon item|Cow Mangler 5000|30px}} [[Cow Mangler 5000]]
 
* {{icon item|Direct Hit|30px}} [[Direct Hit]]
 
* {{icon item|Equalizer|30px}} [[Equalizer]]
 
* {{icon item|Escape Plan|30px}} [[Escape Plan]]
 
* {{icon item|Gunboats|30px}} [[Gunboats]]
 
* {{icon item|Liberty Launcher|30px}} [[Liberty Launcher]]
 
* {{icon item|Mantreads|30px}} [[Mantreads]]
 
* {{icon item|B.A.S.E. Jumper|30px}} [[B.A.S.E. Jumper]], open
 
* {{icon item|Beggar's Bazooka|30px}} [[Beggar's Bazooka]]
 
 
 
'''Pyro Weapons:'''
 
* {{icon item|Axtinguisher|30px}} [[Axtinguisher]], alt, australium, festive
 
* {{icon item|Back Scratcher|30px}} [[Back Scratcher]]
 
* {{icon item|Backburner|30px}} [[Backburner]], festive
 
* {{icon item|Detonator|30px}} [[Detonator]] projectile
 
* {{icon item|Fire Axe|30px}} [[Fire Axe]]
 
* {{icon item|Flare Gun|30px}} [[Flare Gun]], festive, projectile
 
* {{icon item|Lollichop|30px}} [[Lollichop]]
 
* {{icon item|Neon Annihilator|30px}} [[Neon Annihilator]]
 
* {{icon item|Homewrecker|30px}} [[Homewrecker]]
 
* {{icon item|Manmelter|30px}} [[Manmelter]]
 
 
 
'''Demoman Weapons:'''
 
* {{icon item|Ali Baba's Wee Booties|30px}} [[Ali Baba's Wee Booties]]
 
* {{icon item|Stickybomb Launcher|30px}} [[Stickybomb Launcher]]
 
* {{icon item|Bootlegger|30px}} [[Bootlegger]]
 
* {{icon item|Bottle|30px}} [[Bottle]], alt
 
* {{icon item|Chargin' Targe|30px}} [[Chargin' Targe]], festive
 
* {{icon item|Eyelander|30px}} [[Eyelander]], festive, australium
 
* {{icon item|Iron Bomber|30px}} [[Iron Bomber]] projectile
 
* {{icon item|Loose Cannon|30px}} [[Loose Cannon]] projectile
 
* {{icon item|Nessie's Nine Iron|30px}} [[Nessie's Nine Iron]]
 
* {{icon item|Horseless Headless Horsemann's Headtaker|30px}} [[Horseless Headless Horsemann's Headtaker]]
 
 
 
'''Heavy Weapons:'''
 
* {{icon item|Apoco-Fists|30px}} [[Apoco-Fists]]
 
* {{icon item|Bread Bite|30px}} [[Bread Bite]]
 
* {{icon item|Buffalo Steak Sandvich|30px}} [[Buffalo Steak Sandvich]], alt
 
* {{icon item|Dalokohs Bar|30px}} [[Dalokohs Bar]], bitten
 
* {{icon item|Fists|30px}} [[Fists]]
 
* {{icon item|Fists of Steel|30px}} [[Fists of Steel]]
 
* {{icon item|Eviction Notice|30px}} [[Eviction Notice]]
 
* {{icon item|Gloves of Running Urgently|30px}} [[Gloves of Running Urgently]], festive
 
* {{icon item|Holiday Punch|30px}} [[Holiday Punch]]
 
* {{icon item|Huo-Long Heater|30px}} [[Huo-Long Heater]]
 
* {{icon item|Iron Curtain|30px}} [[Iron Curtain]]
 
* {{icon item|Killing Gloves of Boxing|30px}} [[Killing Gloves of Boxing]]
 
* {{icon item|Natascha|30px}} [[Natascha]], festive
 
 
 
'''Engineer Weapons:'''
 
* {{icon item|Eureka Effect|30px}} [[Eureka Effect]]
 
* {{icon item|Frontier Justice|30px}} [[Frontier Justice]], festive, australium
 
* {{icon item|Giger Counter|30px}} [[Giger Counter]]
 
* {{icon item|Gunslinger|30px}} [[Gunslinger]]
 
* {{icon item|Jag|30px}} [[Jag]], festive
 
 
 
'''Medic Weapons:'''
 
* {{icon item|Bonesaw|30px}} [[Bonesaw]], festive
 
* {{icon item|Kritzkrieg|30px}} [[Kritzkrieg]], festive
 
 
 
'''Sniper Weapons:'''
 
* {{icon item|Classic|30px}} [[Classic]]
 
* {{icon item|AWPer Hand|30px}} [[AWPer Hand]]
 
* {{icon item|Cleaner's Carbine|30px}} [[Cleaner's Carbine]]
 
* {{icon item|Hitman's Heatmaker|30px}} [[Hitman's Heatmaker]]
 
* {{icon item|Bushwacka|30px}} [[Bushwacka]]
 
* {{icon item|Cozy Camper|30px}} [[Cozy Camper]]
 
* {{icon item|Darwin's Danger Shield|30px}} [[Darwin's Danger Shield]]
 
* {{icon item|Fortified Compound|30px}} [[Fortified Compound]]
 
* {{icon item|Huntsman|30px}} [[Huntsman]], festive
 
* {{icon item|Jarate|30px}} [[Jarate]], festive
 
* {{icon item|Kukri|30px}} [[Kukri]], festive
 
* {{icon item|Machina|30px}} [[Machina]]
 
* {{icon item|Shahanshah|30px}} [[Shahanshah]]
 
 
 
'''Spy Weapons:'''
 
* {{icon item|Ap-Sap|30px}} [[Ap-Sap]]
 
* {{icon item|Big Earner|30px}} [[Big Earner]]
 
* {{icon item|Big Kill|30px}} [[Big Kill]]
 
* {{icon item|Black Rose|30px}} [[Black Rose]], festive
 
* {{icon item|Cloak and Dagger|30px}} [[Cloak and Dagger]]
 
* {{icon item|Conniver's Kunai|30px}} [[Conniver's Kunai]]
 
* {{icon item|Diamondback|30px}} [[Diamondback]]
 
* {{icon item|Disguise Kit|30px}} [[Disguise Kit]]
 
* {{icon item|Enforcer|30px}} [[Enforcer]]
 
* {{icon item|Enthusiast's Timepiece|30px}} [[Enthusiast's Timepiece]]
 
* {{icon item|Invis Watch|30px}} [[Invis Watch]]
 
* {{icon item|L'Etranger|30px}} [[L'Etranger]]
 
 
 
'''Multiple Class Weapons:'''
 
* {{icon item|Bat Outta Hell|30px}} [[Bat Outta Hell]]
 
* {{icon item|C.A.P.P.E.R|30px}} [[C.A.P.P.E.R]]
 
* {{icon item|Conscientious Objector|30px}} [[Conscientious Objector]]
 
* {{icon item|Crossing Guard|30px}} [[Crossing Guard]], festive
 
* {{icon item|Freedom Staff|30px}} [[Freedom Staff]]
 
* {{icon item|Frying Pan|30px}} [[Frying Pan]]
 
* {{icon item|Golden Frying Pan|30px}} [[Golden Frying Pan]]
 
* {{icon item|Golden Wrench|30px}} [[Golden Wrench]]
 
* {{icon item|Ham Shank|30px}} [[Ham Shank]]
 
* {{icon item|Necro Smasher|30px}} [[Necro Smasher]]
 
  
 
=== Finished weapons ===
 
=== Finished weapons ===
Line 242: Line 124:
 
* {{icon item|Crusader's Crossbow|30px}} [[Crusader's Crossbow|Crusader's Crossbow: Multiple Skins]]
 
* {{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]], alt
+
* {{icon item|Dead Ringer|30px}} [[Dead Ringer]]
 
* {{icon item|Degreaser|30px}} [[Degreaser]]
 
* {{icon item|Degreaser|30px}} [[Degreaser]]
 
* {{icon item|Detonator|30px}} [[Detonator]]
 
* {{icon item|Detonator|30px}} [[Detonator]]

Latest revision as of 17:28, 20 February 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.

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

Pictogram comment.png 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

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 containing automate.py and run mem 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 run mem 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 in automate.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.
  • 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 with number_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

Action Slot Items

Needed Action slot items

All Class Action Slot Items:

  • None

Finished Action slot items