Difference between revisions of "Team Fortress Wiki:3D Models"
m |
m (→Uploading your image) |
||
(84 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{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. | The '''3D Models''' project's goal is to construct pseudo-3D images of the weapons in ''Team Fortress 2'' that can be freely rotated. | ||
Line 11: | Line 12: | ||
== Requirements == | == Requirements == | ||
− | *[https | + | * [https://www.microsoft.com/windows Windows] |
− | + | * [https://store.steampowered.com/app/440/Team_Fortress_2 TF2] | |
− | *[https:// | + | * 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 the weapon in HLMV and ensure it rotates properly. There are three possible outcomes here: | * 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 | + | ** 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 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. | ** The model will rotate around the vertical '''and''' horizontal center of the model. If so, you are good to go. | ||
Line 65: | Line 51: | ||
=== Recompiling models === | === Recompiling models === | ||
* First, check [[TFW:3D Models/Weapons|here]] to see if a model has already been recompiled. | * 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], [http://nemesis.thewavelength.net/index.php?p=25 GCFScape], and the Source SDK (Steam -> Library -> Tools) | + | * 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. | * 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}}. | * 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}}. | ||
Line 71: | Line 57: | ||
== Uploading your image == | == Uploading your image == | ||
− | * This should happen automatically. If it does not, | + | * 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 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 == | ||
Line 83: | Line 70: | ||
== Weapons == | == Weapons == | ||
=== Needed weapons === | === Needed weapons === | ||
− | + | * None | |
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Finished weapons === | === Finished weapons === | ||
Line 194: | 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|Dragon's Fury|30px}} [[Dragon's Fury]] | ||
* {{icon item|Electro Sapper|30px}} [[Electro Sapper|Electro Sapper: Multiple Skins]] | * {{icon item|Electro Sapper|30px}} [[Electro Sapper|Electro Sapper: Multiple Skins]] | ||
* {{icon item|Enforcer|30px}} [[Enforcer]] | * {{icon item|Enforcer|30px}} [[Enforcer]] | ||
Line 216: | Line 154: | ||
* {{icon item|Frontier Justice|30px}} [[Frontier Justice|Frontier Justice: Multiple Skins]] | * {{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|Gas Passer|30px}} [[Gas Passer]] | ||
* {{icon item|Giger Counter|30px}} [[Giger Counter]] | * {{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|Gloves of Running Urgently|30px}} [[Gloves of Running Urgently|Gloves of Running Urgently: Multiple Skins]] | ||
Line 230: | Line 169: | ||
* {{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|Hot Hand|30px}} [[Hot Hand]] | ||
* {{icon item|Huntsman|30px}} [[Huntsman|Huntsman: Multiple Skins]] | * {{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]] | ||
Line 270: | Line 210: | ||
* {{icon item|Postal Pummeler|30px}} [[Postal Pummeler]] | * {{icon item|Postal Pummeler|30px}} [[Postal Pummeler]] | ||
* {{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|Prinny Machete|30px}} [[Prinny Machete]] | ||
Line 294: | Line 233: | ||
* {{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|Self-Aware Beauty Mark|30px}} [[Self-Aware Beauty Mark]] | ||
* {{icon item|Shahanshah|30px}} [[Shahanshah]] | * {{icon item|Shahanshah|30px}} [[Shahanshah]] | ||
Line 314: | Line 254: | ||
* {{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]] | ||
Line 334: | Line 275: | ||
* {{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