Half-Life Model Viewer++
(Redirected from HLMV++)
Half-Life Model Viewer++ | |
---|---|
Type | Third Party Tool |
Developers | ficool2 |
Engine | Source |
Platforms | Windows |
Half-Life Model Viewer++ ( HLMV++) is a community-made modification of Half-Life Model Viewer for Source that provides an updated, feature-rich version of the model viewer. HLMV++ is made by ficool2, the same programmer that created Hammer++, and the two are cross-compatible. HLMV++ contains many fixes to long-standing HLMV issues, as well as many new features, some of which were ported over from Counter-Strike: Global Offensive's HLMV.
HLMV++ currently supports the following branches of the Source Engine:
- Team Fortress 2
- 64-bit Team Fortress 2 is also supported with a test build being available in the Discord server.
- Left 4 Dead 2
- Garry's Mod
- Source 2013 Singleplayer
- Source 2013 Multiplayer
Contents
Features
- HLMV++ runs at 240 fps, most noticeable with a 144hz monitor.
- MVScript support, ported from CS:GO's HLMV.
- Live VMT materials editing, ported from CS:GO's HLMV.
- Ability to change picmip, antialias and anistropic settings without needing to modify the
dxsupport.cfg
file to do so. Options are now available via the Render tab of the control panel. - Loading and rendering particle effects that can be attached to bones via the new Particles tab on the control panel.
- Showing/hiding the bottom-third control panel.
- Options > Show/Hide Control Panel
- A reworked Flexes control panel with pagination.
- This feature also reworks how the Flexes panel functions, removing the usage of dropdown boxes which subsequently fixes an age-old bug where changing a targeted flex via a dropdown could sometimes revert all the flex changes you had made up to that point.
- Facial flex saving is possible via editing registry keys.
- Saving a screenshot with or without an automatically generated alpha channel.
- Screenshots (and video frames) were initially saved as TGAs until the Garry's Mod build and Version 6 of the Team Fortress 2 build, where they are now saved as PNGs.
- A new Make Video option that exports multiple PNG frames to create animated GIFs/APNGs/VTFs.
- There is also a "transparent" option that will make all exported frames have an automatically generated alpha channel.
- Added volume slider for sounds.
- Added aspect ratio correction.
- This makes the model render correctly regardless of window size. Can be toggled off for old behavior.
- A new cosmetic item model browser that parses the contents of the
items_game.txt
file. (only in ) - Asset mounting from
mount.cfg
. (only in ) - Material list now shows texture name beside missing materials.
- Shadows now work without ground being required.
- Added
SetCameraFOV
andSetCameraAspectCorrection
MVScript commands. - Added support for loading 2D skyboxes as the background of the 3D render area.
- HDR skyboxes are supported as well as of the most recent (January 2024) version.
- The .mvscript system can also access this option with the following key:
SetSkybox sky
- The
sky
param works with sky names such assky_tf2
.
- The
- Added support for
Refract
materials. - Ability to create and place up to 4 independent light sources and customize each light source's type (point, directional or spot), cone, color and ambient color.
- Left 4 Dead 2 build only allows up to 2 light sources, due to limitations in the Left 4 Dead engine branch.
- The .mvscript system can also access these lighting options with the following commands:
SetLightType index i
index
param accepts the following values:- 0: Disabled
- 1: Point
- 2: Directional
- 3: Spot
SetLightPosition x y z i
SetLightAngles x y z i
SetLightColor r g b i
SetLightCone inner outer i
- The
i
parameter is for specifying which of the potential 4 light sources you want to control, from 0 to 3.
- The
SetAmbientColor r g b
- Added support for loading animation-only models as primary models. Formerly, trying to load an animation-only model would just result in an error popup.
- An example of how this could be used would be loading up
tf\models\weapons\c_models\c_demo_animations.mdl
as the primary model, then loading uptf\models\weapons\c_models\c_medic_arms.mdl
as a submodel so the Demoman's first person animations would use the Medic's arms model instead of the Demoman's arms.
- An example of how this could be used would be loading up
- Added
SetFlexes
MVScript command. Flexes also get saved in the session file. - Restored the hitbox editing functionality that was accidentally removed early on in the project's life.
- Added bodygroup and skin switching for submodels.
Bugs
Bug:The "Make Screenshot" function may not work correctly when HLMV++ is stretched across multiple monitors. Doing so may result in a very wide screenshot with two copies of the same model in it. This is not fixable. [todo tested in?]
Bug:Making transparent screenshots/videos of anything that uses $additive materials, such as certain particle effects or parts of certain cosmetic items (like the Propaniac for example) in Team Fortress 2, does not work correctly as the generated alpha channel algorithm doesn't play nice with additive materials. Any details that use additive materials will not be part of the generated alpha channel, or just may not be captured correctly by the alpha channel generation. [todo tested in?]
Bug:When generating a transparent screenshot, there will usually always be a couple pixels in the bottom-right hand corner of the image.
Note:This one may need a test with the latest build for Team Fortress 2 or Garry's Mod to see if this still the case. The alpha channel generation algorithm has undergone changes throughout the life of the project so this entry may be something from an older build. This issue was first noticed when selecting the entire canvas and copying the contents so that creating a new canvas would set the width and height to the specific size of the model render being worked with. The size was found to be off due to some pixel remnants in the corner caused by the screenshot algorithm.
Fix:Just hit the bottom-right corner of the canvas with the erase tool in your image editor of choice.
[todo tested in?]Bug:Trying to launch the Left 4 Dead 2 build can result in an error message stating "Model models/tools/rotate_widget.mdl not found and models/error.mdl could not be loaded."
Fix:Mount your custom folder directly to the base gameinfo.txt in
[todo tested in?]steamapps/common/Left 4 Dead 2/left4dead
, point Crowbar to that gameinfo.txt instead, and always open HLMV++ through the View > Open Viewer option in Crowbar
Bug:Trying to launch the Left 4 Dead 2 build from inside the
steamapps/common/Left 4 Dead 2/bin
folder has been reported to result in "Unable to find gameinfo.txt" errors.
Fix:Create a shortcut where the "Target" field contains an added
Example:
In case you added a custom content folder via Gameinfo, you may want to load that folder, instead of the default ".../Left 4 Dead 2/left4dead2" in the shortcut's -game path, else the "(Steam) Load Model" button cannot read your new models.
-game "Path"
Example:
"D:\Programme\Steam\steamapps\common\Left 4 Dead 2\bin\hlmvplusplus.exe" -game "D:\Programme\Steam\steamapps\common\Left 4 Dead 2\left4dead2"
In case you added a custom content folder via Gameinfo, you may want to load that folder, instead of the default ".../Left 4 Dead 2/left4dead2" in the shortcut's -game path, else the "(Steam) Load Model" button cannot read your new models.
Fix:Alternatively, use Crowbar to run HLMV++ by setting it up as the model viewer in the Left 4 Dead 2 game setup menu, then running it by using the View > Open Viewer option.
[todo tested in?]Bug:HLMV++ does sometimes not show wrinklemaps for custom models, but they work for models shipped with the game.
Tested on Left 4 Dead 2 with nicks default model and a recompiled version. The wrinkle maps of the custom model work fine in HLMV, but not in HLMV++. [todo tested in?]
Tested on Left 4 Dead 2 with nicks default model and a recompiled version. The wrinkle maps of the custom model work fine in HLMV, but not in HLMV++. [todo tested in?]
Fixes
- Fixed the Make Screenshot option not working.
- Fixed the FOV slider being inaccurate.
- Fixed a bug where the Material Proxies checkbox state was not being refreshed correctly.
- Fixed a display scaling bug.
- Fixed .mdls/.mvscripts passed on command line not working. This fixes HLMV++ not working with the "Preview" mode from Crowbar.
- Fixed sounds not playing.
- Fixed crash in BoneWeights view.
- Fixed Reset Lighting also resetting background color.
- Fixed particles not being saved across sessions.
- Fixed rapid flashing when using Make Screenshot/Video.
- Fixed light type name being cut off.
- Fixed background color and ground color buttons not working.
- Fixed Reset Lights button not resetting light type and selected light.
- Fixed ground color never being used (bug from stock HLMV).
- Fixed .mvscript screenshot filenames with more than 128 characters being truncated.
- Fixed flexes not working on materials with transparency.
- Fixed submodels persisting when loading other models.
- Fixed .mvscript SetLightColor and SetAmbientColor (pitch black issue).
- Fixed .mvscript SetLightCone not saving correctly.
- Fixed Highlight Hitbox option in Bones tab not working.
- Fixed crash if skybox texture was missing a side VMT.
- Fixed toggle control panel not correctly calculating panel size after re-enabling.
- Fixed crashes with certain MVScript commands if no model was loaded.
Screenshots
External links
- HLMV++ - official GameBanana mirror
- HLMV++ Twitter
- HLMV++ Discord
|