Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

Ru/StudioMDL (Source): Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
m (SirYodaJedi moved page StudioMDL (Source 1)/ru to StudioMDL (Source)/ru over redirect)
m (Setting bug notice hidetested=1 param on page where the bug might not need tested in param specified)
 
(13 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{langsp}}
{{LanguageBar}}
'''Studiomdl''' это программа-компилятор моделей, работающая из командной строки. Она используется для компиляции [[model|моделей]] из промежуточного формата [[Studio Model Data]] (экспортируется из пакетов моделирования) в .mdl, бинарный формат, который используется движком Source.
{{src topicon}}
{{tabs|StudioMDL|goldsrc=1|source=1}}
{{cleanup|перевод можно сформулировать лучше}}
: ''Для руководства по использованию StudioMDL, смотрите {{L|Compiling a model|Компиляция модели}}''
'''StudioMDL''' это {{L|command-line|консольная}} утилита, используемая для компиляции {{L|3D Model|моделей}} из промежуточных форматов, экспортированных из программы 3D-моделирования, в бинарный формат .mdl, читаемый движком {{Source|4}}.


У себя ее можно найти здесь: <code>steam/steamapps/<account>/sourcesdk/bin/[orangebox|ep1]/bin/studiomdl.exe</code>.
Её можно найти в: {{file|<nowiki>common\<gamename>\<gamefolder>\bin\studiomdl</nowiki>|exe}}.
 
Studiomdl запускается с [[Qc|QC-файлом]] в качестве параметра командной строки. Если вам нужна более подробная информация о компиляции моделей, посмотрите статью [[Compiling a model]].


{{note|Имя "studio" отсылает к разработке {{hl|2}}, во время которого {{Valve|4.1}} использовали {{3dmax|2}} для создания их моделей.}}
{{bug|hidetested=1|Попытка использовать Studiomdl или его ярлык, закреплённый на панели задач в Windows 8, приведёт к ошибке о неверном пути, даже если указан параметр <code>-game</code>. Однако использование ярлыка на рабочем столе по прежнему работает. Это проблема со стороны Microsoft.}}
== Параметры ==
== Параметры ==


Эти параметры требуют [[Qc|QC ]]файл. Все остальные должны быть "перед" ними.
Эти параметры требуют {{L|Qc|QC файл}}. Все остальные должны быть "за" ними.


  studiomdl [options] <path\QC>
  studiomdl [опции] <путь к QC>


=== Основы ===
=== Основные ===


; <code>-game <gamedir></code>
; <code>-game <gamedir></code>
: Указание вручную директории игры.
: Указывает папку контента игры.
;<code>-quiet</code>
; <code>-quiet</code>
:Теоретически убирает вывод информации в консоль. В практике ничего не делает.
: Убирает некоторые сообщения в консоли, такие как отображение путей поиска
;<code>-x360</code>
; <code>-x360</code>
:Включает вывод на Xbox 360 (OB).
: Включает вывод для Xbox 360, игнорируя {{ent|Gameinfo.txt}}.
;<code>-nox360</code>
; <code>-nox360</code>
:Отключает вывод на Xbox 360 (Ep1).
: Выключает вывод для Xbox 360, игнорируя {{ent|Gameinfo.txt}}.
;<code>-nowarnings</code>
; <code>-nowarnings</code>
:Отключает предупреждения.
: Отключает предупреждения.
; <code>-maxwarnings <{{L|int}}></code>
: Ограничивает количество выводимых предупреждений.


=== Анимация ===
=== Анимация ===


; <code>-definebones</code>
; <code>-definebones</code>
: Смотреть [[$definebone]].
: Смотрите {{L|$definebone}}.
; <code>-printbones</code>
; <code>-printbones</code>
: Выводит дополнительную информацию о кости в консоль.
: Выводит дополнительную информацию о костях в консоль.
; <code>-printgraph</code>
; <code>-printgraph</code>
: Записывает некоторую информацию об анимации в консоль.
: {{Todo|Похоже, что выдаёт информацию xnode для каждой ноды}}
; <code>-overridedefinebones</code>
; <code>-overridedefinebones</code>
: Эквивалентно [[$unlockdefinebones]] в QC.
: Эквивалентно {{L|$unlockdefinebones}} в QC.
; <code>-checklengths</code>
: Выводит готовую для движка информацию о кейфреймах для каждой анимации.


