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

From Team Fortress Wiki
Jump to: navigation, search
m (Removed "Minigun" from the needed weapons list.)
(Weapons)
Line 76: Line 76:
 
== Weapons ==
 
== Weapons ==
 
=== Needed weapons ===
 
=== Needed weapons ===
 +
 +
'''All classes:'''
 +
* Some way to load skins into HLMV
  
 
'''Scout Weapons:'''
 
'''Scout Weapons:'''
* {{icon item|Current Event Scattergun|30px}} [[Current Event Scattergun]]
+
* {{icon item|Batsaber|30px}} [[Batsaber]] (Low quality, handle has "white flecks")
* {{icon item|Night Terror Scattergun|30px}} [[Night Terror Scattergun]]
 
 
 
'''Soldier Weapons:'''
 
* {{icon item|Shell Shocker Rocket Launcher|30px}} [[Shell Shocker Rocket Launcher]]
 
* {{icon item|Aqua Marine Rocket Launcher|30px}} [[Aqua Marine Rocket Launcher]]
 
* {{icon item|Sand Cannon Rocket Launcher|30px}} [[Sand Cannon Rocket Launcher]]
 
* {{icon item|Woodland Warrior Rocket Launcher|30px}} [[Woodland Warrior Rocket Launcher]]
 
 
 
'''Pyro Weapons:'''
 
* {{icon item|Flash Fryer Flame Thrower|30px}} [[Flash Fryer Flame Thrower]]
 
* {{icon item|Turbine Torcher Flame Thrower|30px}} [[Turbine Torcher Flame Thrower]]
 
* {{icon item|Forest Fire Flame Thrower|30px}} [[Forest Fire Flame Thrower]]
 
 
 
'''Heavy Weapons:'''
 
* {{icon item|Brick House Minigun|30px}} [[Brick House Minigun]]
 
* {{icon item|King of the Jungle Minigun|30px}} [[King of the Jungle Minigun]]
 
  
 
'''Demoman Weapons:'''
 
'''Demoman Weapons:'''
 
* {{icon item|Stickybomb Launcher|30px}} [[Stickybomb Launcher|Stickybomb Launcher: Multiple Skins]]
 
* {{icon item|Stickybomb Launcher|30px}} [[Stickybomb Launcher|Stickybomb Launcher: Multiple Skins]]
* {{icon item|Liquid Asset Stickybomb Launcher|30px}} [[Liquid Asset Stickybomb Launcher]]
 
* {{icon item|Pink Elephant Stickybomb Launcher|30px}} [[Pink Elephant Stickybomb Launcher]]
 
* {{icon item|Sudden Flurry Stickybomb Launcher|30px}} [[Sudden Flurry Stickybomb Launcher]]
 
* {{icon item|Carpet Bomber Stickybomb Launcher|30px}} [[Carpet Bomber Stickybomb Launcher]]
 
 
'''Medic Weapons:'''
 
* {{icon item|Spark of Life Medi Gun|30px}} [[Spark of Life Medi Gun]]
 
* {{icon item|Wrapped Reviver Medi Gun|30px}} [[Wrapped Reviver Medi Gun]]
 
* {{icon item|Masked Mender Medi Gun|30px}} [[Masked Mender Medi Gun]]
 
 
'''Sniper Weapons:'''
 
* {{icon item|Thunderbolt Sniper Rifle|30px}} [[Thunderbolt Sniper Rifle]]
 
* {{icon item|Purple Range Sniper Rifle|30px}} [[Purple Range Sniper Rifle]]
 
* {{icon item|Night Owl Sniper Rifle|30px}} [[Night Owl Sniper Rifle]]
 
* {{icon item|Low Profile SMG|30px}} [[Low Profile SMG]]
 
* {{icon item|Woodsy Widowmaker SMG|30px}} [[Woodsy Widowmaker SMG]]
 
 
'''Spy Weapons:'''
 
* {{icon item|Dead Reckoner Revolver|30px}} [[Dead Reckoner Revolver]]
 
* {{icon item|Psychedelic Slugger Revolver|30px}} [[Psychedelic Slugger Revolver]]
 
  
 
'''Multiple Class Weapons:'''
 
'''Multiple Class Weapons:'''
* {{icon item|Lightning Rod Shotgun|30px}} [[Lightning Rod Shotgun]]
+
* {{icon item|Duck Journal|30px}} [[Duck Journal]]
* {{icon item|Backwoods Boomstick Shotgun|30px}} [[Backwoods Boomstick Shotgun]]
 
* {{icon item|Black Dahlia Pistol|30px}} [[Black Dahlia Pistol]]
 
* {{icon item|Sandstone Special Pistol|30px}} [[Sandstone Special Pistol]]
 
* {{icon item|Red Rock Roscoe Pistol|30px}} [[Red Rock Roscoe Pistol]]
 
  
 
=== Finished weapons ===
 
=== Finished weapons ===

Revision as of 08:16, 13 December 2017

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

  • 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 to Steam\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 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.

Models repository

Weapons

Needed weapons

All classes:

  • Some way to load skins into HLMV

Scout Weapons:

  • Batsaber Batsaber (Low quality, handle has "white flecks")

Demoman Weapons:

Multiple Class Weapons:

Finished weapons