Category:QC commands: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(→‎Performance: Added $skinnedlods command)
 
(42 intermediate revisions by 19 users not shown)
Line 1: Line 1:
A '''QC file''' is a [[text editor|text-based]] script which instructs [[Studiomdl]].exe how to compile an [[Studiomodel]] from one or more [[SMD]] files. QC stands for [http://en.wikipedia.org/wiki/Quake_C Quake C] (the scripting language on which the [[Valve Data File]] format is based). A '''QCI file''' is a reusable or generic block of QC commands intended for use as an (optional) [[$include]]. You don't have to use the QCI files, but it can save a lot of work when appropriate. Many example <code>.qc</code> and <code>.qci</code> files can be found under <code>sourcesdk_content/hl2/modelsrc</code>.<!-- // This is useful & concise orientation information. Please do not delete it again. // -->
{{languageBar|Category:QC Commands}}__NOTOC__
 
{{note|This documentation is far from complete. Please see [[Category talk:QC Commands]] for a list of commands yet to be looked at. See [[Qc|QC]] for a description of QC files themselves.}}
{{note|This documentation is far from complete. Please see [[category_talk:QC Commands]] for a list of commands yet to be looked at.}}
{{warning|This documentation is almost exclusively for {{src|4}}; several commands are different or absent in {{gldsrc|4}}. See [https://the303.org/tutorials/gold_qc.htm The303's GoldSrc Model Compile Command Glossary] for accurate GoldSrc reference.
{{todo|Split GoldSrc information that's on these pages into separate pages from their Source counterparts.}}}}


{{category header|background-color=#E0E0E0|border-color=lightgray}}
{{category header|background-color=#E0E0E0|border-color=lightgray}}
{{category newcolumn|rowspan=6|width=50%|background-color=#F7F7F7|border-color=lightgray}}
{{category newcolumn|rowspan=6|width=50%|background-color=#F7F7F7|border-color=lightgray}}


== Getting started ==
== Getting Started ==


*'''[[Compiling a model]]'''
* '''[[Compiling a model]]'''
*[[Qc|QC files]]
* [[QC|QC files]]
*[[Studiomdl]]
* [[Studiomdl]]


== Fundamentals ==
== Fundamentals ==


*[[$modelname]]
* {{ent|$modelname}}
*[[$body]] (or [[$model (QC)|$model]])
* {{ent|$body}} or <code>[[$model (QC)|$model]]</code>


== Textures ==
== Textures ==
*[[$renamematerial]]
* {{ent|$renamematerial}}
*[[$texturegroup]]
* {{ent|$texturegroup}} (multiple skins)
*[[$cdmaterials]]
* {{ent|$cdmaterials}}
*[[$surfaceprop]]
* {{ent|$surfaceprop}}
*[[$jointsurfaceprop]]
* {{ent|$jointsurfaceprop}}
 
== Submodels ==
* {{ent|$bodygroup}} {{not|{{ent|prop_static}}}}
 
== Collisions ==
* '''{{ent|$collisionmodel}}''' and '''{{ent|$collisionjoints}}'''
* <code>[[Prop Data|prop_data]]</code> (using {{ent|$keyvalues}})
* {{ent|$jigglebone}} {{hl2ep2|since}}<noinclude>
* '''{{ent|$hbox}}'''
* {{ent|$hboxset}}
* {{ent|$contents}}
* {{ent|$cbox}}
* {{ent|$bbox}}


== Animations ==
== Animations ==
 
* '''{{ent|$animation}}'''
*'''[[$sequence]]'''
* '''{{ent|$sequence}}'''
*'''[[$animation]]'''
* {{ent|$lockbonelengths}}
*[[$declaresequence]]
* {{ent|$declaresequence}}
*[[$ikchain]]
* {{ent|$ikchain}}
*[[$poseparameter]]
* {{ent|$ikautoplaylock}}
*[[$append]]
* {{ent|$weightlist}}
* {{ent|$poseparameter}}
* {{ent|$proceduralbones}}
* {{ent|$append}}
* {{ent|$prepend}}
* {{ent|$continue}}


== Skeleton ==
== Skeleton ==
 
* {{ent|$root}}
*[[$hierarchy]]
* {{ent|$hierarchy}}
*[[$definebone]]
* {{ent|$definebone}}
*[[$bonemerge]]
* {{ent|$bonemerge}}
*[[$animblocksize]]
* {{ent|$animblocksize}}
*[[$realignbones]]
* {{ent|$realignbones}}
*[[$jointsurfaceprop]]
* {{ent|$renamebone}}
*[[$contents]]
* {{ent|$jointsurfaceprop}}
*[[$jointcontents]]
* {{ent|$contents}}
*[[$alwayscollapse]]
* {{ent|$jointcontents}}
 
* {{ent|$alwayscollapse}}
== Physics ==
 
*[[Prop Data|prop_data]] (using [[$keyvalues]])
*[[$collisionmodel]]
*[[$collisionjoints]]
*[[$jigglebone]]
*[[$weightlist]]
 
== Hitboxes==
 
*[[$hboxset]]
*[[$hbox]]


{{category newcolumn|rowspan=1|width=50%|background-color=#FBF7EA|border-color=#E4DCCD}}
{{category newcolumn|rowspan=1|width=50%|background-color=#FBF7EA|border-color=#E4DCCD}}


== Utility ==
== Utility ==
 
* '''{{ent|$keyvalues}}'''
*'''[[$keyvalues]]'''
* {{ent|$include}}
*[[$include]]
* {{ent|$includemodel}}
*[[$includemodel]]
* {{ent|$scale}}
*[[$scale]]
* {{ent|$autocenter}}
*[[$autocenter]]
* {{ent|$upaxis}}
*[[$upaxis]]
* {{ent|$pushd}} and {{ent|$popd}}
*[[$pushd]]
* {{ent|$definemacro}} and {{ent|$definevariable}}
*[[$popd]]
* {{ent|$continue}}
*[[$definemacro]]
* {{ent|$cmdlist}}
*[[$continue]]
* {{ent|$centerbonesonverts}}
*[[$cmdlist]]


{{category cell|background-color=white|border-color=white}}
{{category cell|background-color=white|border-color=white}}


== Performance ==
== Performance ==
 
* {{ent|$staticprop}}
*[[$staticprop]]
* {{ent|$shadowlod}}
*[[$lod]]
* {{ent|$collapsebones}}
*[[$shadowlod]]
* {{ent|$alwayscollapse}}
*[[$collapsebones]]
* {{ent|$opaque}}
*[[$alwayscollapse]]
* {{ent|$mostlyopaque}}
*[[$opaque]]
* {{ent|$animblocksize}}
*[[$mostlyopaque]]
* {{ent|$sectionframes}}
*[[$animblocksize]]
* {{ent|$noforcedfade}}
*[[$sectionframes]]
* {{ent|$lod}}
* {{ent|$skinnedlods}}
* {{ent|$maxverts}}


{{category cell|background-color=#FBF7EA|border-color=#E4DCCD}}
{{category cell|background-color=#FBF7EA|border-color=#E4DCCD}}
Line 92: Line 100:
== Lighting ==
== Lighting ==


*[[$illumposition]]
* {{ent|$illumposition}}
*[[$constantdirectionallight]]
* {{ent|$constantdirectionallight}}
*[[$ambientboost]]
* {{ent|$ambientboost}}
* {{ent|$casttextureshadows}}
* {{ent|$donotcastshadows}}


{{category cell|background-color=white|border-color=white}}
{{category cell|background-color=white|border-color=white}}


== Facial animation ==
== Facial Animation ==


*'''[[$model (QC)|$model]]'''
* '''<code>[[$model (QC)|$model]]</code>'''
*[[$eyeposition]]
* {{ent|$eyeposition}}


{{category cell|background-color=#FBF7EA|border-color=#E4DCCD}}
{{category cell|background-color=#FBF7EA|border-color=#E4DCCD}}


== Locations ==
== Locations ==
 
* {{ent|$attachment}}
*[[$attachment]]
* {{ent|$origin}}
*[[$origin]]
* {{ent|$collisiontext}} (gibs)
*[[$collisiontext]] (gibs)
* {{ent|$autocenter}}


{{category end}}
{{category end}}
__NOTOC__
[[Category:Modeling]]
[[Category:Modeling]]

Latest revision as of 20:14, 26 August 2025

English (en)Español (es)Français (fr)한국어 (ko)Português do Brasil (pt-br)Русский (ru)Translate (Translate)
Note.pngNote:This documentation is far from complete. Please see Category talk:QC Commands for a list of commands yet to be looked at. See QC for a description of QC files themselves.
Warning.pngWarning:This documentation is almost exclusively for Source Source; several commands are different or absent in GoldSrc GoldSrc. See The303's GoldSrc Model Compile Command Glossary for accurate GoldSrc reference.
Todo: Split GoldSrc information that's on these pages into separate pages from their Source counterparts.

Getting Started

Fundamentals

Textures

Submodels

Collisions

Animations

Skeleton

Utility

Performance

Lighting

Facial Animation

Locations

Subcategories

This category has the following 4 subcategories, out of 4 total.