=== Производительность ===
=== Производительность ===


; <code>-fastbuild</code>
: Отключает обработку VTX для DX7, DX8, X360 и Software рендера (будет использовать только <code>.dx90.vtx</code>). Это ускоряет компиляцию.
; <code>-preview</code>
: Отключает триангуляцию модели. Это изменяет параметры рендера модели, вероятнее всего вызывая ухудшенную производительность или поломанный рендеринг в движке.
; <code>-fullcollide</code>
; <code>-fullcollide</code>
: Не обрезает большие [[collision mesh]]es (только для Ep1; для OB используется [[$maxconvexpieces]]).
: Не обрезает сложные {{L|collision mesh|модели столкновения}} {{src07|since|addtext= используйте {{ent|$maxconvexpieces}}}}.
; <code>-striplods</code>
; <code>-striplods</code>
: Игнорировать [[$lod]] команды.
: Пропускает все {{ent|$lod}} команды.
;<code>-minlod <lod></code>
; <code>-minlod <lod></code>
:"Выкидывает" всю информацию из LODs заданную выше (смотреть [[$minlod]]).
: Пропускает все LODы выше заданного (смотрите {{ent|$minlod}}).
;<code>-perf</code>
; <code>-mdlreport <path\model.mdl></code>
:Выводит информацию о производительности в консоль.
: Выводит информацию о производительности для уже скомпилированной модели. Для этой команды не требуется QC файл.
;<code>-mdlreport <path\model.mdl></code>
; <code>-perf</code>
:Выводит информацию о производительности только-что скомпилированной модели. QC файл не нужен когда используется эта команда.
: То же, что и <code>-mdlreport</code>.
;<code>-mdlreportspreadsheet</code>
; <code>-mdlreportspreadsheet</code>
:Выводит информацию в виде таблицы. {{TODO|Usage}}
: Выводит информацию о производительности каждого LOD как таблицу, разделённую через запятые в следующем формате:
<source>Путь к VTX, расширение VTX, номер LODа (1 это корневой lod), количество треугольников, количество проходов отрисовки, количество используемых материалов </source> {{Todo|"количество проходов отрисовки" это "number of batches rendered", что это значит?}}
:'''Должен использоваться с -mdlreport или -perf!''' {{Note|Не ''записывает'' таблицу в память.}}


=== Отладка ===
=== Отладка ===


;<code>-d</code>
;<code>-d</code>
:Дамп различных [[glview]] файлов (10 на LOD с VTX файлы),
:Выводит различные {{L|glview}} файлы (по 10 на каждый LOD на каждый VTX файл).
;<code>-h</code>
;<code>-h</code>
:Дамп [[hitbox]]es в консоль,
:Вывод {{L|hitbox}}ов в консоль.
;<code>-n</code>
;<code>-n</code>
:Имена плохих нормалей.
:Указывает плохие нормали.
;<code>-dumpmaterials</code>
;<code>-dumpmaterials</code>
:Дамп используемых материалов в консоль.
:Выводит имена используемых материалы в консоль.
;<code>-i</code>
;<code>-i</code>
:Игнорировать предупреждения
:Отключает предупреждения.
;<code>-t</code>
;<code>-t</code>
: Заменяет все материалы на стандартные розовые.
:Заменяет все материалы на стандартную розово-чёрную клетку.
;<code>-parsecompletion</code>
:Выводит просто обрабатываемое сообщение об успехе или провале компиляции.
;<code>-collapsereport</code>
:Выводит информацию о том, какие кости останутся, а какие будут пропущены.


=== Неизвестные ===
=== Прочие ===


