Source 2 Viewer v19.2
A first-person view with a weapon and legs when walking around CS2 maps, and turning newer animation graph files back into editable source files.
CS2 First-Person Viewmodel
Available on CS2 maps, walk mode now renders the CS2 first-person viewmodel alongside first-person legs, with weapon and leg animations driven by a new animation mixer. Includes multi-dimensional blend spaces, additive breathing, bone masks, muzzle flash, and perspective correction.
AnimGraph 2 Decompilation
Added decompilation of AnimGraph 2 (NmGraph) files back to editable source documents, covering node specifications, type definitions, variations, and virtual parameter types. Round-trip fidelity is preserved across global transitions and animgraph variation overrides.
GUI
- Added skybox material rendering to thumbnails, and rotated cubemap thumbnails upright
- Fixed application hang when creating a screenshot with Ctrl+C
- Fixed crash when double-clicking an output target without a
targetname
Renderer
- Added a CS2 first-person viewmodel and first-person legs in walk mode, with a new animation mixer, IK, and tilt-twist constraint solver
- Improved particle simulation timing with min/max simulation time and by carrying excess frame time over to the next tick
- Improved walk mode movement to run at a fixed 64Hz, buffer jump input, and refine step-move collision precision
- Improved physics collision traces to consistently resolve corner-triangle and axis-aligned edge-edge cases
- Separated
vr_unlitinto its own shader, mainly for SteamVR Home - Normalized envmap visualization brightness in
vr_standard - Enabled the "No layer" world layer by default
- Fixed fog in SteamVR Home and Robot Repair
- Fixed
F_TRANSMISSIVE_BACKFACE_NDOTLfor three-layer parallax materials - Fixed value wrapping in particle remap and curve-fitting operators
- Fixed screenshot transparency in the MSAA resolve pass
- Fixed texture debug display
- Fixed several particle operator typos
Library
- Added AnimGraph 2 (NmGraph) decompilation
- Added secondary skeleton linking and improved sync tracks in exported
.vnmclipfiles - Added DMX skeleton writing
- Added LODGroupList export to the vmdl decompiler
- Added bindless texture and sampler output to
ShaderExtract - Improved SPIR-V shader reflection: matched samplers to well-known names, mapped render state values to enum names, added the
RsComparison,RsFilter, andRsTextureAddressModeenums, and fixed binding offsets for older shaders (Half-Life: Alyx) - Improved
VfxRegisterTypeenum coverage with renamed and added members - Added a missing visibility region bit field to
VoxelVisibility - Added
NametoSkeleton - Fixed compute shader buffers being overwritten by globals when decompiling SPIR-V shaders
- Fixed skybox YCoCg texture colors when exporting and previewing
- Fixed UV calculation when exporting cubemaps to an equirectangular (lat-long) image
- Fixed
nmclipdecompile coordinate system,nmskelroot_motionaxis, andnmclipglTF export to include the armature - Fixed missing last set of joints in glTF exports
- Fixed glTF mesh list filtering
- Fixed default bone weights for meshes with 8 bones
- Fixed modeldoc
PhysicsHullFilemissing theparent_boneproperty - Fixed unsanitized modeldoc node names in generic game data
- Fixed modeldoc body group choice names
- Fixed crash parsing materials that omit dynamic param arrays
- Fixed VfxEval float formatting on non-English locales
- Fixed invariant culture handling in more places