Открыть файл smd. Расширение файла SMD. Как открыть ваш файл SMD

Что такое QC файл.

QC файл, это своеобразный конфиг. файл. На деле это обычный txt содержащий команды начинающиеся со знака $, на пример $model.
Так-же там может быть туча всяких сверх непонятных параметров, вроде дополнительных аттач точек, контроллеров глаз, контроллеров flex анимации и много чего прочего.

Для редактирования QC файла может подойти хоть штатный блокнот из винды, но я бы предложил использовать что-то более продвинутое вроде AkelPad или Notepad++.

Для Notepad++ есть фанатский файл, добавляющий подсветку синтаксиса для VDF языка (qc / vmt / vta / vdf / fgd / vbsp и др.)
Скачать / установить - https://developer.valvesoftware.com/wiki/Notepadpp_VDF_languages

Пример базового QC файла

$modelname "mymodels\testmodel.mdl" $model "studio" "testmodel_reference.smd" $cdmaterials "models\mymodels\testmodel\" $surfaceprop "metal" $sequence idle "testmodel_idle.smd" act_idle fps 30.00 $collisionmodel "testmodel_col.smd" { $concave $mass 100.0 }

$modelname "mark2580/testmodels/test.mdl"

Параметр, который должен присутствовать в любом QC файле и желательно в самой первой строке.
Он определяет имя и путь до модели. По умолчанию если просто написать например test.mdl то модель скомпилируется в корень папки models игры (мода) .../hl2/models/

Т.е. папку models не надо указывать, если надо в корень то пишем имя модели.mdl и всё.
Если надо путь то пишем например

mymodels/folder1/folder2/test.mdl

$model "studio" "testmodel_reference.smd"


Параметр, указывающий какой SMD исходник использовать для компиляции модели. Таких параметров может быть более одного... Лимита не знаю, но как минимум 10 запросто.

"studio" - здесь можно указать любое название которое вздумается, это может быть только английский текст, без пробелов. Например "moyamodel1" или "moyamodel_testref"
По сути эта часть ни на что не влияет, её суть проявляется в параметре боди-группы, но о них немного позже.

"testmodel_reference.smd" - здесь указывается имя SMD файла. Файл должен находится в этой же папке, что и сам QC файл. Если не хочется разводить с.рач, то можно создать подпапку, положить файл туда и уже написать например так

$model "studio" "papka2/testmodel_reference.smd"


Каждый $model пишем с новой строки!

$cdmaterials "models\testmodel\textures\"


Параметр, отвечающий за поиск моделью текстур, которые используются на ней.
Здесь указываются пути до папок, в которых будет производится поиск.
Как в случае с $modelname, папку hl2/materials не надо указывать, по умолчанию если просто стоят "" или "/" поиск будет производиться только в hl2/materials (ну или вашмод/materials)

Советую складировать текстуры ДЛЯ МОДЕЛЕЙ в папки после materials/models, чтобы не было проблем например с Hammer Editor, он не может использовать шейдер для моделей и такие текстуры находящиеся не в models будут засорять браузер текстур. Да и вам удобней будет искать в materials/models/....

Параметров $cdmaterials может быть так-же много, каждый пишем с новой строки.
Поиск производится ТОЛЬКО в указанных папках, в следующих подпапках модель уже ничего не увидит.
Переадресацию можно будет сделать только прописав другой путь в самом VMT файле.


Мулипусенький параметр, отвечающий за то, будет ли модель статичной, т.е. просто какой-то проп на карте или эта модель сможет быть динамической, т.е. её можно будет крепить к чему-то, её можно передвигать, менять скины, запускать анимации.
Динамическая модель находится всегда в памяти игры и грузит вычислительные мощьности. По этому всякое окружение надо делать с параметром $staticprop
Никаких дополнительных приписок он не требует.

Если этого параметра нет - модель автоматически считается динамической, т.е. prop_dynamic

В случае, если модель компилируется для SFM, а не для карто-строения можно вообще игнорировать этот параметр.

$surfaceprop "glass"