;<code>-nop4</code>
:Отключает интеграцию Perforce. {{tip|Если для вашей игры/мода не настроен Perforce, вы должны использовать этот параметр.}}
;<code>-verify</code>
:Скомпилирует модель, но не запишет результаты в память.
;<code>-a <normal_blend_angle></code>
;<code>-a <normal_blend_angle></code>
:?
:Сглаживает стороны, угол между которыми равен или меньше указанному. Игнорирует всю информацию о нормалях на всех мешах.
;<code>-checklengths</code>
;<code>-f</code> {{src07|removed}}
:?
:Переворачивает нормали. {{Todo|Что значит "Flip all triangles"?}}
;<code>-f</code>
{{Note|Вы можете добиться того же эффекта с помощью {{ent|$body}}.}}
:Переворачивает все треугольники.
;<code>-vsi <path\[QC|MDL]></code>
:Генерирует {{L|VSI}} файл из {{L|QC}} или {{L|MDL}} файла.
;<code>-stripmodel <path\model.mdl></code>
:Облегчает вес модели, удаляя информацию о LODах.
;<code>-stripvhv <path\sp_hdr_x.vhv></code>
:Облегчает ({{L|VHV}}) файл, удаляя информацию о LODах.
;<code>-makefile</code>
:Генерирует простой makefile для дальнейшей компиляции. Также проверяет QC файл на наличие ошибок, компилирует с параметром <code>-quiet</code>
;<code>-basedir <path></code>
:Запускает StudioMDL в контексте указанного пути.
;<code>-tempcontent <path></code>
:Добавляет указанный путь как путь поиска контента.
 
=== Нефункциональные ===
;<code>-r</code>
;<code>-r</code>
:"Обратное имя"..?
:"Tag reversed". {{Todo|И что это значит?}}
;<code>-vsi <path\[QC|MDL]></code>
;<code>-ihvtest</code>
:Генерирует оптимизированный .vsi файл. Работает с QC и MDL. (Служит для оптимизации памяти? Возможно связано с Xbox 360.)
:Вероятнее всего, должен проверять модель столкновений на наличие ошибок физики. Пропускает любой следующий аргумент.
;<code>-stripmodel</code>
 
:Создаёт двоичные файлы модели(VSI?)и строки дополнительных оптимизированных данных.
== Входные файлы ==
;<code>-stripvhv</code>
 
: Разрезает железные точки, чтобы уровнять модель.
StudioMDL поддерживает разные форматы: {{L|SMD}}, {{L|DMX}} и [[wiki:ru:Obj|OBJ]] для моделей-референсов, {{L|SMD}} и {{L|DMX}} для скелетной анимации, {{L|VTA}} и {{L|DMX}} файлы для повертексной и мимики. {{csgo|2}} также поддерживает {{L|FBX}}, но с ограниченным функционалом: {{L|Flex_animation|Мимика}} напрямую не поддерживается, как и FBX анимации, но SMD/DMX анимации могут быть использованы на FBX модели.
 
{{note|Пока FBX технически поддерживает flex анимации, SMD файл требуется для генерации VTA файлов, делая использование FBX файлов для мимики бесполезным.}}


== Файлы, получающиеся в результате компиляции ==
== Выходные файлы ==


;<code>mymodel.mdl</code>
;<code>mymodel.mdl</code>
:[[Skeleton|Скелет]], анимации, bounding box'ы/ box'ы для попадания оружием, материалы, информация о [[LOD:ru|LOD]]...
:{{L|Skeleton|Скелет}}, анимации, bbox и хитбоксы, материалы, список {{L|LOD}}ов…
;<code>mymodel.sw.vtx</code>
;<code>mymodel.sw.vtx</code> (не используется и не создаётся в {{gmod|4}})
;<code>mymodel.360.vtx</code> (не используется и не создаётся в {{gmod|4}})
;<code>mymodel.dx80.vtx</code>
;<code>mymodel.dx80.vtx</code>
;<code>mymodel.dx90.vtx</code>
;<code>mymodel.dx90.vtx</code>
:Данные вершин модели, оптимизированные для DirectX 7, 8 и 9 соотвественно
:Оптимизированные VTX для software рендера, XBox 360, DirectX 7, 8 и 9 соответственно. {{Note|Файлы <code>.360.vtx</code> это просто байтсвапнутые <code>.dx90.vtx</code> файлы.}}
;<code>mymodel.vvd</code>
;<code>mymodel.vvd</code>
:Оставшаяся, независимая от железа вершинная информация, например [[UV map|UV-раскладка модели]]
:Оставшаяся независимая повертексная информация, включая {{L|UV map|UV карту}}
;<code>mymodel.phy</code>
;<code>mymodel.phy</code>
:Данные collision-сетки
:Модель столкновений


