Difference between revisions of "Help:Model Viewer"
(→Registry) |
GrampaSwood (talk | contribs) |
||
(86 intermediate revisions by 29 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{Help navbar}} |
− | The '''[ | + | The '''[[vdc:Model_Viewer|Half-Life Model Viewer]]''' ('''HLMV''') is a program used to view and manipulate [[Source engine]] models. |
== Setup == | == Setup == | ||
+ | As of the update integrating SteamPipe into Team Fortress 2, HLMV is included with the TF2 installation. However, the VPROJECT environment variable must be set to {{code|Steam\steamapps\common\Team Fortress 2\tf}} in order for HLMV to function properly for TF2. There are three ways to do this, only one of which is necessary: | ||
+ | |||
+ | * Set the "VPROJECT" environment variable using your operating system's standard procedures | ||
+ | * Replace {{code|Steam\steamapps\common\Team Fortress 2\bin\check_sdk_env.bat}} with the following (this option will set VPROJECT properly for all of the other TF2 SDK tools, e.g. FacePoser, as well): | ||
+ | <pre>@echo off | ||
+ | PUSHD . | ||
+ | CD "%~d0%~p0..\tf" | ||
+ | SET TEMPPROJ=%CD% | ||
+ | POPD | ||
+ | if "%VPROJECT%" NEQ "%TEMPPROJ%" ( | ||
+ | if exist "%~d0%~p0set_sdk_env.bat" ( | ||
+ | call "%~d0%~p0set_sdk_env.bat" | ||
+ | ) else ( | ||
+ | echo WARNING: VPROJECT not set, and set_sdk_env.bat file not present. | ||
+ | pause | ||
+ | ) | ||
+ | ) else ( | ||
+ | echo VPROJECT="%VPROJECT%" | ||
+ | ) | ||
+ | </pre> | ||
+ | * Replace {{code|Steam\steamapps\common\Team Fortress 2\bin\HLMV.bat}} with the following: | ||
+ | <pre>@echo off | ||
+ | :: Batch file to launch Half-Life model viewer with proper environment | ||
+ | |||
+ | :: Launch HLMV | ||
+ | echo Starting HLMV... | ||
+ | echo Executing "%~d0%~p0hlmv.exe" %* | ||
+ | start "" "%~d0%~p0hlmv.exe" -vproject ../tf %* | ||
+ | </pre> | ||
+ | |||
+ | After performing one of these three options, navigate to {{code|Steam\steamapps\common\Team Fortress 2\bin}}, and run {{code|HLMV.bat}}. This should automatically open {{code|hlmv.exe}}. | ||
+ | |||
+ | A number of options and settings need to be tweaked in order to achieve best performance from the Model Viewer. The program has no GUI-based video settings like the game, so several other steps need to be taken. | ||
=== Graphics card settings === | === Graphics card settings === | ||
+ | [[File:NVIDIA graphics driver lines example.png|thumb|150px|right|An example of the lines caused by NVIDIA graphics drivers (top), and an example without NVIDIA graphics drivers enabled (bottom).]] | ||
For ATi/AMD cards, under '3D' in Catalyst Control Center's drop down menu, uncheck "Use Application Settings" in the "AA" section and move the slider to 8x. | For ATi/AMD cards, under '3D' in Catalyst Control Center's drop down menu, uncheck "Use Application Settings" in the "AA" section and move the slider to 8x. | ||
− | For | + | For NVIDIA cards, open the "NVIDIA Control Panel" and navigate to "Manage 3D settings" or similar. Add a program-specific setting for {{code|hlmv.exe}}. The location of this file is: |
− | + | {{code|Steam\steamapps\common\Team Fortress 2\bin\hlmv.exe}} | |
Ensure that the following settings are enabled: | Ensure that the following settings are enabled: | ||
Line 16: | Line 50: | ||
* Anti-aliasing set to "override" and on highest setting possible | * Anti-aliasing set to "override" and on highest setting possible | ||
* Texture filtering quality on highest setting possible | * Texture filtering quality on highest setting possible | ||
+ | |||
+ | {{c|note}}: NVIDIA Graphics Drivers have an issue that can cause small lines to appear on models when viewed from certain angles. These lines can be avoided by temporarily disabling the NVIDIA Graphics Driver and re-enabling it after you have finished taking the images. | ||
+ | To disable the drivers in Windows: <!-- I have no idea how it works in other operating systems so ¯\_(ツ)_/¯ --> | ||
+ | * Start > Device Manager | ||
+ | * Under Display adapters right click your graphics card > Update Driver | ||
+ | * Browse my computer for drivers | ||
+ | * Let me pick from a list of available drivers on my computer | ||
+ | * Select the Microsoft Basic Display Adapter > Next | ||
+ | To re-enable the NVIDIA Graphics Drivers afterwards simply follow the same steps but select your graphics drivers instead of the Microsoft Basic Display Adapter. | ||
=== dxsupport.cfg === | === dxsupport.cfg === | ||
The Model Viewer also pulls settings from the config file '{{code|dxsupport.cfg}}'. If the graphics card settings above do not work, then this method should still force the Viewer to output with high settings. | The Model Viewer also pulls settings from the config file '{{code|dxsupport.cfg}}'. If the graphics card settings above do not work, then this method should still force the Viewer to output with high settings. | ||
− | # Navigate to | + | # Navigate to this directory: {{code|\Steam\steamapps\common\Team Fortress 2\bin\}} |
− | # Open up {{code|dxsupport.cfg}} in a text editor of your choice. If you do not have this file, create it with [ | + | # Open up {{code|dxsupport.cfg}} in a text editor of your choice. If you do not have this file, create it with the content from [[Dxsupport.cfg.txt|here]]. |
− | # Find your graphics card within that file | + | # Find your graphics card within that file. |
− | # Add or modify the following lines in {{code|dxsupport.cfg}} | + | # Add or modify the following lines in {{code|dxsupport.cfg}} within the section for your graphics card and save it, the Viewer should now be using high settings. |
− | + | <pre> | |
− | + | "setting.dxlevel" "99" | |
− | + | "ConVar.mat_antialias" "8" | |
− | + | "ConVar.mat_forceaniso" "8" | |
− | + | "ConVar.mat_picmip" "-10" | |
− | + | </pre> | |
− | + | # If your card isn't listed, go to Control Panel, open Device Manager, find your graphics card under Display adapters section, open Details tab of its Properties and select Hardware Ids. The IDs are 4-character hexadecimal numbers. The Vendor ID is located after VEN_, and the Device ID is located after DEV_. | |
− | + | # Navigate to the bottom of the file, and find the <code>Unknown</code> sections. Choose the one that refers to your graphics card, which will be <code>ATI Unknown</code> if you're using an ATI/AMD graphics card, <code>NVidia Unknown</code> if using an Nvidia graphics card, or <code>Intel Unknown</code> if using an Intel graphics card. | |
− | + | # Once you have located this, change the lines of the one that match, so that looks like the following: | |
− | + | <pre> | |
− | + | "VendorID" "0x[Vendor ID from step 5]" | |
− | + | "MinDeviceID" "0x[Device ID from step 5]" | |
− | + | "MaxDeviceID" "0x[Device ID from step 5]" | |
− | + | "setting.dxlevel" "99" | |
− | + | "ConVar.mat_antialias" "8" | |
− | + | "ConVar.mat_forceaniso" "8" | |
− | + | "ConVar.mat_picmip" "-10" | |
− | + | "ConVar.mat_motion_blur_enabled" "1" | |
− | + | </pre> | |
− | + | # Only if your card is an AMD Radeon HD5000 series or above, you may enable "Super-Sample AA" under "3D" in the drop down menu in Catalyst Control Center to further increase image quality when used with the above settings. It is advised to revert "Super-Sample AA" back to "Multi-Sample AA" when you are done using the Viewer, as performance in games will be reduced significantly. | |
− | + | If none of the methods above works, you may try [https://github.com/gabrielwoj/hlmv-resources/raw/main/VPKs%20-%20ZIPs%20-Releases/HLMV%20-%20Pre-Configured%20dxsupport.cfg.zip downloading a pre-configured dxsupport.cfg]. Make a backup of your current <code>dxsupport.cfg</code> somewhere, and drop the new one on the same directory as your old one was located. | |
− | |||
== Models == | == Models == | ||
+ | {{c|note}}: Directly viewing some models will ignore the {{code|$colortint_base}} attribute (which provides the texture's normal color tint to the model), forcing the model to appear grey or washed out. This can be worked around by extracting the model's VMT and adding a new attribute {{code|$color2}} with the same value as {{code|$colortint_base}}. | ||
− | + | {{c|note}}: To load models, use the {{code|(Steam) Load Model...}} option. This allows HLMV to access the game's VPK files. Using the other {{code|Load Model...}} option allows you to load models that are located outside of the game's directory, however. | |
− | + | === Model locations === | |
+ | Most models have standard names but others have vague or confusing names. All item model file paths can be found by searching "{{code|items_game.txt}}" ({{code|\Steam\steamapps\common\Team Fortress 2\tf\scripts\items\items_game.txt}}) for the item's entry and checking the value of "{{code|model_player}}". | ||
− | + | {{c|note}}: You may get issues with HLMV saying it can't find a directory. To fix this, navigate to {{code|\Steam\steamapps\common\Team Fortress 2\tf\}} and create the folders that are needed to get to the model you are attempting to get to. Alternatively, you can [https://github.com/gabrielwoj/hlmv-resources/raw/main/VPKs%20-%20ZIPs%20-Releases/HLMV%20-%20Missing%20Folders%20Fix.zip download and extract this pack], and copy the contents to {{code|\Steam\steamapps\common\Team Fortress 2\tf\custom\}}. This will add all the folders to load weapons, cosmetic items and player models correctly, without having any errors. | |
− | |||
− | |||
− | + | ; Weapons | |
+ | : The locations for weapon models are as follows: | ||
+ | * {{code|w_models}} – holds world models for some of the [[Stock weapons]]. | ||
+ | * {{code|v_models}} – holds view models for some of the Stock weapons. | ||
+ | * {{code|c_models}} – holds models for most newer weapons. | ||
− | + | {{c|note}}: There are some discrepancies regarding c_, v_ and w_ models. Previously, all weapons had a world model and a view model that were kept separately. Most newer unlockable weapons, and a number of stock weapons use a single model file (c_model), which is used for both the player's viewpoint and for what other players see you holding. The [[Kukri]] and [[Flame Thrower]] had their view model and world model files removed when the change to c_models occurred.<br> | |
+ | {{c|note}}: Some weapons, such as the 2011 [[Festive weapons]] and the [[Botkiller weapons]] have parts of the models located in inconsistent places. For example, the older Festive weapons have the attached lights in {{code|\models\player\items}}, and the Botkiller weapons have the attached heads in the {{code|\models\player\items\mvm_loot}}. | ||
− | + | ; [[Cosmetic items]] | |
+ | : Most of models of any cosmetic items that were added before the [[Robotic Boogaloo]] update are located in {{code|\models\player\items}}. Any cosmetic items that were added in or after that update are located in {{code|\models\workshop\player\items}}. | ||
− | + | ; Tools | |
+ | : The [[Crate]], [[Paint Can]], and [[Name Tag]] models are not present in the game files. Efforts to reproduce them in a model form are ongoing. | ||
− | ; | + | ; Player models |
− | + | : Player models are stored in the directory of {{code|\models\player}}. There are HWM models (or '''''h'''ard'''w'''are '''m'''orphs'') stored in {{code|\models\player\hwm}}. These models are higher-poly versions of the standard models and were used in the creation of the ''[[Meet the Team]]'' series. For more information about them, see the [[Steam Users' Forums]]. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == Model + Lighting Controls == | |
+ | Holding the following keys and moving the mouse will allow you to move the model or lighting in the screen. | ||
− | + | {| class="wikitable grid" style="text-align: left" | |
− | + | ! class="header" | Action | |
+ | ! class="header" | Key/Button | ||
+ | ! class="header" | More Information | ||
+ | |- | ||
+ | | Rotate model | ||
+ | | {{Key|LMB}} in centre of the screen. | ||
+ | | Rotate the current model in all directions. | ||
+ | |- | ||
+ | | Turn Model | ||
+ | | {{Key|LMB}} at edges of the screen. | ||
+ | | Turns the current model around from the viewing angle. | ||
+ | |- | ||
+ | | Pan Model | ||
+ | | {{Key|Left Shift}}+{{Key|LMB}} anywhere. | ||
+ | | Pans the model around the screen. | ||
+ | |- | ||
+ | | Zoom Model | ||
+ | | {{Key|RMB}} | ||
+ | | Zooms the current model in and out. | ||
+ | |- | ||
+ | | Rotate Lighting | ||
+ | | {{Key|Left Ctrl}}+{{Key|LMB}} anywhere. | ||
+ | | Rotates the light source around the model. | ||
+ | |} | ||
− | + | The rotate lighting control should be used with caution. It's okay to slightly adjust the lighting to add more "depth" to an image, but do not rotate it too drastically or the image will look way too dark in comparison to other images uploaded to the Wiki. It's also recommended to use it to adjust Pyro's lenses, as it tends to appear completely white in certain angles. | |
− | |||
== Registry == | == Registry == | ||
− | HLMV stores model positionings and settings inside the | + | HLMV stores model positionings and settings inside the [[w:Windows Registry|registry]] in separate keys. You can open the registry editor by going to Start > Run and typing in "{{code|regedit.exe}}". HLMV's directory is "{{code|HKEY_CURRENT_USER\Software\Valve\hlmv}}". |
− | :{{c|note}}: | + | :{{c|note}}: Changes made to values in the registry editor will be overwritten if the model is open while the changes are made. You will need to either close HLMV or load a different model while editing values. The values can also be updated while viewing by refreshing the registry editor ('View' > 'Refresh' or 'F5'). |
=== Key values === | === Key values === | ||
− | |||
Inside each key are several values, and their uses are listed below: | Inside each key are several values, and their uses are listed below: | ||
Line 108: | Line 166: | ||
| Ambient color | | Ambient color | ||
| | | | ||
− | | (0.3 0.3 0.3 0) | + | | (0.3 0.3 0.3 0) <span style="background:#4C4C4C; color:white; padding:0em 0.5em;">#4C4C4C</span> |
|- | |- | ||
| bgColor | | bgColor | ||
| Background color | | Background color | ||
| | | | ||
− | | (0.25 0.25 0.25 0) | + | | (0.25 0.25 0.25 0) <span style="background:#3F3F3F; color:white; padding:0em 0.5em;">#3F3F3F</span> |
|- | |- | ||
| cclanguageid | | cclanguageid | ||
Line 128: | Line 186: | ||
| Ground color | | Ground color | ||
| | | | ||
− | | (0.85 0.85 0.69 0) | + | | (0.85 0.85 0.69 0) <span style="background:#D8D8AF; padding:0em 0.5em;">#D8D8AF</span> |
|- | |- | ||
| lColor | | lColor | ||
| Light color | | Light color | ||
| | | | ||
− | | (1 1 1 0) | + | | (1 1 1 0) (white) |
|- | |- | ||
| lightrot | | lightrot | ||
Line 141: | Line 199: | ||
|- | |- | ||
| merge0 – merge3 | | merge0 – merge3 | ||
− | | Attached weapons | + | | Attached models ("weapons" in HLMV) |
| | | | ||
| | | | ||
Line 163: | Line 221: | ||
| Model's rotation in the world view | | Model's rotation in the world view | ||
| (X Y Z) | | (X Y Z) | ||
− | | Model | + | | Model dependent |
|- | |- | ||
| sequence | | sequence | ||
| Animation sequence | | Animation sequence | ||
| | | | ||
− | | Model | + | | Model dependent (most commonly {{code|idle}} or {{code|ref}}) |
|- | |- | ||
| showbackground | | showbackground | ||
Line 211: | Line 269: | ||
|- | |- | ||
| Trans | | Trans | ||
− | | | + | | [[w:Translation (geometry)|Translation]] of the model |
| (X Y Z) | | (X Y Z) | ||
− | | Model | + | | Model dependent |
|- | |- | ||
| viewermode | | viewermode | ||
Line 222: | Line 280: | ||
|} | |} | ||
− | == | + | == Program limitations == |
+ | [[File:HLMV ProgramLimitations FireTexture.png|thumb|150px|right|A preview of the fire textures being shown (top), and no fire textures when using the texture replacement (bottom).]] | ||
+ | [[File:HLMV ProgramLimitations CubeMaps.png|thumb|150px|right|The default HLMV cubemaps (left), and the modified and much more cleaner cubemaps (right).]] | ||
+ | [[File:HLMV ProgramLimitations hlp_forearm.png|thumb|150px|right|A screenshot with an affected model by the issue (left), a screenshot with the {{code|hlp_forearm}} fix applied (right).]] | ||
+ | [[File:HLMV ProgramLimitations GrayCornea.png|thumb|150px|right|Screenshots taken on HLMV while using an ATI Graphics Card (top), a NVIDIA Graphics Card (middle), and with the gray cornea texture fix applied while on a NVIDIA Graphics Card (bottom).]] | ||
+ | |||
+ | ; Fire texture | ||
+ | : HLMV applies a fire overlay material to most models. Although not noticeable under most circumstances, it can become particularly apparent when working with models that have dark or black textures. | ||
+ | : There are two methods to remove this effect: | ||
+ | :# The more preferred option is to [https://github.com/gabrielwoj/hlmv-resources/raw/main/VPKs%20-%20ZIPs%20-Releases/HLMV%20-%20Fire%20Overlay%20Fix.vpk download this texture replacement], and copy the contents to <code>\Steam\steamapps\common\Team Fortress 2\tf\custom\</code>. This will replace the default file texture with a 512x512 black material, effectively nullifying the effect for all models. | ||
+ | :# Alternatively, setting {{code|$detailblendfactor}} to {{code|.00}} in the VMT file(s) for the model will achieve to the same end; however, this setting must be enabled manually per model. | ||
+ | |||
+ | ; Skybox texture | ||
+ | : HLMV's default skybox texture looks nice, however, replacing this texture to black texture will make creating images much easier by using the Ctrl+B hotkey. | ||
+ | : To rectify this, [https://github.com/gabrielwoj/hlmv-resources/raw/main/VPKs%20-%20ZIPs%20-Releases/HLMV%20-%20Skybox%20Background%20-%20Black.vpk download this texture replacement], and copy the contents to <code>\Steam\steamapps\common\Team Fortress 2\tf\custom\</code>. This will replace the skybox texture with a black color. | ||
+ | : Alternatively, if you prefer to replace the skybox texture with a white background instead, [https://github.com/gabrielwoj/hlmv-resources/raw/main/VPKs%20-%20ZIPs%20-Releases/HLMV%20-%20Skybox%20Background%20-%20White.vpk download this texture replacement]. | ||
+ | |||
+ | ; [[vdc:Cubemaps|Cubemaps]] | ||
+ | : HLMV handles reflective surfaces by using a texture to fake reflections. The default texture is that of a sunrise -- nice, but not quite clean enough for good, readable photos. | ||
+ | : To rectify this, [https://github.com/gabrielwoj/hlmv-resources/raw/main/VPKs%20-%20ZIPs%20-Releases/HLMV%20-%20Cubemap%20Fix.vpk download this texture replacement], and copy the contents to <code>\Steam\steamapps\common\Team Fortress 2\tf\custom\</code>. This will replace the reflection with a morose grey, making for more readable photos. | ||
+ | |||
+ | ; {{code|hlp_forearm_L}} and {{code|hlp_forearm_R}} | ||
+ | : Some cosmetic items contains bones that attaches to non-functional bones in HLMV, cosmetics that contains the bones {{code|hlp_forearm_L}} and {{code|hlp_forearm_R}} often causes problems in rendering when attaching to a class model, usually causing the cosmetic to pass through the class, or stretching on the ground. | ||
+ | : To fix that, a simple modification was made on the models for Scout, Demoman and Heavy, to remove these problematic bones. These were fixed for both normal and {{code|hwm}} models. The fix can be [https://github.com/gabrielwoj/hlmv-resources/raw/main/VPKs%20-%20ZIPs%20-Releases/HLMV%20-%20Dummied%20Out%20hlp_bones.vpk downloaded here]. To install it, simply copy the {{code|.vpk}} to <code>\Steam\steamapps\common\Team Fortress 2\tf\custom\</code>. | ||
+ | |||
+ | ; Gray cornea (issue with NVIDIA graphics cards mostly) | ||
+ | : For some users, mostly those with NVIDIA graphics cards, HLMV may have problems rendering the texture for the cornea of each of the classes eyes, causing it to appear with a gray tone instead. Currently it's unknown what causes this issue, but it's possible to fix it by downloading a modification for the {{code|eye_lightwarp}} texture. | ||
+ | : To fix that, [https://github.com/gabrielwoj/hlmv-resources/raw/main/VPKs%20-%20ZIPs%20-Releases/HLMV%20-%20Gray%20Cornea%20Texture%20Fix.vpk download this texture replacement], and copy the contents to <code>\Steam\steamapps\common\Team Fortress 2\tf\custom\</code>. This will make the <code>lightwrap</code> texture brighter, fixing the issue with the gray cornea for those using a NVIDIA graphics card.<br> | ||
+ | : '''Note:''' This will not fix issues with other items with the same issue, such as the [[Lord Cockswain's Novelty Mutton Chops and Pipe]] appearing completely black, and the [[Quick-Fix]] missing its transparent visor. The fix only applies to the classes' gray cornea issue. | ||
+ | |||
+ | ; Blurriness | ||
+ | : For users with two or more monitors, it's advised to have the higher resolution monitor as the primary one. Due to an issue with HLMV, if the lower resolution monitor is set as the primary one, and if the user works on HLMV on the secondary monitor (that has the higher resolution), HLMV will have problems rendering the model, causing blurriness. The blurriness might be worse depending how low the resolution is set to the main display compared to the higher resolution set as the secondary display. | ||
+ | : To change which monitor is the primary one, go to your Desktop, and right-click on your wallpaper, and click "Display settings". From there, click on the monitor that has the bigger rectangle (higher resolution), and check "Make this my main display". | ||
+ | {|style="margin: left;" | ||
+ | | [[File:HLMV ProgramLimitations Blurriness.gif|thumb|500px|An example showing the difference between a [https://wiki.teamfortress.com/w/images/archive/8/84/20220101220204%21Taunt_Shooter%27s_Stakeout.png blurry image] and a [https://wiki.teamfortress.com/w/images/8/84/Taunt_Shooter%27s_Stakeout.png properly looking image] by using the highest resolution monitor as the main one. The animation has been zoomed in for clarity.]] | ||
+ | |} | ||
== See also == | == See also == | ||
− | * [[Template:Painted variants/Tutorial]] – tutorial on taking screenshots of [[Paint Can|painted images]]. | + | * [[Template:Painted variants/Tutorial|Painted variants (tutorial)]] – tutorial on taking screenshots of [[Paint Can|painted images]]. |
== External links == | == External links == | ||
Line 231: | Line 324: | ||
=== Tools === | === Tools === | ||
− | * [ | + | * [https://valvedev.info/tools/gcfscape/ GCFScape] – a tool to extract files out of the game's .VPK files. |
− | * [ | + | * [https://valvedev.info/tools/vtfedit/ VTFEdit] – a tool to edit .VTF and .VMT files. |
− | |||
* {{vdc|Category:Third Party Tools}} | * {{vdc|Category:Third Party Tools}} | ||
=== Resources === | === Resources === | ||
− | * [ | + | * [[User:Gabrielwoj/HLMV Setup Help and Tricks|Gabrielwoj's HLMV Setup Help and Tricks]] |
+ | * [[User:Mr._Magoolachub/HLMV_Stuff|Mr. Magoolachub's HLMV stuff]] | ||
+ | * {{vdc|SDK Installation}} |
Latest revision as of 16:42, 27 October 2024
|
The Half-Life Model Viewer (HLMV) is a program used to view and manipulate Source engine models.
Contents
Setup
As of the update integrating SteamPipe into Team Fortress 2, HLMV is included with the TF2 installation. However, the VPROJECT environment variable must be set to Steam\steamapps\common\Team Fortress 2\tf
in order for HLMV to function properly for TF2. There are three ways to do this, only one of which is necessary:
- Set the "VPROJECT" environment variable using your operating system's standard procedures
- Replace
Steam\steamapps\common\Team Fortress 2\bin\check_sdk_env.bat
with the following (this option will set VPROJECT properly for all of the other TF2 SDK tools, e.g. FacePoser, as well):
@echo off PUSHD . CD "%~d0%~p0..\tf" SET TEMPPROJ=%CD% POPD if "%VPROJECT%" NEQ "%TEMPPROJ%" ( if exist "%~d0%~p0set_sdk_env.bat" ( call "%~d0%~p0set_sdk_env.bat" ) else ( echo WARNING: VPROJECT not set, and set_sdk_env.bat file not present. pause ) ) else ( echo VPROJECT="%VPROJECT%" )
- Replace
Steam\steamapps\common\Team Fortress 2\bin\HLMV.bat
with the following:
@echo off :: Batch file to launch Half-Life model viewer with proper environment :: Launch HLMV echo Starting HLMV... echo Executing "%~d0%~p0hlmv.exe" %* start "" "%~d0%~p0hlmv.exe" -vproject ../tf %*
After performing one of these three options, navigate to Steam\steamapps\common\Team Fortress 2\bin
, and run HLMV.bat
. This should automatically open hlmv.exe
.
A number of options and settings need to be tweaked in order to achieve best performance from the Model Viewer. The program has no GUI-based video settings like the game, so several other steps need to be taken.
Graphics card settings
For ATi/AMD cards, under '3D' in Catalyst Control Center's drop down menu, uncheck "Use Application Settings" in the "AA" section and move the slider to 8x.
For NVIDIA cards, open the "NVIDIA Control Panel" and navigate to "Manage 3D settings" or similar. Add a program-specific setting for hlmv.exe
. The location of this file is:
Steam\steamapps\common\Team Fortress 2\bin\hlmv.exe
Ensure that the following settings are enabled:
- Anti-aliasing set to "override" and on highest setting possible
- Texture filtering quality on highest setting possible
Note: NVIDIA Graphics Drivers have an issue that can cause small lines to appear on models when viewed from certain angles. These lines can be avoided by temporarily disabling the NVIDIA Graphics Driver and re-enabling it after you have finished taking the images. To disable the drivers in Windows:
- Start > Device Manager
- Under Display adapters right click your graphics card > Update Driver
- Browse my computer for drivers
- Let me pick from a list of available drivers on my computer
- Select the Microsoft Basic Display Adapter > Next
To re-enable the NVIDIA Graphics Drivers afterwards simply follow the same steps but select your graphics drivers instead of the Microsoft Basic Display Adapter.
dxsupport.cfg
The Model Viewer also pulls settings from the config file 'dxsupport.cfg
'. If the graphics card settings above do not work, then this method should still force the Viewer to output with high settings.
- Navigate to this directory:
\Steam\steamapps\common\Team Fortress 2\bin\
- Open up
dxsupport.cfg
in a text editor of your choice. If you do not have this file, create it with the content from here. - Find your graphics card within that file.
- Add or modify the following lines in
dxsupport.cfg
within the section for your graphics card and save it, the Viewer should now be using high settings.
"setting.dxlevel" "99" "ConVar.mat_antialias" "8" "ConVar.mat_forceaniso" "8" "ConVar.mat_picmip" "-10"
- If your card isn't listed, go to Control Panel, open Device Manager, find your graphics card under Display adapters section, open Details tab of its Properties and select Hardware Ids. The IDs are 4-character hexadecimal numbers. The Vendor ID is located after VEN_, and the Device ID is located after DEV_.
- Navigate to the bottom of the file, and find the
Unknown
sections. Choose the one that refers to your graphics card, which will beATI Unknown
if you're using an ATI/AMD graphics card,NVidia Unknown
if using an Nvidia graphics card, orIntel Unknown
if using an Intel graphics card. - Once you have located this, change the lines of the one that match, so that looks like the following:
"VendorID" "0x[Vendor ID from step 5]" "MinDeviceID" "0x[Device ID from step 5]" "MaxDeviceID" "0x[Device ID from step 5]" "setting.dxlevel" "99" "ConVar.mat_antialias" "8" "ConVar.mat_forceaniso" "8" "ConVar.mat_picmip" "-10" "ConVar.mat_motion_blur_enabled" "1"
- Only if your card is an AMD Radeon HD5000 series or above, you may enable "Super-Sample AA" under "3D" in the drop down menu in Catalyst Control Center to further increase image quality when used with the above settings. It is advised to revert "Super-Sample AA" back to "Multi-Sample AA" when you are done using the Viewer, as performance in games will be reduced significantly.
If none of the methods above works, you may try downloading a pre-configured dxsupport.cfg. Make a backup of your current dxsupport.cfg
somewhere, and drop the new one on the same directory as your old one was located.
Models
Note: Directly viewing some models will ignore the $colortint_base
attribute (which provides the texture's normal color tint to the model), forcing the model to appear grey or washed out. This can be worked around by extracting the model's VMT and adding a new attribute $color2
with the same value as $colortint_base
.
Note: To load models, use the (Steam) Load Model...
option. This allows HLMV to access the game's VPK files. Using the other Load Model...
option allows you to load models that are located outside of the game's directory, however.
Model locations
Most models have standard names but others have vague or confusing names. All item model file paths can be found by searching "items_game.txt
" (\Steam\steamapps\common\Team Fortress 2\tf\scripts\items\items_game.txt
) for the item's entry and checking the value of "model_player
".
Note: You may get issues with HLMV saying it can't find a directory. To fix this, navigate to \Steam\steamapps\common\Team Fortress 2\tf\
and create the folders that are needed to get to the model you are attempting to get to. Alternatively, you can download and extract this pack, and copy the contents to \Steam\steamapps\common\Team Fortress 2\tf\custom\
. This will add all the folders to load weapons, cosmetic items and player models correctly, without having any errors.
- Weapons
- The locations for weapon models are as follows:
w_models
– holds world models for some of the Stock weapons.v_models
– holds view models for some of the Stock weapons.c_models
– holds models for most newer weapons.
Note: There are some discrepancies regarding c_, v_ and w_ models. Previously, all weapons had a world model and a view model that were kept separately. Most newer unlockable weapons, and a number of stock weapons use a single model file (c_model), which is used for both the player's viewpoint and for what other players see you holding. The Kukri and Flame Thrower had their view model and world model files removed when the change to c_models occurred.
Note: Some weapons, such as the 2011 Festive weapons and the Botkiller weapons have parts of the models located in inconsistent places. For example, the older Festive weapons have the attached lights in \models\player\items
, and the Botkiller weapons have the attached heads in the \models\player\items\mvm_loot
.
- Cosmetic items
- Most of models of any cosmetic items that were added before the Robotic Boogaloo update are located in
\models\player\items
. Any cosmetic items that were added in or after that update are located in\models\workshop\player\items
.
- Tools
- The Crate, Paint Can, and Name Tag models are not present in the game files. Efforts to reproduce them in a model form are ongoing.
- Player models
- Player models are stored in the directory of
\models\player
. There are HWM models (or hardware morphs) stored in\models\player\hwm
. These models are higher-poly versions of the standard models and were used in the creation of the Meet the Team series. For more information about them, see the Steam Users' Forums.
Model + Lighting Controls
Holding the following keys and moving the mouse will allow you to move the model or lighting in the screen.
Action | Key/Button | More Information |
---|---|---|
Rotate model | LMB in centre of the screen. | Rotate the current model in all directions. |
Turn Model | LMB at edges of the screen. | Turns the current model around from the viewing angle. |
Pan Model | Left Shift+LMB anywhere. | Pans the model around the screen. |
Zoom Model | RMB | Zooms the current model in and out. |
Rotate Lighting | Left Ctrl+LMB anywhere. | Rotates the light source around the model. |
The rotate lighting control should be used with caution. It's okay to slightly adjust the lighting to add more "depth" to an image, but do not rotate it too drastically or the image will look way too dark in comparison to other images uploaded to the Wiki. It's also recommended to use it to adjust Pyro's lenses, as it tends to appear completely white in certain angles.
Registry
HLMV stores model positionings and settings inside the registry in separate keys. You can open the registry editor by going to Start > Run and typing in "regedit.exe
". HLMV's directory is "HKEY_CURRENT_USER\Software\Valve\hlmv
".
- Note: Changes made to values in the registry editor will be overwritten if the model is open while the changes are made. You will need to either close HLMV or load a different model while editing values. The values can also be updated while viewing by refreshing the registry editor ('View' > 'Refresh' or 'F5').
Key values
Inside each key are several values, and their uses are listed below:
Value | Description | Type | Default |
---|---|---|---|
aColor | Ambient color | (0.3 0.3 0.3 0) #4C4C4C | |
bgColor | Background color | (0.25 0.25 0.25 0) #3F3F3F | |
cclanguageid | Integer | 0 | |
enablenormalmapping | Normal map | Integer | 0 |
gColor | Ground color | (0.85 0.85 0.69 0) #D8D8AF | |
lColor | Light color | (1 1 1 0) (white) | |
lightrot | Positioning of the light source | (X Y Z) | (0 180 0) |
merge0 – merge3 | Attached models ("weapons" in HLMV) | ||
overlaySequence0 – overlaySequence3 | ? | ||
overlayWeight0 – overlayWeight3 | ? | ||
playsounds | Toggle sounds being played | Integer | 1 |
Rot | Model's rotation in the world view | (X Y Z) | Model dependent |
sequence | Animation sequence | Model dependent (most commonly idle or ref )
| |
showbackground | Integer | 1 | |
showground | Integer | 1 | |
showillumpos | Integer | 1 | |
showshadow | Integer | 1 | |
speechapiindex | Integer | 1 | |
speedscale | 1 | ||
thumbnailsize | Integer | 128 | |
thumbnailsizeanim | Integer | 128 | |
Trans | Translation of the model | (X Y Z) | Model dependent |
viewermode | Integer | 0 |
Program limitations
- Fire texture
- HLMV applies a fire overlay material to most models. Although not noticeable under most circumstances, it can become particularly apparent when working with models that have dark or black textures.
- There are two methods to remove this effect:
- The more preferred option is to download this texture replacement, and copy the contents to
\Steam\steamapps\common\Team Fortress 2\tf\custom\
. This will replace the default file texture with a 512x512 black material, effectively nullifying the effect for all models. - Alternatively, setting
$detailblendfactor
to.00
in the VMT file(s) for the model will achieve to the same end; however, this setting must be enabled manually per model.
- The more preferred option is to download this texture replacement, and copy the contents to
- Skybox texture
- HLMV's default skybox texture looks nice, however, replacing this texture to black texture will make creating images much easier by using the Ctrl+B hotkey.
- To rectify this, download this texture replacement, and copy the contents to
\Steam\steamapps\common\Team Fortress 2\tf\custom\
. This will replace the skybox texture with a black color. - Alternatively, if you prefer to replace the skybox texture with a white background instead, download this texture replacement.
- Cubemaps
- HLMV handles reflective surfaces by using a texture to fake reflections. The default texture is that of a sunrise -- nice, but not quite clean enough for good, readable photos.
- To rectify this, download this texture replacement, and copy the contents to
\Steam\steamapps\common\Team Fortress 2\tf\custom\
. This will replace the reflection with a morose grey, making for more readable photos.
hlp_forearm_L
andhlp_forearm_R
- Some cosmetic items contains bones that attaches to non-functional bones in HLMV, cosmetics that contains the bones
hlp_forearm_L
andhlp_forearm_R
often causes problems in rendering when attaching to a class model, usually causing the cosmetic to pass through the class, or stretching on the ground. - To fix that, a simple modification was made on the models for Scout, Demoman and Heavy, to remove these problematic bones. These were fixed for both normal and
hwm
models. The fix can be downloaded here. To install it, simply copy the.vpk
to\Steam\steamapps\common\Team Fortress 2\tf\custom\
.
- Gray cornea (issue with NVIDIA graphics cards mostly)
- For some users, mostly those with NVIDIA graphics cards, HLMV may have problems rendering the texture for the cornea of each of the classes eyes, causing it to appear with a gray tone instead. Currently it's unknown what causes this issue, but it's possible to fix it by downloading a modification for the
eye_lightwarp
texture. - To fix that, download this texture replacement, and copy the contents to
\Steam\steamapps\common\Team Fortress 2\tf\custom\
. This will make thelightwrap
texture brighter, fixing the issue with the gray cornea for those using a NVIDIA graphics card. - Note: This will not fix issues with other items with the same issue, such as the Lord Cockswain's Novelty Mutton Chops and Pipe appearing completely black, and the Quick-Fix missing its transparent visor. The fix only applies to the classes' gray cornea issue.
- Blurriness
- For users with two or more monitors, it's advised to have the higher resolution monitor as the primary one. Due to an issue with HLMV, if the lower resolution monitor is set as the primary one, and if the user works on HLMV on the secondary monitor (that has the higher resolution), HLMV will have problems rendering the model, causing blurriness. The blurriness might be worse depending how low the resolution is set to the main display compared to the higher resolution set as the secondary display.
- To change which monitor is the primary one, go to your Desktop, and right-click on your wallpaper, and click "Display settings". From there, click on the monitor that has the bigger rectangle (higher resolution), and check "Make this my main display".
See also
- Painted variants (tutorial) – tutorial on taking screenshots of painted images.
External links
Tools
- GCFScape – a tool to extract files out of the game's .VPK files.
- VTFEdit – a tool to edit .VTF and .VMT files.
- Category:Third Party Tools on the Valve Developer Community