nyuuzyou/wikis huggingface dataset:
$upaxis

It tells StudioMDL which axis should be considered 'up' in the model files below it. This is sometimes necessary because not every modeling package treats Z as the up axis, such as Maya. If unspecified, the up axis s Z.
== Syntax ==
 $upaxis <X|-X|Y|-Y|Z|-Z>
== Exporters ==
This command is mostly used by Valve for reorienting models created in Maya, which treats the Y axis as up unlike the game engine itself (and many other modeling packages), which use Z.
;These exporters generally need $upaxis (Don't usually treat the Z axis as 'up'):
:Maya (Y)
;These exporters generally don't need $upaxis (Already treat the Z axis as 'up'):
:XSI
:3DS Max
:MilkShape 3D
:Blender
== See also ==
* Modeling
upaxis
Category:Maya
$vertexcolor and $vertexalpha

$vertexalpha and $vertexcolor are two VMT commands that make the surface derive its alpha and color values from per-vertex data provided by the engine.
Only particles and decals are known to modify their vertex data, but it should be possible to implement your own scenarios, too. Vertex alpha and color cannot be compiled into a model, however.
For HUDs in , the parameter $vertexalpha is needed in order to make the alpha parameter of working.
LightmappedGeneric and UnlitGeneric materials support per-vertex alpha; however, a few conditions must be met:
* $vertexalpha must be set to 1
* $vertexcolor must be set to 1 (except on UnlitGeneric)
* The surface must be a displacement.
** You can use the "paint alpha" tool to paint the alpha.
There are some additional caveats.
* You can define a second base texture, but it will be invisible.
* Materials with $vertexalpha 1 will render as translucent materials and thus suffer from the same sorting issues and caveats as materials with $translucent.
v
$weightlist

It defines the influence to which each bone in a model is affected by a $sequence or $animation. For example, you could set the weight of the leg bones to 0 to only animate the top half of the skeleton.
A $weightlist can be reused as many times as is needed. It must come above anything that uses it in the QC.
== Usage ==
$weightlist my_weightlist {
	<bone> <weight>
	<bone> <weight>
	...
}
$sequence my_weighted_anim "my_anim.smd" weightlist my_weightlist
Bones inherit weight from their parents, and all root bones start with a weight of 0.
$weightlist no_hands {
	"Bip01_Pelvis" 1.0
	"Bip01_LHand" 0.0
	"Bip01_RHand" 0.0
}
$weightlist head_and_arms "Bip01_Spine2" 1.0
$Weightlist UpperbodyBlend {
	"Bip01_Pelvis" 0.1 
	"Bip01_L_Thigh" 0.0 
	"Bip01_R_Thigh" 0.0 
	"Bip01_Spine" 0.2 
	"Bip01_Spine1" 0.4 
	"Bip01_Spine2" 0.6 
	"Bip01_Spine4" 0.4
	"Bip01_L_Clavicle" 0.8
	"Bip01_L_Upperarm" 1.0
	"Bip01_R_Clavicle" 0.8
	"Bip01_R_Upperarm" 1.0
}
==== PosWeight ====
optionally you can set posweight option right after bone weight value to also set weight for location translations on top of declared weight. Useful for blend different length skeleton animations or even disable position translations. 
$weightlist rotate_but_dont_move {
	"Bip01_Pelvis" 1.0 "posweight" 0.0
}
== See also ==
* Subtracted animations
weightlist
%CompileLadder

Compiles brushes textured with this material as having ladder contents, meaning players will be able to climb up it. In some games, the material should be applied to a func_ladder brush entity in order for the navigation mesh to recognize it and to allowing NPCs to climb the ladder.
Materials with this flag are visible to players, unless %compilenodraw is also used. All ladders found so far also make use of %CompilePassBullets, as this function is not inherited by %CompileLadder already.
===Examples===
tools/ToolsInvisibleLadder.vmt is a ladder that is not visible to players.
"LightmappedGeneric"
{
	"$basetexture" "Tools/toolsinvisibleladder"
	"%compilenodraw" 1
	"%compilepassbullets" 1
	"%compileladder" 1
	"%keywords" "airexchange,borealis,c17downtown,c17industrial,c17sewers,c17skyscraper,c17trainstation,combine,kraken,wasteland"
}
An improved version that does not cut visleaves would look like so:
"LightmappedGeneric"
{
	"$basetexture" "Tools/toolsinvisibleladder"
	"$translucent" 1
	"%compileladder" 1
	"%compiledetail" 1
	"%compilenodraw" 1
	"%compilepassbullets" 1
}
Metal/MetalLadder001a.vmt is visible to players.
"LightmappedGeneric"
{
	"$basetexture" "Metal/metalladder001a"
	"$surfaceprop" "metal"
	"%compileladder" 1
	"$alphatest" 1
	"%compilepassbullets" 1
}
Tools/Climb_Versus.vmt is only visible to infected players, due to the proxies.
UnlitGeneric
{
	$basetexture "tools\climb"
	$additive 1
	"%compileTeam" 2
	"%compilepassbullets" 1
	"%compileladder" 1
	$proxRange 0.0
	$proxTeam 1.0
	$one 1.0
	Proxies
	{
		PlayerTeam
		{
			team 3 
			resultVar $proxTeam
		}
		Subtract
		{
			srcVar1 $one
			srcVar2 $proxRange
			resultVar $alpha
		}
		Multiply
		{
			srcVar1 $alpha
			srcVar2 $proxTeam
			resultVar $alpha
		}
		TextureScroll
		{
			texturescrollvar $baseTextureTransform
			texturescrollrate 1
			texturescrollangle 90.00
		}
	}
}
Category:Material System
Category:Shader parameters
%CompileNoLight

When this parameter is added to materials, it will tell VRAD to not compile a Lightmap page for that material, which saves compile time. Valve introduced this parameter with Alien Swarm, using it with tools/toolsnolight.vmt, the black areas you see in the levels.
Useful for LightmappedGeneric where you need to use some parameters that UnlitGeneric lacks.
==Syntax==
 %compileNoLight 1
Category:Material System
Category:Shader parameters
%CompileSlime

Compiles the texture as a slime texture. In most games, the differences between slime and water are purely cosmetic, and a separate trigger_hurt will be necessary to cause slime to do the expected damage.
Example:
 UnlitGeneric
 {
 $basetexture "liquids/custom_slime"
 $bottommaterial "liquids/custom_slime"
 %compileslime 1
 $nocull 1
 }
== See also ==
* 
Category:Material System
Category:Shader parameters
%CompileTeam

Compiles the texture to only affect a specific team. For example, the climb texture is a ladder that only lets infected climb up it.
However, making a texture visible to only one team requires Proxies. As seen in the example below.
Example:
 UnlitGeneric
 {
 	$basetexture "tools\climb"
 	$additive 1
 	"%compileTeam" 2
 	"%compilepassbullets" 1
 	"%compileladder" 1
 
 	$proxRange 0.0
 	$proxTeam 1.0
 	$one 1.0
 	
 	Proxies
 	{
 		PlayerTeam
 		{
 			team 3 //Note: "%compileTeam" and this "team" use different numbers. Because that's just how it is coded.
 			resultVar $proxTeam
 		}
 		Subtract
 		{
 			srcVar1 $one
 			srcVar2 $proxRange
 			resultVar $alpha
 		}
 		Multiply
 		{
 			srcVar1 $alpha
 			srcVar2 $proxTeam
 			resultVar $alpha
 		}
 		TextureScroll
 		{
 			texturescrollvar $baseTextureTransform
 			texturescrollrate 1
 			texturescrollangle 90.00
 		}
 	}
 }
Category:Material System
Category:Shader parameters
%CompileTrigger

Compiles the texture to be used for a Trigger. Effectively identical to %CompileNoLight, except when VBSP is compiled with .
Generally "Tools/toolstrigger" could be used for any trigger, but if a mod/map has multiple types of brush entities that use Tools/toolstrigger, one could make multiple tool textures to differentiate the types of entities easier, such as , , , , etc.
==Example==
Example uses , however also works as well; %CompileTrigger implies %CompileNoLight.
Category:Material System
Category:Shader parameters
%CompileWater

Compiles the texture as having water contents (CONTENTS_WATER).
Example:
 LightmappedGeneric
 {
 $basetexture "liquids/custom_water"
 $bottommaterial "liquids/custom_water"
 %compilewater 1
 $nocull 1
 }
== See also ==
* 
Category:Material System
Category:Shader parameters
%keywords

Keywords allow you to filter textures inside Hammer Editor's material browser. Since the default material search only filters by material name or folder name, you can use these keywords for cases where textures may fit together, but are not in the same folder.
For example, uses the keyword "Combine" to filter all metal, glass, computer and other combine related materials that would be all over the material folders of the game.
You may also add a keyword named after your map or mod to be able to find all custom materials with ease.
==VMT Syntax Example==
"WorldVertexTransition"
{
	"$basetexture" 	"nature/cliffface002a"
	"$basetexture2" "nature/dirtfloor004a"
	"%tooltexture" 	"nature/blendcliffdirt001a_tooltexture"
	"$basetexturetransform"	"center .5 .5 scale 1 1 rotate 0 translate 0 0"
	"$basetexturetransform2"	"center .5 .5 scale 4 4 rotate 0 translate 0 0"
	"%keywords" "wasteland,c17"
}
Entering "wasteland" into the keywords field in the hammer texture browser would show only textures with the "wasteland" keyword. This is useful for categorizing your textures for easier finding.
==Used Keywords==
The following keywords are used in Source games:
===Half-Life 2===
*c17citadel
*c17downtown
*c17industrial
*c17sewers
*c17trainstation
*coastline wasteland
*combine
*wasteland
===Portal===
*portal
===Team Fortress 2===
*tf
==See also==
* Material
* Material Editor
* :Category:List of Shader Parameters
Category:Shader parameters
Category:Material System
%tooltexture

Used for blend texture previews in Hammer's texture browser.
When using a preview tooltexture in a material, the material is scaled up or down to the size of the tooltexture. If the material is a blend of two 1024x1024 textures but your tooltexture is only 256x256, the 1024x1024 textures will be scaled down to the much lower quality of 256x256. Unfortunately, this means that the tooltexture cannot be made smaller to save space (since nobody will see it in-game). You'll need a preview tooltexture as large as you want the texture to display within the engine.
 WorldVertexTransition
 {
 $basetexture dirt/blend1_mountain_dirt_a1
 $basetexture2 dirt/blend2_mountain_dirt_a1
 %tooltexture preview/blend_mountain_dirt_a1
 $bumpmap dirt/blend_mountain_dirt_a1-ssbump
 $ssbump 1
 %detailtype desert1
 $detail dirt/blend_mountain_dirt_a1_DM
 $surfaceprop dirt
 $surfaceprop2 rock
 }
Without a tooltexture, Hammer will only show your first $basetexture, making it impossible to see the blend in the texture browser. 
 
Category:Shader parameters
-vrdebug

Half-Life: Alyx command-line parameter:
Valve Comments:
If you don't have a VR device, you can run with -vrdebug to see vr rendering as a side-by-side stereo render.
Summary:
Allows you to avoid VR requirement to launch the game. Otherwise Error:
"SteamVR failed initialization with error code VRInitError_Init_HmdNotFound: "Hmd Not Found (108)"
"Please verify SteamVR is properly installed and try again."
Usage:
SteamLibrary-> Half Life: Alyx -> Properties -> General Tab -> Set Launch Options -> "-vrdebug"
360g

360g is a program written by Judokus for handling textures and materials. It can convert BMPs or TGAs to VTF with drag and drop, and VMT files are similarly as easy to generate. Also has support for generating bumpmaps from an albedo. 
The official website appears to be gone, but a mirror exists below.
== External links ==
* Download (English and German)
Category:Third Party Tools
Category:Material System
3DSMax Tools

==3ds Max Exporter==
Exports a Half-Life 2 SMD from 3ds Max.
, supports Physique, Skin, and Bones Pro. Supports blending of vertices.
This is a modified version of the SMD exporter included in the SourceSDK.
==3DS Max Importer==
Loads both reference and animation SMD's. Supports weights in the SMD file and will create a skin modifier for the reference model. Rebuilds the smoothing groups from the vertex normals in the SMD file .
==Cannonfodder's other source engine tools==
*
*
*
*
==External links==
3DS MAX Tools Homepage
Category:Third Party Tools
3DSMax VTF plugin

allows you to use VTF format textures in 3DS Max versions 9,2008-2012,2017-2018 without the need to convert them to another format, such as TGA.
Images are converted to RGBA8888 format on import and HDR images are downsampled to 8-bit. Animated textures import only the first frame, likewise, cubemaps import just the first face.
== External links ==
* 3DSMax VTF plugin - the download page.
* Authors Homepage
Category:Third Party Tools
Category:3DS Max
3DS Max

is one of the most popular modeling programs in game design, it is a very powerful toolbox. Discreet, a division of Autodesk, makes this program along with several others for creative professionals, in not only the entertainment software industry, but for motion pictures, visualization, architecture, and many other professions. 3ds Max comes with several options for modeling solids, including polygonal modeling, NURBS modeling, and patch modeling.
GMax, a free version of this program specifically designed for modding games has been discontinued.
You can now use 3ds Max as your level editor with Wall Worm. You can learn more about this by reading Hammered to the Max: A Hammer User's Guide to 3ds Max.
== Tutorials ==
* Making flexes using 3ds Max by Cannonfodder commented by Snotball
* Creating Flex VTA files with 3D Studio Max using Wunderboy's VTA exporter.
== Plugins ==
* .DMX .SMD Importer and Exporter, VTA Exporter by Game Zombie
* Wall Worm Pro Complete Source Engine Pipeline by WallWorm
* VTF texture support plugin By Wonderboy
* .SMD exporter (Max 9,2008-2012,2017-2020) By Wonderboy
* .SMD importer (Max 9,2008-2012,2017-2020) By Wonderboy
* .VTA exporter (Max 9,2008-2012,2017-2020) By Wonderboy
Older Tools:
----------
* .smd Exporter and Importer by Cannonfodder
* Game Level Builder .map Exporter by Maple3D 
**Note: This plugin has been retired by the developer. An older version is still available on the developer's site.
* Convexity .VMF Exporter by Maple3D 
*Sky Writer
== External links ==
* 3ds Max Indie - Indie License of 3ds Max
* Autodesk Official website.
* 3ds Max Official product page.
* 3ds Max 2017 Video Tutorial Introduction and Modeling Tutorial Series by TopHattWaffle.
Category:Third_Party_Tools
Category:3DS_Max
Category:Third Party Source 2 Tools
3D Modeling Programs

is mostly used for making props and characters, but can also be used for generating textures.
* For Source Modeling, the model editor application must be able to export models in Valve's SMD format. 
=== With Half-Life: Source model exporter ===
*kHED - a free and simple modeling program.
*3DS Max - a high end suite for animation, modeling and rendering. one of the industry's best. Has a large support network and many plugins. Valve used 3DS MAX for the original Half-Life (hence the name of studiomdl.exe and .smd) there for exporters exists for all versions from 3 to 9, importers for .smd also exists for most versions as well as a .vta exporter and .vtf importer.
*Blender - a high end, free, open-source, suite for animation, modeling and rendering.
*Cinema 4D - a popular modeling program, especially in TV media. It is a powerful toolbox. It's exporter currently only support static prop exporting.
*fragMOTION - a low end modeling and animation suite, but it has tight integration with the structure of half-life models and supports weighted vertexes. FragMOTION comes with .smd importer and importer as well as .vtf importer.
*GMax - a discontinued free version of 3ds Max currently distributed by Turbo Squid. Both, an .smd exporter and importer exist for GMax.
*Maya - a high end suite for animation, modeling and rendering. An advanced .smd and .vta exporter exists as well as a limited .smd importer.
*MilkShape 3D - a low end, popular and simple to use 3D modeling program. Comes with .smd exporter and importer.
*LightWave 3D - an excellent mid range modeling and animation suite. Currently, a LightWave-only exporter supports static props.
*Autodesk Softimage - (formerly Softimage XSI) an excellent mid to high end modeling, animation and rendering suite. Valve used Softimage for most models in Half-life:Source, the Softimage Mod Tool exporter can be used with a little modification.
*Softimage Mod Tool - (formerly XSI Mod Tool) a free version of Softimage with limited capabilities compared to the full version of Softimage. Valve developed the exporter for the Softimage Mod Tool together with the Softimage developers, and as a result the exporter has full support for importing and exporting .smd and exporting of .vta.
=== Without Half-Life: Source model exporter ===
*Wings 3D - a free, open source Nendo-like natural modeling .
*Clara.io - online 3D editor - a free 3D modeling and animation package similar to 3DS Max and Maya but it runs in the web browser using WebGL.
Category:External Sites
Category:Third Party Tools
Category:Hubs
3D model

A 3D model (hereinafter referred to as the "model") is a collection of points, or vertices, that form a 3D shape known as a mesh. The gaps between the points are usually filled with polygons, and these polygons are usually covered with a material.
Models are used for almost every 3D object in Source that isn't a part of a map's underlying brush geometry. NPCs, physics objects, guns, and sometimes even buildings are all models.
Models are created in external modelling packages that are not part of the Source SDK. Valve currently uses Maya, but there are other options. The SDK tool studiomdl is used to compile files exported from a modelling package into the binary format that Source understands.
To ensure consistency an entity will normally choose its own world model; the three main exceptions to this are , , and .
== Why use a model? ==
; Detail
: A model can have many, many times more vertices than a brush. Level of detail allows the detail to be toned down when it is too far away to be appreciated, improving performance.
; Skeleton and vertex animation
: Detailed and lifelike animation can be achieved with a model. Walking, talking, running, jumping!
; Dynamism
: Unless specifically made to behave otherwise, a model's position, lighting and animation are all completely dynamic. They can go anywhere and do anything.
; Replication
: Every instance of a model is guaranteed to look the same, and you can change all of them at once by modifying one small set of files.
== Console commands ==
; 
: Reload all models from disc.
; 
: Print the name of the model under the crosshair to the screen.
== See also ==
* , and 
* Viewmodel
* :Category:World Models
* Half-Life Model Viewer
* Anatomy of a Model
* Model Creation Overview
* CBaseAnimating
* Prop Download Sites
* :Category:Modeling
* MDL (Model file formats)
Category:Glossary
Category:Level Design
Category:Modeling
3Dcoat

is the one application that has all the tools you need to take your 3D idea from a block of digital clay all the way to a production.
::-Steam store page description
== Features ==
* Live Clay "dynamic tessellation" sculpting tools. With Live Clay you won't bother anymore about resolution of your entire object, as now you'll have desired level of details only where you need it! 
* Painting emissive and colored specular introduced 
* Painting over voxels/vertex painting introduced
* Possibility to retopo big meshes 10-50M and more 
* Spline drawing mode 
* Texture baking functions
* High-speed boolean operations in surface mode, hardsurface modeling with sharp edges 
* Special tools for Product/Prototype modeling 
* Scripting via "C++ like" – Angelscript
* Export directly to the Team Fortress 2 and DOTA2 workshop
==External links==
* Steam Store Page
* Official Website
Category:Third Party Tools
Category:Modeling
3x3 Sliding Puzzle

This prefab really shows the capabilities of mapping on the Source engine. The puzzle randomly shuffles itself 50 steps (without bouncing the same piece) on map spawn. Once the puzzle is completed, the missing piece is shown.
 1 func_illusionary
 1 info_player_start
 1 light_environment
 1 logic_auto
 1 logic_timer
 5 logic_relay
 8 point_teleport
 9 filter_activator_name
 10 env_texturetoggle
 10 func_button
 11 logic_case
 19 func_brush
 24 func_train
 24 logic_branch
 25 logic_compare
 25 math_counter
 32 trigger_multiple
 48 path_corner
 -------------------------
 255 entities
After editing the puzzle in large scale, it was made into a prefab and created in the desired location using the Block Tool in bounds of 11x32x32 with Texture Scale Lock enabled. The reset relay was then hooked up to a button. The puzzle was also hooked up to a timer and a move counter. The custom materials used are bspzipped into the map.
Category:Prefabs
64-bit mode with Source SDK

The current Source SDK release has issues starting up on systems running the Source engine in 64-bit mode with the 64-bit version of Windows XP.
To correct the problem:
# In the Steam Games window, right-click on Half-Life 2 (or any installed Valve game you want to run) and select the Properties option.
# Then select Set launch options... and add the line -32bit to the edit box.
# Close the dialog and launch the game you just edited (ie. Half-Life 2). When it has successfully started up, close the game.
You should now be able to run the SDK on your 64-bit OS. Note, however, that if you run any of your Valve games without the -32bit option, your SDK will go back to being incompatible and you'll need to repeat this process.
This means that if you run a game through Hammer, you'll also need to launch that game with the -32bit command line parameter as well. The same is true running a game from a batch file, command line, etc.
Category:Source_SDK_FAQ
99 Bolts

is an action/survival FPS set in the Half-Life 2 universe; several years after the Seven Hour War, but several years before City 17 is destroyed.
The player will traverse a vast expanse of nuclear wasteland sitting on the outskirts of a Combine-controlled city.
Alongside a scavenged arsenal of pistols and machine guns, the player must use 99 crossbow bolts wisely and eventually assassinate the city's entire chain of command - including its violent and enigmatic adminstrator, Winona.
== Features ==
* A broad wasteland to explore and pillage.
* You can snipe to your heart's delight with 99 crossbow bolts (but use them wisely).
* An interesting take on the aftermath of the Seven Hour War.
== History ==
* May 2009 - Concept sketches for 99 Bolts maps began
* Jun 2009 - The Mod DB page for the mod was started, alongside Hammer mapping.
* Aug 2009 - 2 maps are released to the community to serve as a "proof of concept" for the mod.
** The link is here: http://www.moddb.com/mods/99-bolts/news/first-playtest-last-hour-for-old-maps
* Intervening time - Three people have volunteered their assistance with the mod.
* Nov 2009 - 99 Bolts joined forces with another mod (In Development) to increase manpower and combine skills. The partnership dissolves within 12 months but much work is accomplished throughout the year.
* Jun 2010 - 99 Bolts enters "radio silence", marking the beginning of a much less formal update process.
** Sporadic updates have occurred since then, mostly in the form of new images with news in the descriptions.
== Team ==
* Zonbie - Project Lead - Started learning Hammer in January 2009. He's got a script written for the whole mod and he's doing all the mapping.
* Bekey - Texture Artist - Accomplished modder for the Source engine. Volunteered to help by providing texture assets, both commissioned and of his own design.
* Tidus - Model Artist - Volunteered to help by providing model assets, all commissioned.
== External links ==
*