Параметр, отвечающий за "свойства" материала, из которого сделана модель.
К сожалению Source поддерживает только одно свойство на всю модель, по этому бывает, что некоторые модели состоят из нескольких отдельных MDL файлов, чтобы например стекло в машине было стеклом, а сама машина железной.

Для физических моделей вроде ящика, бочки... всего, что можно переместить, оттолкнуть выстрелом, откинуть монтировкой.... нужен ещё один парметр, о нём ниже. (см. $keyvalues)

Для SFM возможно этот параметр даже и не нужен, там "нету физики". Пожалуй этот параметр и колизия модели пригодится если надо будет например стрелять по этой модели.

$sequence idle "testmodel_reference.smd" act_idle 1 fps 30.00


Параметр, указывающий подключение анимации к модели. Любая модель даже статик проп, должна содержать IDLE анимацию.
IDLE анимация, это просто состояние костей в модели так сказать в стандартном её состоянии / положении.

Сверх подробно о этом параметре я рассказывать не буду, да и сам не очень то шарю.
Расскажу самое основное.

"idle" - название анимации, по идее не больно то и на что влияет
"testmodel_reference.smd" - smd исходник, для моделей у которой не должно быть анимаций, или это даже статик, можно просто указать саму модель, из неё возьмутся только кости и их координаты + анимация если она там есть.
"act_idle" - вроде как указывает, что это анимация по умолчанию, анимация простоя... всегда так писал для всех моделей, будь они статик, динамик или даже рэгдолл.
Данные части используются для так скажем кодовых имён анимаций, чтобы сам код движка обращался к модели используя эти анимации.
"1" - честно говоря загадочная цифра, я так и не понял, что она означает. Чаще всего в случае с и idle тут стоит 1... и вот как бы так ¯\_(ツ)_/¯ без 1 не скомпилится.
"fps 30.00" - скорость анимации. По умолчанию 30 это норма, можно искусственно замедлить или ускорить уже готовую анимацию, всего лишь изменяя это число.

$collisionmodel

$collisionmodel "testmodel_col.smd" { $concave $mass 100.0 }

Параметр, отвечающий за колизию (модель столкновений) модели.
Т.е. это модель, по которой мы бьём монтировкой, в которую попадают пули и прочее, на её основе на основную модель уже наносятся в нужных местах декали повреждений.

"testmodel_col.smd" - smd исходник. Модель колизии должна состоять из минимального кол-ва мешей, они обязательно должны быть замкнутыми (вроде куба) и иметь на ВСЮ модель только 1 группу сглаживания. Так-же на модели должна быть ЛЮБАЯ текстура, это не на что не влияет, главное чтобы был какой-то ID на модели.

"$concave" - указывает, что модель столкновений должна быть ну скажем "фигурной" чтоли...
Т.е. представьте, берём какой-то предмет, обтягиваем его плёнкой и получается что-то бесформенное, так будет выглядеть колизия, если не указать этот параметр.
"$mass 100.0" - вес модели в килограммах. По Wiki это "типа" килограммы, но на деле в игре 100/200 игрок поднимает как пушинку. Для основательных моделей советую прописывать вес от 300 и более.
"$maxconvexpieces 99" - позволяет превысить лимит "блоков" из которых состоит модель колизии. Советую это делать только в крайних случаях. 99 - макс количество блоков.

Есть ещё несколько параметров, но они не слишком важны. О них можно прочитать на WIKI - https://developer.valvesoftware.com/wiki/$collisionmodel

В случае с SFM модели не нужна колизия вообще. Вы можете не указывать этот параметр.
Но на всякий случай, можно опять же указать саму модель, сгенерируется ужасная модель колизии, будет много матов от компилятора, но меньше вопросов от движка.

* Доп-ные и не обязательные *

Ниже будут перечисляться дополнительные и не обязательные параметры, без которых компиляция модели пройдёт вполне успешно.

