вернуться на beanet.ru вернуться к списку проектов вернуться на главную страницу сборника

Тема: Файл QC


Ключевые слова: описание компиляции модели примеры qc qci

См. также:
Список используемых понятий, сокращений и обозначений

перейти к общему списку

Общий принцип создания моделей таков: создается базовый (ссылочный/коллизии) *.smd-файл модели, состоящий из одного кадра "анимации". Т.е. анимации как таковой в нем нет, он задает основной вид модели (позиция по-умолчанию). Затем создаются *.smd-файлы анимаций, берущие за основу базовый файл (т.е. "привязанные" к нему).
Программа для компиляции набора *.smd-файлов в полноценную Source-модель (которую можно добавлять на карту, использовать в игре) - studiomdl.exe - основывается на данных, получаемых из *.qc-файла, описывающего данную модель. *.qc-файл описывает, как будет выполняться сборка Source-модели.

Примечание: аббревиатура QC расшифровывается как Quake C, т.е. C-подобный скриптовый язык, разработанный для игры Quake (http://en.wikipedia.org/wiki/Quake_C). По неподтвержденным данным, движок Half-Life 2 содержит элементы движка Quake (движок Half-Life был основан на движке Quake).


Есть также *.qci-файлы, которые содержат типовые и часто используемые QC-команды. Такие файлы можно включать в *.qc-файлы - подобно заголовочным *.h-файлам в C++. Только в *.qci-файле содержатся те же самые команды, что и в *.qc-файле. Это своего рода "макросы".
Грамотное использование таких включений сильно облегчает и сокращает подготовку модели к компиляции.

Примечание: в каталогах sourcesdk_content/hl2/modelsrc, sourcesdk_content/hl2mp/modelsrc и sourcesdk_content/cstrike/modelsrc находятся примеры файлов *.qc и *.qci, которые рекомендуется изучить.


Пример *.qc-файла для статической (без анимаций) модели, в частности, подходящей для использования в энтити prop_static
      $modelname    "props_sdk/myfirstmodel.mdl"
      $body mybody  "myfirstmodel-ref.smd"
      $staticprop
      $surfaceprop  combine_metal
      $cdmaterials  "models/props_sdk"

      $sequence idle    "myfirstmodel-idle.smd" loop fps 15

      $collisionmodel   "myfirstmodel-phys.smd" { $concave }



Статьи (рус): http://developer.valvesoftware.com/wiki/QC_command:ru
Статьи (eng): http://developer.valvesoftware.com/wiki/Category:QC_Commands

перейти к общему списку

Номер статьи: 32

Сборник полезной информации по созданию модификаций на движке Valve Source Engine (игры Half-Life 2, Episode One, Episode Two)