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

Ru/$surfaceprop: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{lang|$surfaceprop|title=$surfaceprop}}
{{LanguageBar|title = $surfaceprop}}
[[Category:QC Commands:ru|S]]
{{this is a|QC command|name=$surfaceprop}}
[[Category:List of Shader Parameters:ru|S]]
С помощью команды {{ent:ru|$surfaceprop}} можно определить, какими свойствами обладает какая-либо поверхность. Эта команда присутствует как в файлах [[material/ru|материалов]], так и в [[Qc|QC-файлах]], использующихся при импорте модели.


От указанного surface prop'а (определяющего свойства поверхности) в симуляции зависит многое:
Команда также доступна как параметр {{L|Shader|оттенения}}. {{ent:ru|$surfaceprop}} привязывает поверхность материала или модели к набору физических свойств, включающих в себя:


* Звуки, издаваемые при столкновениях
* Звуки, издаваемые при столкновении
* Эффекты от попадания пуль
* Эффекты при попадании пуль
* Различные свойства поверхности: масса, плавучесть, упругость...
* Масса, плавучесть, упругость...
* Влияние поверхности на звуки рядом с ней (эхо, реверберация, поглощение...)
* Влияние поверхности на звуки рядом с поверхностью (реверберация, эхо, поглощение...)
 
{{bug|{{css|in}} Если не включить $surfaceprop в vmt для брашей, то это заставит материал использовать звук (а возможно и другие свойства) последнего материала, с которым взаимодействовали, и в котором был прописан $surfaceprop.
{{workaround|Используйте {{mono|$surfaceprop "default"}}.}} }}


== Синтаксис ==
== Синтаксис ==


Синтаксис команды в обоих файлах один и тот же:
Синтаксис одинаков как для моделей, так и для материалов:
 
$surfaceprop <название>
 
Названия материалов и используемые ими файлы указаны в <code><game>\scripts\surfaceproperties_manifest.txt</code>. Вы можете посмотреть список готовых материалов на странице {{L|Material surface properties|Свойства поверхности материала}}.
{{bug|В {{l4d|4}} декали пулевых отверстий некорректно отображаются на кирпичных поверхностях. Если вас устраивает несовпадение декалей и визуальных эффектов с материалом поверхности, то для решения этой проблемы вы можете изменить <code>$surfaceprop</code> на что-нибудь другое, например <code>concrete</code>. {{modernConfirm|Исправлено ли это в {{l4d2|4}}?}}}}
 
== В материалах ==


$surfaceprop <surface prop>
* <code>$surfaceprop</code> не является параметром какого-либо конкретного {{L|Shader|оттенения}}, и поэтому может использоваться с любым материалом.
* Только оттенения, используемые на брашах требуют этот параметр. Однако, <code>$surfaceprop</code> всегда должен быть прописан в QC файле в свойствах столкновений, если нужно использовать что-то кроме стандартного значения.


Surface prop'ы определены в файле <code>scripts/surfaceproperties_manifest.txt</code> (а также в файлах, на которые там дана ссылка). Список стандартных prop'ов Valve можете посмотреть в статье [[Material surface properties]].
== В моделях ==


== В описании материалов ==
* Если {{ent:ru|$surfaceprop}} указан и в QC, и в VMT, то будут использоваться свойства поверхности самой модели, а не её материала.
* Не совсем понятно, как именно определяется масса модели - исходя из назначенного {{ent:ru|$surfaceprop}} или из <code>{{L|Prop_data|prop_data}}</code>. {{todo|У какого параметра выше приоритет?}}
* {{ent:ru|$surfaceprop}} можно обозначать отдельно для каждой {{L|bone|кости}} с помощью {{ent:ru|$jointsurfaceprop}}.


* <code>$surfaceprop</code> не является параметром [[shader|шейдера]], и поэтому может использоваться с любым материалом.
== Смотреть также ==


== В описании моделей ==
* {{L|Material surface properties|Свойства поверхности материала}}
* {{csgo}} {{L|List of CS:GO Surface Types}}


* Если возникает конфликт между surface prop'ами, указанными в QC при импорте модели и в описании материала, то выше приоритет у данных из описания модели
{{ACategory|QC Commands|surfaceprop}}
* Не совсем понятно, как именно определяется масса модели - исходя из назначенного surface prop'а или из <code>[[Prop Data|prop_data]]</code>
{{ACategory|Shader parameters|surfaceprop}}
* Surface prop'ы, данные о поверхности, можно указывать для каждой [[bone|кости]], для этого нужно использоваться {{ent:ru|$jointsurfaceprop}}

Latest revision as of 03:16, 31 August 2024

English (en)한국어 (ko)Русский (ru)Translate (Translate)

$surfaceprop - это QC команда(en), доступно для всех игр на движке Source Source.

Команда также доступна как параметр оттенения(en). $surfaceprop привязывает поверхность материала или модели к набору физических свойств, включающих в себя:

  • Звуки, издаваемые при столкновении
  • Эффекты при попадании пуль
  • Масса, плавучесть, упругость...
  • Влияние поверхности на звуки рядом с поверхностью (реверберация, эхо, поглощение...)
Icon-Bug.pngБаг:(в Counter-Strike: Source) Если не включить $surfaceprop в vmt для брашей, то это заставит материал использовать звук (а возможно и другие свойства) последнего материала, с которым взаимодействовали, и в котором был прописан $surfaceprop.
PlacementTip.pngОбходной приём:Используйте $surfaceprop "default".
  [нужно проверить в ?]

Синтаксис

Синтаксис одинаков как для моделей, так и для материалов:

$surfaceprop <название>

Названия материалов и используемые ими файлы указаны в <game>\scripts\surfaceproperties_manifest.txt. Вы можете посмотреть список готовых материалов на странице Свойства поверхности материала(en).

Icon-Bug.pngБаг:В Left 4 Dead Left 4 Dead декали пулевых отверстий некорректно отображаются на кирпичных поверхностях. Если вас устраивает несовпадение декалей и визуальных эффектов с материалом поверхности, то для решения этой проблемы вы можете изменить $surfaceprop на что-нибудь другое, например concrete.
Подтвердить:Исправлено ли это в Left 4 Dead 2 Left 4 Dead 2?
  [нужно проверить в ?]

В материалах

  • $surfaceprop не является параметром какого-либо конкретного оттенения(en), и поэтому может использоваться с любым материалом.
  • Только оттенения, используемые на брашах требуют этот параметр. Однако, $surfaceprop всегда должен быть прописан в QC файле в свойствах столкновений, если нужно использовать что-то кроме стандартного значения.

В моделях

  • Если $surfaceprop указан и в QC, и в VMT, то будут использоваться свойства поверхности самой модели, а не её материала.
  • Не совсем понятно, как именно определяется масса модели - исходя из назначенного $surfaceprop или из prop_data(en).
    Нужно сделать: У какого параметра выше приоритет?
  • $surfaceprop можно обозначать отдельно для каждой кости(en) с помощью $jointsurfaceprop.

Смотреть также