== См. также ==
== См. также ==


* [[Studiocompiler]], графическая оболочка для studiomdl
* {{L|Compiling a model#Common errors|Типичные ошибки StudioMDL}}
* [[GUIStudioMDL]], еще вариант графической оболочки
* {{L|Crowbar}}, популярный графический интерфейс для StudioMDL, также поддерживающий декомпиляцию моделей и другие продвинутые функции.
* {{L|Studiocompiler}}, графический интерфейс для StudioMDL.
* {{L|GUIStudioMDL}}, ещё один графический интерфейс.
* {{L|Source Model Compiler}}, веб компилятор моделей и генератор QC файлов.
* [https://gamebanana.com/tuts/12511 Fixing the 5% Weight Bone Link Cull] для {{SFM|4.1}}
{{gldsrc sdktools}}
{{SDKTools}}


[[Category:Tools:ru]]
{{ACategory|Modeling}}
[[Category:Modeling:ru]]

Latest revision as of 07:14, 20 May 2025

English (en)Español (es)Русский (ru)Translate (Translate)

Broom icon.png
This article or section needs to be cleaned up to conform to a higher standard of quality because:
перевод можно сформулировать лучше
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.
Для руководства по использованию StudioMDL, смотрите Компиляция модели(en)

StudioMDL это консольная(en) утилита, используемая для компиляции моделей(en) из промежуточных форматов, экспортированных из программы 3D-моделирования, в бинарный формат .mdl, читаемый движком Source Source.

Её можно найти в: 🖿common\<gamename>\<gamefolder>\bin\studiomdl.exe.

Note.pngПримечание:Имя "studio" отсылает к разработке Half-Life Half-Life, во время которого Valve Valve использовали 3DS Max 3DS Max для создания их моделей.
Icon-Bug.pngБаг:Попытка использовать Studiomdl или его ярлык, закреплённый на панели задач в Windows 8, приведёт к ошибке о неверном пути, даже если указан параметр -game. Однако использование ярлыка на рабочем столе по прежнему работает. Это проблема со стороны Microsoft.

Параметры

Эти параметры требуют QC файл(en). Все остальные должны быть "за" ними.

studiomdl [опции] <путь к QC>

Основные

-game <gamedir>
Указывает папку контента игры.
-quiet
Убирает некоторые сообщения в консоли, такие как отображение путей поиска
-x360
Включает вывод для Xbox 360, игнорируя Gameinfo.txt.
-nox360
Выключает вывод для Xbox 360, игнорируя Gameinfo.txt.
-nowarnings
Отключает предупреждения.
-maxwarnings <int(en)>
Ограничивает количество выводимых предупреждений.

Анимация

-definebones
Смотрите $definebone(en).
-printbones
Выводит дополнительную информацию о костях в консоль.
-printgraph
Нужно сделать: Похоже, что выдаёт информацию xnode для каждой ноды
-overridedefinebones
Эквивалентно $unlockdefinebones(en) в QC.
-checklengths
Выводит готовую для движка информацию о кейфреймах для каждой анимации.

Производительность

-fastbuild
Отключает обработку VTX для DX7, DX8, X360 и Software рендера (будет использовать только .dx90.vtx). Это ускоряет компиляцию.
-preview
Отключает триангуляцию модели. Это изменяет параметры рендера модели, вероятнее всего вызывая ухудшенную производительность или поломанный рендеринг в движке.
-fullcollide
Не обрезает сложные модели столкновения(en) (Во всех играх начиная с Source 2007используйте $maxconvexpieces).
-striplods
Пропускает все $lod команды.
-minlod <lod>
Пропускает все LODы выше заданного (смотрите $minlod).
-mdlreport <path\model.mdl>
Выводит информацию о производительности для уже скомпилированной модели. Для этой команды не требуется QC файл.
-perf
То же, что и -mdlreport.
-mdlreportspreadsheet
Выводит информацию о производительности каждого LOD как таблицу, разделённую через запятые в следующем формате:
Путь к VTX, расширение VTX, номер LODа (1 это корневой lod), количество треугольников, количество проходов отрисовки, количество используемых материалов
Нужно сделать: "количество проходов отрисовки" это "number of batches rendered", что это значит?
Должен использоваться с -mdlreport или -perf!
Note.pngПримечание:Не записывает таблицу в память.

Отладка

-d
Выводит различные glview(en) файлы (по 10 на каждый LOD на каждый VTX файл).
-h
Вывод hitbox(en)ов в консоль.
-n
Указывает плохие нормали.
-dumpmaterials
Выводит имена используемых материалы в консоль.
-i
Отключает предупреждения.
-t
Заменяет все материалы на стандартную розово-чёрную клетку.
-parsecompletion
Выводит просто обрабатываемое сообщение об успехе или провале компиляции.
-collapsereport
Выводит информацию о том, какие кости останутся, а какие будут пропущены.

Прочие

-nop4
Отключает интеграцию Perforce.
Tip.pngСовет:Если для вашей игры/мода не настроен Perforce, вы должны использовать этот параметр.
-verify
Скомпилирует модель, но не запишет результаты в память.
-a <normal_blend_angle>
Сглаживает стороны, угол между которыми равен или меньше указанному. Игнорирует всю информацию о нормалях на всех мешах.
-f (удалено начиная с Source 2007)
Переворачивает нормали.
Нужно сделать: Что значит "Flip all triangles"?
Note.pngПримечание:Вы можете добиться того же эффекта с помощью $body.
-vsi <path\[QC|MDL]>
Генерирует VSI(en) файл из QC(en) или MDL(en) файла.
-stripmodel <path\model.mdl>
Облегчает вес модели, удаляя информацию о LODах.
-stripvhv <path\sp_hdr_x.vhv>
Облегчает (VHV(en)) файл, удаляя информацию о LODах.
-makefile
Генерирует простой makefile для дальнейшей компиляции. Также проверяет QC файл на наличие ошибок, компилирует с параметром -quiet
-basedir <path>
Запускает StudioMDL в контексте указанного пути.
-tempcontent <path>
Добавляет указанный путь как путь поиска контента.

Нефункциональные

-r
"Tag reversed".
Нужно сделать: И что это значит?
-ihvtest
Вероятнее всего, должен проверять модель столкновений на наличие ошибок физики. Пропускает любой следующий аргумент.

Входные файлы

StudioMDL поддерживает разные форматы: SMD(en), DMX(en) и OBJ для моделей-референсов, SMD(en) и DMX(en) для скелетной анимации, VTA(en) и DMX(en) файлы для повертексной и мимики. Counter-Strike: Global Offensive Counter-Strike: Global Offensive также поддерживает FBX(en), но с ограниченным функционалом: Мимика(en) напрямую не поддерживается, как и FBX анимации, но SMD/DMX анимации могут быть использованы на FBX модели.

Note.pngПримечание:Пока FBX технически поддерживает flex анимации, SMD файл требуется для генерации VTA файлов, делая использование FBX файлов для мимики бесполезным.

Выходные файлы

mymodel.mdl
Скелет(en), анимации, bbox и хитбоксы, материалы, список LOD(en)ов…
mymodel.sw.vtx (не используется и не создаётся в Garry's Mod Garry's Mod)
mymodel.360.vtx (не используется и не создаётся в Garry's Mod Garry's Mod)
mymodel.dx80.vtx
mymodel.dx90.vtx
Оптимизированные VTX для software рендера, XBox 360, DirectX 7, 8 и 9 соответственно.
Note.pngПримечание:Файлы .360.vtx это просто байтсвапнутые .dx90.vtx файлы.
mymodel.vvd
Оставшаяся независимая повертексная информация, включая UV карту(en)
mymodel.phy
Модель столкновений

См. также