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

Ru/StudioMDL (Source): Difference between revisions

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


Её можно найти в: {{file|<nowiki>common\<gamename>\<gamefolder>\bin\studiomdl</nowiki>|exe}}.
Её можно найти в: {{file|<nowiki>common\<gamename>\<gamefolder>\bin\studiomdl</nowiki>|exe}}.


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


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


  studiomdl [опции] <путь к QC>
  studiomdl [опции] <путь к QC>
Line 25: Line 28:
; <code>-nowarnings</code>
; <code>-nowarnings</code>
: Отключает предупреждения.
: Отключает предупреждения.
; <code>-maxwarnings <[[int]]></code>
; <code>-maxwarnings <{{L|int}}></code>
: Ограничивает количество выводимых предупреждений.
: Ограничивает количество выводимых предупреждений.


Line 31: Line 34:


; <code>-definebones</code>
; <code>-definebones</code>
: Смотрите [[$definebone]].
: Смотрите {{L|$definebone}}.
; <code>-printbones</code>
; <code>-printbones</code>
: Выводит дополнительную информацию о костях в консоль.
: Выводит дополнительную информацию о костях в консоль.
Line 37: Line 40:
: {{Todo|Похоже, что выдаёт информацию xnode для каждой ноды}}
: {{Todo|Похоже, что выдаёт информацию xnode для каждой ноды}}
; <code>-overridedefinebones</code>
; <code>-overridedefinebones</code>
: Эквивалентно [[$unlockdefinebones]] в QC.
: Эквивалентно {{L|$unlockdefinebones}} в QC.
; <code>-checklengths</code>
; <code>-checklengths</code>
: Выводит готовую для движка информацию о кейфреймах для каждой анимации.
: Выводит готовую для движка информацию о кейфреймах для каждой анимации.
Line 48: Line 51:
: Отключает триангуляцию модели. Это изменяет параметры рендера модели, вероятнее всего вызывая ухудшенную производительность или поломанный рендеринг в движке.
: Отключает триангуляцию модели. Это изменяет параметры рендера модели, вероятнее всего вызывая ухудшенную производительность или поломанный рендеринг в движке.
; <code>-fullcollide</code>
; <code>-fullcollide</code>
: Не обрезает сложные [[collision mesh/ru|модели столкновения]] {{src07|since|addtext= используйте {{ent|$maxconvexpieces}}}}.
: Не обрезает сложные {{L|collision mesh|модели столкновения}} {{src07|since|addtext= используйте {{ent|$maxconvexpieces}}}}.
; <code>-striplods</code>
; <code>-striplods</code>
: Пропускает все {{ent|$lod}} команды.
: Пропускает все {{ent|$lod}} команды.
Line 65: Line 68:


;<code>-d</code>
;<code>-d</code>
:Выводит различные [[glview]] файлы (по 10 на каждый LOD на каждый VTX файл).
:Выводит различные {{L|glview}} файлы (по 10 на каждый LOD на каждый VTX файл).
;<code>-h</code>
;<code>-h</code>
:Вывод [[hitbox]]ов в консоль.
:Вывод {{L|hitbox}}ов в консоль.
;<code>-n</code>
;<code>-n</code>
:Указывает плохие нормали.
:Указывает плохие нормали.
Line 93: Line 96:
{{Note|Вы можете добиться того же эффекта с помощью {{ent|$body}}.}}
{{Note|Вы можете добиться того же эффекта с помощью {{ent|$body}}.}}
;<code>-vsi <path\[QC|MDL]></code>
;<code>-vsi <path\[QC|MDL]></code>
:Генерирует [[VSI]] файл из [[QC]] или [[MDL]] файла.
:Генерирует {{L|VSI}} файл из {{L|QC}} или {{L|MDL}} файла.
;<code>-stripmodel <path\model.mdl></code>
;<code>-stripmodel <path\model.mdl></code>
:Облегчает вес модели, удаляя информацию о LODах.
:Облегчает вес модели, удаляя информацию о LODах.
;<code>-stripvhv <path\sp_hdr_x.vhv></code>
;<code>-stripvhv <path\sp_hdr_x.vhv></code>
:Облегчает ([[VHV]]) файл, удаляя информацию о LODах.
:Облегчает ({{L|VHV}}) файл, удаляя информацию о LODах.
;<code>-makefile</code>
;<code>-makefile</code>
:Генерирует простой makefile для дальнейшей компиляции. Также проверяет QC файл на наличие ошибок, компилирует с параметром <code>-quiet</code>
:Генерирует простой makefile для дальнейшей компиляции. Также проверяет QC файл на наличие ошибок, компилирует с параметром <code>-quiet</code>
Line 113: Line 116:
== Входные файлы ==
== Входные файлы ==


StudioMDL поддерживает разные форматы: [[SMD]], [[DMX]] и [https://ru.wikipedia.org/wiki/Obj OBJ] для моделей-референсов, [[SMD]] и [[DMX]] для скелетной анимации, [[VTA]] и [[DMX]] файлы для повертексной и мимики. {{csgo|2}} также поддерживает [[FBX]], но с ограниченным функционалом: [[Flex_animation|Мимика]] напрямую не поддерживается, как и FBX анимации, но SMD/DMX анимации могут быть использованы на FBX модели.
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 файлов для мимики бесполезным.}}
{{note|Пока FBX технически поддерживает flex анимации, SMD файл требуется для генерации VTA файлов, делая использование FBX файлов для мимики бесполезным.}}
Line 120: Line 123:


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


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

См. также