$texturegroup "skinfamilies" { // это 1й скин модели (по умолчанию) его ID 0 { "textura_1.vmt" "skin_1.vmt" } // это 2й скин модели его ID 1 { "textura_2.vmt" "skin_2.vmt" } // далее будут 3,4,5 итд. }


Параметр, отвечающий за скины модели. Т.е. смену какой-то текстуры на другую.
Первая и последняя фигурные скобки содержат блоки информации о скинах.
Во внутренних фигурных скобках содержатся сами имена текстур.

Логику построения блока скинов, лимиты и прочее можете почитать в моём гайде про рекомпил моделей.

В категории "Прописываем новые скины"

$BodyGroup "bg1" { studio "testmodel_ref_bg_1.smd" }


Параметр отвечающий за боди-группы модели. Боди группы, это такие дополнительные части модели, которые можно скрывать или показывать.

"bg1 " - название группы
studio "testmodel_ref_bg_1.smd" - smd исходник модели группы, модель обязательно должна содержать такие-же кости как и сама основная модель!

Таких блоков может быть много (лимит не знаю, но более 20 точно). Каждый блок начинается с $bodygroup и содержит в фигурных скобках модель, путь до неё можно указывать как рассказывалось выше.
Каждая боди-группа может состоять только из 1 модели.


Параметр отвечающий за размер модели.
Если вам лень переделывать модель, можно добавить этот параметр и насильно увеличить или уменьшить модель во время компиляции.

1.0 - это стандартный размер модели (по умолчанию). Если не надо производить никаких манипуляций с размером, то этот параметр вообще не нужен.

Т.е. если вы укажите например 0.5, то модель скомпилится в размере в 50% от её исходника, если укажите например 2.0 то модель будет больше в 2 раза.

ВНИМАНИЕ: ни в коем случае не используйте данный параметр для моделей, в которых используется flex технология, т.е. лицевая анимация. Все координаты flex останутся на родных местах и при движении например рта, будет двигаться шея или чего ещё хуже. (не актуально для DMX, для формата DMX флексы не ломаются)

Так-же этот параметр обязательно надо указывать перед всеми $model и $bodygroup т.е. сразу после $modelname

Мы надеемся, что помогли Вам решить проблему с файлом SMD. Если Вы не знаете, где можно скачать приложение из нашего списка, нажмите на ссылку (это название программы) - Вы найдете более подробную информацию относительно места, откуда загрузить безопасную установочную версию необходимого приложения.

Посещение этой страницы должно помочь Вам ответить конкретно на эти, или похожие вопросы:

  • Как открыть файл с расширением SMD?
  • Как провести конвертирование файла SMD в другой формат?
  • Что такое расширение формата файлов SMD?
  • Какие программы обслуживают файл SMD?

Если после просмотра материалов на этой странице, Вы по-прежнему не получили удовлетворительного ответа на какой-либо из представленных выше вопросов, это значит что представленная здесь информация о файле SMD неполная. Свяжитесь с нами, используя контактный формуляр и напишите, какую информацию Вы не нашли.

Что еще может вызвать проблемы?

Поводов того, что Вы не можете открыть файл SMD может быть больше (не только отсутствие соответствующего приложения).
Во-первых - файл SMD может быть неправильно связан (несовместим) с установленным приложением для его обслуживания. В таком случае Вам необходимо самостоятельно изменить эту связь. С этой целью нажмите правую кнопку мышки на файле SMD, который Вы хотите редактировать, нажмите опцию "Открыть с помощью" а затем выберите из списка программу, которую Вы установили. После такого действия, проблемы с открытием файла SMD должны полностью исчезнуть.
Во вторых - файл, который Вы хотите открыть может быть просто поврежден. В таком случае лучше всего будет найти новую его версию, или скачать его повторно с того же источника (возможно по какому-то поводу в предыдущей сессии скачивание файла SMD не закончилось и он не может быть правильно открыт).

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла SMD мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся и отправьте нам свою информацию о файле SMD.

Самой частой причиной проблем с раскрытием файла SMD является просто отсутствие соответствующих приложений, установленных на Вашем компьютере. В таком случае достаточно найти, скачать и установить приложение, обслуживающее файлы в формате SMD - такие программы доступны ниже.

Поисковая система

Введите расширение файла

Помощь

Подсказка

Необходимо учесть, что некоторые закодированные данные из файлов, которые наш компьютер не читает, иногда можно просмотреть в Блокноте. Таким образом мы прочитаем фрагменты текста или числа - Стоит проверить, действует ли этот метод также в случае файлов SMD.

Что сделать, если приложение со списка уже было установлено?

Часто установленное приложение должно автоматически связаться с файлом SMD. Если это не произошло, то файл SMD успешно можно связать вручную с ново установленным приложением. Достаточно нажать правой кнопкой мышки на файл SMD, а затем среди доступных выбрать опцию "Выбрать программу по умолчанию". Затем необходимо выбрать опцию "Просмотреть" и отыскать избранное приложение. Введенные изменения необходимо утвердить с помощью опции "OK".

Программы, открывающие файл SMD

Windows

Почему я не могу открыть файл SMD?

Проблемы с файлами SMD могут иметь также другую почву. Иногда даже установление на компьютере программного обеспечения, обслуживающего файлы SMD не решит проблему. Причиной невозможности открытия, а также работы с файлом SMD может быть также:

Несоответственные связи файла SMD в записях реестра
- повреждение файла SMD, который мы открываем
- инфицирование файла SMD (вирусы)
- слишком маленький ресурс компьютера
- неактуальные драйверы
- устранение расширения SMD из реестра системы Windows
- незавершенная установка программы, обслуживающей расширение SMD

Устранение этих проблем должно привести к свободному открытию и работе с файлами SMD. В случае, если компьютер по-прежнему имеет проблемы с файлами, необходимо воспользоваться помощью эксперта, который установит точную причину.

Мой компьютер не показывает расширений файлов, что сделать?

В стандартных установках системы Windows пользователь компьютера не видит расширения файлов SMD. Это успешно можно изменить в настройках. Достаточно войти в "Панель управления" и выбрать "Вид и персонализация". Затем необходимо войти в "Опции папок", и открыть "Вид". В закладке "Вид" находится опция "Укрыть расширения известных типов файлов" - необходимо выбрать эту опцию и подтвердить операцию нажатием кнопки "OK". В этот момент расширения всех файлов, в том числе SMD должны появится сортированные по названию файла.

- Расширение (формат) - это символы в конце файла после последней точки.
- Компьютер определяет тип файла именно по расширению.
- По умолчанию Windows не показывает расширения имен файлов.
- В имени файла и расширении нельзя использовать некоторые символы.
- Не все форматы имеют отношение к одной и той же программе.
- Ниже находятся все программы с помощью которых можно открыть файл SMD.

Многие пользователи MS Windows давно успели заметить, что стандартный блокнот - это довольно неудобная в своем использовании программа. Заменой ей может стать данный бесплатный редактор текстовых файлов, обеспечивающий поддержку синтаксиса большого количества языков программирования. Программа содержит в себе довольно широкий набор опций и отличается минимальным потреблением ресурсов процессора. Программа делает возможным одновременный просмотр нескольких документов сразу и редактирование их, без закрытия лишних окон. Доступной стала и такая опция, как редактирование одного и того же документа в разных местах, что очень удобно...

Notepad2 – простое приложение, позволяющее печатать и редактировать текст. Она поможет в создании HTML-страниц, программировании на различных языках (CSS, Java, JavaScript, Python, SQL, Perl, PHP) так как способна подсвечивать код. Программа построена по принципу простого блокнота, она маловесна и компактна. Этот текстовый редактор проверяет все скобки на наличие пары, поддерживает авто отступы. Программа Notepad2 не только поддерживает кодировки ASCII и UTF-8, но и умеет их конвертировать. Позволяет откатывать нежелательные операции на много уровней назад. Поддерживает блочное выделение элементов текста и имеет нумерованные ст...

В интернете очень много программ, позволяющих редактировать исходный код другой программы, файла и др. Однако большинство из подобных программ являются всего лишь текстовым редактором наподобие блокнота. Отличаются они от вышеуказанного редактора лишь тем, что имеют подсветку синтаксиса. Однако в некоторых случаях, такого функционала программы оказывается недостаточно. Программисту бывает необходимо быстро находить различные части документа. И вот, наконец-то, в появилась программа, позволяющая решить эту проблему. Программа называется SynWrite. Её отличительная особенность – наличие навигационной панели с деревом, котор...

Package like MilkShape.

Aside from Source and GoldSrc, SMD is known to be used by Sauerbraten and third party tools for The Sims and Mount & Blade .

General notes

Types

Reference / Collision A complete snapshot of the model, including one frame of animation to define the default pose. Collision meshes follow the same pattern. Animation A single skeletal animation . Vertex A flex animation library. Usually has extension .vta . (a "time " header for each flex shape; no position data required)

Data blocks

Here are the components of an SMD file, considered in order:

Header

Version 1

Nodes

A list of all the bones in the model.

Note: Bones without attached vertices will not be compiled.

Syntax

nodes Starts the node block. "" A bone definition. Unique ID number (does not have to be sequential), name in quote marks and the parent bone"s ID. Bones without parents (i.e. children of the world) have a Parent ID of -1 .

Note: Studiomdl matches bones across SMDs by name. IDs are internal to each file.

End Ends the data block.

Example

A root bone with one child:

Nodes 0 "root" -1 1 "child" 0 end

Skeleton

Position data for each bone in each animation frame. In a reference SMD there is only one frame, which contains the model"s default posture.

Syntax

skeleton Begins the skeleton block. time Begins a new frame. Any range of numbers can be used, so long as they increase sequentially. A bone"s position relative to its parent (give absolute values in the case of root bones).
  • Pos is position in units .
  • Rot is local Euler angles , given in radians . (90° = 1.570796 rad)

Tip: The first frame must include all bones. After that, those which have not moved relative to their parent since the last frame can be omitted.

Tip: Converting from a local rotation matrix to Euler angles might require you to invert the rotation matrix before conversion.

End Ends the data block.

Example

Bone 1 move two units along the Y axis, then back again:

Skeleton time 0 0 0 0 0 1.570796 0 0 1 1 0 0 0 0 0 time 1 1 1 2 0 0 0 0 time 2 1 1 0 0 0 0 0 end

Triangles

Note: Source"s triangles are one-sided. The active face is the one around which the vertices can be traced clockwise.

Syntax

triangles Begins the triangle block. Defines the start of a new triangle and the material to apply to it. Anything after a "." (e.g. a file extension) is ignored. Do not enclose in quotes and do not include a path ($cdmaterials will provide one). [...] Defines a vertex .
  • Pos is in world units
  • Norm is used to smooth the surface of the model (See: Normal (geometry))
  • U and V are the vertex"s UV map co-ordinates
The final three values are optional: they override To define a series of weightmap links. Bone ID and Weight are repeated for each link. If the weights do not add up to 1, any remaining value is placed on End Ends triangle block.

Example

A flat, two-sided square. The left edge envelopes bone 0 and the right edge envelopes bone 1, and the UV map is a simple square projection:

Triangles my_material 0 0 0 0 0 0 1 0 1 1 0 1 0 0 -1 0 0 0 1 0 0 1 0 1 1 1 -1 0 0 0 1 1 0 1 1 1 my_material 0 0 0 0 1 0 1 0 1 1 0 1 1 1 -1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 my_material 1 1 -1 0 0 0 1 1 0 1 1 1 0 0 -1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 my_material 1 1 0 0 1 0 1 1 1 1 1 1 1 1 -1 0 1 0 1 1 0 1 1 1 0 0 0 0 1 0 1 0 1 1 0 1 end

Vertexanimation

Position of vertices in various morph targets, for use in flex animation . While this block uses the same time keyword as , each "frame" is instead a discrete, static shape. Transitions between them are created on-demand by the engine.

Syntax

vertexanimation Begins the vertex animation block. time Begins a morph target. The first target must include all vertices on the mesh in their reference positions; subsequent targets should include only vertices that differ from the reference. A vertex. end Ends the data block.