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

Ru/StudioMDL (Source): Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
(Translation into Russian)
 
m (Setting bug notice hidetested=1 param on page where the bug might not need tested in param specified)
 
(24 intermediate revisions by 12 users not shown)
Line 1: Line 1:
'''Studiomdl''' это программа-компилятор моделей, работающая из командной строки. Она используется для компиляции [[model|моделей]] из промежуточного формата [[Studio Model Data]] (экспортируется из пакетов моделирования) в .mdl, бинарный формат, который используется движком Source.
{{LanguageBar}}
{{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.}}
== Параметры ==


== Файлы, получающиеся в результате компиляции ==
Эти параметры требуют {{L|Qc|QC файл}}. Все остальные должны быть "за" ними.
 
studiomdl [опции] <путь к QC>
 
=== Основные ===
 
; <code>-game <gamedir></code>
: Указывает папку контента игры.
; <code>-quiet</code>
: Убирает некоторые сообщения в консоли, такие как отображение путей поиска
; <code>-x360</code>
: Включает вывод для Xbox 360, игнорируя {{ent|Gameinfo.txt}}.
; <code>-nox360</code>
: Выключает вывод для Xbox 360, игнорируя {{ent|Gameinfo.txt}}.
; <code>-nowarnings</code>
: Отключает предупреждения.
; <code>-maxwarnings <{{L|int}}></code>
: Ограничивает количество выводимых предупреждений.
 
=== Анимация ===
 
; <code>-definebones</code>
: Смотрите {{L|$definebone}}.
; <code>-printbones</code>
: Выводит дополнительную информацию о костях в консоль.
; <code>-printgraph</code>
: {{Todo|Похоже, что выдаёт информацию xnode для каждой ноды}}
; <code>-overridedefinebones</code>
: Эквивалентно {{L|$unlockdefinebones}} в QC.
; <code>-checklengths</code>
: Выводит готовую для движка информацию о кейфреймах для каждой анимации.
 
=== Производительность ===
 
; <code>-fastbuild</code>
: Отключает обработку VTX для DX7, DX8, X360 и Software рендера (будет использовать только <code>.dx90.vtx</code>). Это ускоряет компиляцию.
; <code>-preview</code>
: Отключает триангуляцию модели. Это изменяет параметры рендера модели, вероятнее всего вызывая ухудшенную производительность или поломанный рендеринг в движке.
; <code>-fullcollide</code>
: Не обрезает сложные {{L|collision mesh|модели столкновения}} {{src07|since|addtext= используйте {{ent|$maxconvexpieces}}}}.
; <code>-striplods</code>
: Пропускает все {{ent|$lod}} команды.
; <code>-minlod <lod></code>
: Пропускает все LODы выше заданного (смотрите {{ent|$minlod}}).
; <code>-mdlreport <path\model.mdl></code>
: Выводит информацию о производительности для уже скомпилированной модели. Для этой команды не требуется QC файл.
; <code>-perf</code>
: То же, что и <code>-mdlreport</code>.
; <code>-mdlreportspreadsheet</code>
: Выводит информацию о производительности каждого LOD как таблицу, разделённую через запятые в следующем формате:
<source>Путь к VTX, расширение VTX, номер LODа (1 это корневой lod), количество треугольников, количество проходов отрисовки, количество используемых материалов </source> {{Todo|"количество проходов отрисовки" это "number of batches rendered", что это значит?}}
:'''Должен использоваться с -mdlreport или -perf!''' {{Note|Не ''записывает'' таблицу в память.}}
 
=== Отладка ===
 
;<code>-d</code>
:Выводит различные {{L|glview}} файлы (по 10 на каждый LOD на каждый VTX файл).
;<code>-h</code>
:Вывод {{L|hitbox}}ов в консоль.
;<code>-n</code>
:Указывает плохие нормали.
;<code>-dumpmaterials</code>
:Выводит имена используемых материалы в консоль.
;<code>-i</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>-f</code> {{src07|removed}}
:Переворачивает нормали. {{Todo|Что значит "Flip all triangles"?}}
{{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>
:"Tag reversed". {{Todo|И что это значит?}}
;<code>-ihvtest</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|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.
[[Category:Tools]]
* {{L|GUIStudioMDL}}, ещё один графический интерфейс.
[[Category:Modeling:ru]]
* {{L|Source Model Compiler}}, веб компилятор моделей и генератор QC файлов.
* [https://gamebanana.com/tuts/12511 Fixing the 5% Weight Bone Link Cull] для {{SFM|4.1}}
{{gldsrc sdktools}}
{{SDKTools}}


{{otherlang:ru}}
{{ACategory|Modeling}}
{{otherlang:ru:en|Studiomdl}}

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
Модель столкновений

См. также