Ru/StudioMDL (Source): Difference between revisions
< Ru
Jump to navigation
Jump to search
SirYodaJedi (talk | contribs) m (SirYodaJedi moved page StudioMDL (Source 1)/ru to StudioMDL (Source)/ru over redirect) |
(Исправлен и дополнен перевод) |
||
Line 1: | Line 1: | ||
{{langsp}} | {{langsp}} | ||
''' | : ''Для руководства по использованию StudioMDL, смотрите [[Compiling a model]]'' | ||
'''StudioMDL''' это [[command-line|консольная]] утилита, используемая для компиляции [[model|моделей]] из промежуточных форматов, экспортированных из программы 3D-моделирования, в бинарный формат .mdl, читаемым движком {{Source|4}}. | |||
Её можно найти в: {{file|<nowiki>common\<gamename>\<gamefolder>\bin\studiomdl</nowiki>|exe}}. | |||
{{note|Имя "studio" отсылает к разработке {{hl|2}}, во время которого {{Valve|4.1}} использовали {{3dmax|2}} для создания их моделей.}} | |||
{{bug|Попытка использовать Studiomdl или его ярлык, закрепленный на панели задач в Windows 8, приведет к ошибке о неверном пути, даже если указан параметр <code>-game</code>. Однако использование ярлыка на рабочем столе по прежнему работает. Это проблема со стороны Microsoft.}} | |||
== Параметры == | == Параметры == | ||
Эти параметры требуют [[Qc|QC ]] | Эти параметры требуют [[Qc|QC файл]]. Все остальные должны быть "за" ними. | ||
studiomdl [ | studiomdl [опции] <путь к QC> | ||
=== | === Основные === | ||
; <code>-game <gamedir></code> | ; <code>-game <gamedir></code> | ||
: | : Указывает папки контента игры. | ||
;<code>-quiet</code> | ; <code>-quiet</code> | ||
: | : Убирает некоторые сообщения в консоли, такие как отображение путей поиска | ||
;<code>-x360</code> | ; <code>-x360</code> | ||
:Включает вывод | : Включает вывод для Xbox 360, игнорируя {{ent|Gameinfo.txt}}. | ||
;<code>-nox360</code> | ; <code>-nox360</code> | ||
: | : Выключает вывод для Xbox 360, игнорируя {{ent|Gameinfo.txt}}. | ||
;<code>-nowarnings</code> | ; <code>-nowarnings</code> | ||
:Отключает предупреждения. | : Отключает предупреждения. | ||
; <code>-maxwarnings <[[int]]></code> | |||
: Ограничивает количество выводимых предупреждений. | |||
=== Анимация === | === Анимация === | ||
; <code>-definebones</code> | ; <code>-definebones</code> | ||
: | : Смотрите [[$definebone]]. | ||
; <code>-printbones</code> | ; <code>-printbones</code> | ||
: Выводит дополнительную информацию о | : Выводит дополнительную информацию о костях в консоль. | ||
; <code>-printgraph</code> | ; <code>-printgraph</code> | ||
: | : {{Todo|Похоже, что выдаёт информацию xnode для каждой ноды}} | ||
; <code>-overridedefinebones</code> | ; <code>-overridedefinebones</code> | ||
: Эквивалентно [[$unlockdefinebones]] в QC. | : Эквивалентно [[$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|модели столкновения]] {{src07|since|addtext= используйте {{ent|$maxconvexpieces}}}}. | ||
; <code>-striplods</code> | ; <code>-striplods</code> | ||
: | : Пропускает все {{ent|$lod}} команды. | ||
;<code>-minlod <lod></code> | ; <code>-minlod <lod></code> | ||
: | : Пропускает все LODы выше заданного (смотрите {{ent|$minlod}}). | ||
;<code>- | ; <code>-mdlreport <path\model.mdl></code> | ||
:Выводит информацию о производительности | : Выводит информацию о производительности для уже скомпилированной модели. Для этой команды не требуется QC файл. | ||
;<code>- | ; <code>-perf</code> | ||
: | : То же, что и <code>-mdlreport</code>. | ||
;<code>-mdlreportspreadsheet</code> | ; <code>-mdlreportspreadsheet</code> | ||
:Выводит информацию в | : Выводит информацию о производительности каждого 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 файл). | ||
;<code>-h</code> | ;<code>-h</code> | ||
: | :Вывод [[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. Если для вашей игры/мода настроен Perforce (что маловероятно), вы должны использовать этот параметр. | |||
;<code>-verify</code> | |||
:Скомпилирует модель, но не запишет результаты в память. | |||
;<code>-a <normal_blend_angle></code> | ;<code>-a <normal_blend_angle></code> | ||
:? | :Сглаживает стороны, угол между которыми равен или меньше указанному. Игнорирует всю информацию о нормалях на всех мешах. | ||
;<code>- | ;<code>-f</code> {{src07|removed}} | ||
: | :Переворачивает нормали. {{Todo|Что значит "Flip all triangles"?}} | ||
;<code>- | ;<code>-vsi <path\[QC|MDL]></code> | ||
: | :Генерирует [[VSI]] файл из [[QC]] или [[MDL]] файла. | ||
;<code>-stripmodel <path\model.mdl></code> | |||
:Облегчает вес модели, удаляя информацию о LODах. | |||
;<code>-stripvhv <path\sp_hdr_x.vhv></code> | |||
:Облегчает ([[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>- | ;<code>-ihvtest</code> | ||
: | :Вероятнее всего, должен проверять модель столкновений на наличие ошибок физики. Пропускает любой следующий аргумент. | ||
== Входные файлы == | |||
StudioMDL поддерживает разные форматы: [[SMD]], [[DMX]] и [https://ru.wikipedia.org/wiki/Obj OBJ] для моделей-референсов, [[SMD]] и [[DMX]] для скелетной анимации, [[VTA]] и [[DMX]] файлы для повертексной и мимики. {{csgo|2}} также поддерживает [[FBX]], но с ограниченным функционалом: [[Flex_animation|Мимика]] напрямую не поддерживается, как и FBX анимации, но SMD/DMX анимации могут быть использованы на FBX модели. | |||
{{note|FBX технически поддерживает flex анимации, а SMD файл требует генерации VTA файла, делая использование FBX файла для мимики бесполезным.}} | |||
== | == Выходные файлы == | ||
;<code>mymodel.mdl</code> | ;<code>mymodel.mdl</code> | ||
:[[Skeleton|Скелет]], анимации, | :[[Skeleton|Скелет]], анимации, bbox и хитбоксы, материалы, список [[LOD]]ов… | ||
;<code>mymodel.sw.vtx</code> | ;<code>mymodel.sw.vtx</code> | ||
;<code>mymodel.360.vtx</code> | |||
;<code>mymodel.dx80.vtx</code> | ;<code>mymodel.dx80.vtx</code> | ||
;<code>mymodel.dx90.vtx</code> | ;<code>mymodel.dx90.vtx</code> | ||
: | :Оптимизированные 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]] | ||
;<code>mymodel.phy</code> | ;<code>mymodel.phy</code> | ||
: | :Модель столкновений | ||
== См. также == | == См. также == | ||
* [[Studiocompiler]], | * [[Compiling a model#Common errors|Типичные ошибки StudioMDL]] | ||
* [[GUIStudioMDL]], | * [[Crowbar]], популярный графический интерфейс для StudioMDL, также поддерживающий декомпиляцию моделей и другие продвинутые функции. | ||
* [[Studiocompiler]], графический интерфейс для StudioMDL. | |||
* [[GUIStudioMDL]], ещё один графический интерфейс. | |||
* [[Source Model Compiler]], веб компилятор моделей и генератор QC файлов. | |||
* [https://gamebanana.com/tuts/12511 Fixing the 5% Weight Bone Link Cull], для {{SFM|4.1}} | |||
[[Category:Tools:ru]] | [[Category:Tools:ru]] | ||
[[Category:Modeling:ru]] | [[Category:Modeling:ru]] |
Revision as of 17:28, 5 November 2023
- Для руководства по использованию StudioMDL, смотрите Compiling a model
StudioMDL это консольная утилита, используемая для компиляции моделей из промежуточных форматов, экспортированных из программы 3D-моделирования, в бинарный формат .mdl, читаемым движком Source.
Её можно найти в: common\<gamename>\<gamefolder>\bin\studiomdl.exe
.





-game
. Однако использование ярлыка на рабочем столе по прежнему работает. Это проблема со стороны Microsoft. [нужно проверить в ?]Параметры
Эти параметры требуют QC файл. Все остальные должны быть "за" ними.
studiomdl [опции] <путь к QC>
Основные
-game <gamedir>
- Указывает папки контента игры.
-quiet
- Убирает некоторые сообщения в консоли, такие как отображение путей поиска
-x360
- Включает вывод для Xbox 360, игнорируя Gameinfo.txt.
-nox360
- Выключает вывод для Xbox 360, игнорируя Gameinfo.txt.
-nowarnings
- Отключает предупреждения.
-maxwarnings <int>
- Ограничивает количество выводимых предупреждений.
Анимация
-definebones
- Смотрите $definebone.
-printbones
- Выводит дополнительную информацию о костях в консоль.
-printgraph
- Нужно сделать: Похоже, что выдаёт информацию xnode для каждой ноды
-overridedefinebones
- Эквивалентно $unlockdefinebones в QC.
-checklengths
- Выводит готовую для движка информацию о кейфреймах для каждой анимации.
Производительность
-fastbuild
- Отключает обработку VTX для DX7, DX8, X360 и Software рендера (будет использовать только
.dx90.vtx
). Это ускоряет компиляцию. -preview
- Отключает триангуляцию модели. Это изменяет параметры рендера модели, вероятнее всего вызывая ухудшенную производительность или поломанный рендеринг в движке.
-fullcollide
- Не обрезает сложные модели столкновения (Во всех играх начиная с
используйте $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!
Примечание:Не записывает таблицу в память.
Отладка
-d
- Выводит различные glview файлы (по 10 на каждый LOD на каждый VTX файл).
-h
- Вывод hitboxов в консоль.
-n
- Указывает плохие нормали.
-dumpmaterials
- Выводит имена используемых материалы в консоль.
-i
- Отключает предупреждения.
-t
- Заменяет все материалы на стандартную розово-чёрную клетку.
-parsecompletion
- Выводит просто обрабатываемое сообщение об успехе или провале компиляции.
-collapsereport
- Выводит информацию о том, какие кости останутся, а какие будут пропущены.
Прочие
-nop4
- Отключает интеграцию Perforce. Если для вашей игры/мода настроен Perforce (что маловероятно), вы должны использовать этот параметр.
-verify
- Скомпилирует модель, но не запишет результаты в память.
-a <normal_blend_angle>
- Сглаживает стороны, угол между которыми равен или меньше указанному. Игнорирует всю информацию о нормалях на всех мешах.
-f
(удалено начиная с)
- Переворачивает нормали. Нужно сделать: Что значит "Flip all triangles"?
-vsi <path\[QC|MDL]>
- Генерирует VSI файл из QC или MDL файла.
-stripmodel <path\model.mdl>
- Облегчает вес модели, удаляя информацию о LODах.
-stripvhv <path\sp_hdr_x.vhv>
- Облегчает (VHV) файл, удаляя информацию о LODах.
-makefile
- Генерирует простой makefile для дальнейшей компиляции. Также проверяет QC файл на наличие ошибок, компилирует с параметром
-quiet
-basedir <path>
- Запускает StudioMDL в контексте указанного пути.
-tempcontent <path>
- Добавляет указанный путь как путь поиска контента.
Нефункциональные
-r
- "Tag reversed". Нужно сделать: И что это значит?
-ihvtest
- Вероятнее всего, должен проверять модель столкновений на наличие ошибок физики. Пропускает любой следующий аргумент.
Входные файлы
StudioMDL поддерживает разные форматы: SMD, DMX и OBJ для моделей-референсов, SMD и DMX для скелетной анимации, VTA и DMX файлы для повертексной и мимики. Counter-Strike: Global Offensive также поддерживает FBX, но с ограниченным функционалом: Мимика напрямую не поддерживается, как и FBX анимации, но SMD/DMX анимации могут быть использованы на FBX модели.

Выходные файлы
mymodel.mdl
- Скелет, анимации, bbox и хитбоксы, материалы, список LODов…
mymodel.sw.vtx
mymodel.360.vtx
mymodel.dx80.vtx
mymodel.dx90.vtx
- Оптимизированные VTX для software рендера, XBox 360, DirectX 7, 8 и 9 соответственно.
Примечание:Файлы
.360.vtx
это просто байтсвапнутые.dx90.vtx
файлы. mymodel.vvd
- Оставшаяся независимая повертексная информация, включая UV map
mymodel.phy
- Модель столкновений
См. также
- Типичные ошибки StudioMDL
- Crowbar, популярный графический интерфейс для StudioMDL, также поддерживающий декомпиляцию моделей и другие продвинутые функции.
- Studiocompiler, графический интерфейс для StudioMDL.
- GUIStudioMDL, ещё один графический интерфейс.
- Source Model Compiler, веб компилятор моделей и генератор QC файлов.
- Fixing the 5% Weight Bone Link Cull, для Template:SFM