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

Ru/Func instance: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
(Created page with "{{lang|Func instance|title=func_instance:ru}} {{point ent|func_instance|internal=1}} It inserts an instance of another VMF file into the current one. You can translate an...")
 
mNo edit summary
 
(60 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{lang|Func instance|title=func_instance:ru}}
{{LanguageBar|title=func_instance}}


{{point ent|func_instance|internal=1}} It inserts an [[instance]] of another VMF file into the current one. You can translate and rotate the instance without breaking anything or creating an off-grid editing nightmare. By default, instances are drawn in Hammer with an orange tint, though this can be disabled in <code>Instancing > View Instances</code>.
{{infotable
|suf=:ru
|func_instance
|img=[[File:Missing entity icon.png]]
|type=e1
|engine=2
|in=0
}}


{{warning|Self recursive instances (i.e. instances which include themselves) will crash Hammer.}}
{{this is a|point entity|internal=1|name=func_instance|since=l4dbranch}}{{also|{{src09}} и позднее}}<br>Данный объект вставляет {{L|instance|вхождение}} другого VMF файла в текущий. Вы можете перемещать и вращать вхождение без поломки чего-либо или без кошмарного редактирования вне сетки.


{{note|Instances are disabled by default in pre-[[Left 4 Dead 2]] games (except Team Fortress 2). To enable them, add a <code>GameData</code> key to [[gameinfo.txt]], pointing to the game's FGD file.}}
По умолчанию, вхождение VMF отображается в Hammer окрашенным в оранжевый, но вы можете отключить это в верхней панели редактора, нажав {{Code|style=2|Instancing}} > {{Code|style=2|View Instances}}.
{{note|VBSP will only transform entities in the [[FGD]] file it loads from the <code>GameData</code> key. If any custom entities are being misplaced, this is the most likely cause.}}


{{tip| [[gameinfo.txt]] has an InstancePath parameter that defines where instances are stored. If you try to reference files that aren't in this folder, you will have to manually type in the filename of your instance's .vmf (file path is relative to the parent .vmf)}}
{{Warning|Рекурсивное вхождение (т.е. вхождение, в котором содержится оно же само) может вызвать вылет Hammer.}}


{{bug|{{as}} Nested instances with relative file names don't work correctly in Alien Swarm, because they are handled differently in Hammer and VBSP. (verify? may be because of incorrectly set up gameinfo.txt)}}
{{Note|Вхождения по умолчанию отключены в играх до {{L|Left 4 Dead 2}} (кроме Team Fortress 2). Чтобы включить их, добавьте ключ <code>GameData</code> в {{L|gameinfo.txt}}, указывая на FGD файл нужной игры.}}
{{bug| [[light_spot]] will behave unpredictably when part of an instance that alters the light's pitch. This is solved by collapsing the instance or using the light's "Entity to point at" keyvalue.}}
{{note|suf=:ru|VBSP преобразует только объекты в {{L|FGD}} файле, который загружается из ключа <code>GameData</code>. Если какие-либо пользовательские объекты потеряны, то это наиболее вероятная причина.}}
{{bug|{{as}} The func_instance does not work correctly in the Source 2009 Engine Branch. It is recommended you use a [[Prefab]] instead.}}
{{bug| [[func_viscluster]] does not function when placed inside of an instance.}}
{{bug|VBSP will crash with no error if an instance pushes it over the brush limit (i.e. a situation where hiding all instances would keep the map under the brush limit). Compiling with -verbose will reveal the specific instance causing VBSP to fail.}}


== Input through an instance ==
{{Tip|{{L|gameinfo.txt}} имеет параметр InstancePath, которых указывает расположение вхождений. Если Вы пытаетесь обратиться к файлам, которых нет в этой папке, Вам придётся вручную вводить имя вашего .vmf вхождения (путь к файлу относительно родительского .vmf)}}


# Define a Fix Up Name.
{{Bug|{{as}} Вложенные вхождения с относительными именами файлов некорректно работают в Alien Swarm, потому что они по-разному обрабатываются в Hammer и VBSP. {{todo|проверить gameinfo.txt. Проблема может быть в неправильной настройке}}}}
# Define a value for the input or output you want to use (if there is one).
{{Bug| {{ent|light_spot}} будет вести себя непредсказуемо, когда часть вхождения будет изменять ключ-значение <code>Pitch</code>. Решается путём свёртывания '''[collapsing]''' вхождения, или при помощи ключа-значения "Entity to point at".}}
# Send an input to the [[targetname]] "fixupname-value", e.g. MyInstance-Start. Hammer's UI won't recognise the name, but don't worry.
{{Bug|{{as}} func_instance некорректно работает в Source 2009 Engine Branch. Вместо этого рекомендуется использовать {{L|Prefab|Префаб}}.}}
{{Bug| {{ent|func_viscluster}} не работает при размещении внутри вхождения.}}
{{Bug|VBSP произойдет сбой без ошибок, если вхождение превысит лимит элементов карты (т.е. ситуация, когда скрытие всех вхождений приведёт к тому, что карта не будет превышать лимиты на элементы). Компиляция с -verbose покажет конкретное вхождение, вызывающее сбой VBSP.}}
 
== Ввод через вхождение ==
 
# Задайте Fix Up Name. Для вхождения будет задано имя "MyInstance"
# Определите значение для ввода (input) или выхода (output), которое Вы хотите использовать (если он есть).
# Отправьте ввод в {{L|targetname}} "fixupname-значение", например MyInstance-Start. Интерфейс Hammer не распознает имя, но не волнуйтесь.


==KeyValues==
==KeyValues==
{{KV|VMF Filename|intn=file|string|The VMF file to insert as an instance.}}
{{KV|VMF Filename|intn=file|string|Имя VMF файла для вставки в качестве вхождения. Относительный путь размещения к имеющейся карте.}}
{{KV|Fix Up Name|intn=propagate_fixup|string|Essentially the name of the instance. All entities within it will have this string added to them based upon the fix up style. If no name is provided, <code>InstanceAutoX</code> or <code>AutoInstanceX</code> will be used, where X is a number that is incremented with each instance.
{{KV|Fix Up Name|intn=propagate_fixup|string|По сути, это название вхождения. Эта строка будет добавлена ко всем объектам в нём на основе стиля исправления. Если имя не указано, то будет использовано <code>InstanceAutoX</code> или <code>AutoInstanceX</code>, где X - число, которое будет увеличиваться с каждым новым вхождением.
{{note|Entity names that start with the <code>@</code> symbol e.g. '''@exit_door''' will not be changed by the instance name fix up. {{todo|only confirmed for [[Portal 2]]}}}}}}
{{Note|Имена объектов, начинающиеся с символа <code>@</code>, например '''@exit_door''', не будут изменены при исправлении имени вхождения. {{Todo|подтверждено только для {{L|Portal 2}}}}}}}}
{{KV|Entity Name Fix Up|intn=fixup_style|choices|How to apply the fix up name.}}
{{KV|Entity Name Fix Up|intn=fixup_style|choices|Как исправлять имя.}}
:*0: Prefix (Default)
:*0: Prefix - перед именем (По умолчанию)
:*1: Postfix
:*1: Postfix - после имени
:*2: None
:*2: None - ничего не менять
{{KV|Replace|intn=replace01|instance_variable| This is a replacement parameter. Any usage of <code>$variable</code> inside the instance will be replaced with <code>value</code>. Replace <code><string $variable> <string value></code>. '''Example''': $color 255 0 0.
{{KV|Replace|intn=replace01|instance_variable| Это параметр замены. Любое использование <code>$variable</code> внутри вхождения будет заменено на <code>value</code>. Заменить <code><string $variable> <string value></code>. '''Пример''': $color 255 0 0.
{{note|There are 10 ''Replace'' key-value pairs with the keys following ''replace'''''{number}''' for names: '''replace01''', '''replace02''', '''...''', '''replace10''' }}}}
{{Note|Можно указать до 10 таких пар ''подмены'' с соотвествующими именами ключа-параметра в формате '''replace{номер}''': '''replace01''', '''replace02''', '''...''', '''replace10'''}} }}


{{KV Angles}}
{{KV Angles:ru}}


==See also==
== Также смотрите ==
*[[func_instance_parms]] - Entity to control parameters within instances.
* {{ent|func_instance_parms}} - Объект для управления параметрами вхождений.
*[[func_instance_io_proxy]] - Entity that is used as a proxy for entity I/O within instances.
* {{ent|func_instance_io_proxy}} - Объект, который используется во вхождениях в качестве прокси для системы ввода/вывода объектов.
*[[func_instance_origin]] - Helper entity that defines the center point of an instance.
* {{ent|func_instance_origin|func_instance_origin}} - Вспомогательный объект, определяющий начало координат вхождения.
*[[L4D2 Level Design/VMF Instances]] - A tutorial on how to use this entity in Left 4 Dead 2.
* {{en}} [[L4D2 Level Design/VMF Instances|L4D2 Level Design/VMF Instances]] - Учебник о том, как пользоваться этим объектом в Left 4 Dead 2.
[[Category:Instances]]
{{ACategory|Instances}}

Latest revision as of 13:21, 25 May 2025

English (en)Español (es)Русский (ru)中文 (zh)Translate (Translate)
func_instance
Missing entity icon.png
ТипВнутренний Точечный объект мира
ПлатформаSource Source
ДоступностьВо всех играх
 

func_instance - это внутренний(en) точечная энтити(en), доступно для всех игр на движке Source Source начиная с Версия платформы Left 4 Dead Версия платформы Left 4 Dead.(также в Source 2009 и позднее)
Данный объект вставляет вхождение(en) другого VMF файла в текущий. Вы можете перемещать и вращать вхождение без поломки чего-либо или без кошмарного редактирования вне сетки.

По умолчанию, вхождение VMF отображается в Hammer окрашенным в оранжевый, но вы можете отключить это в верхней панели редактора, нажав Instancing > View Instances.

Warning.pngПредупреждение:Рекурсивное вхождение (т.е. вхождение, в котором содержится оно же само) может вызвать вылет Hammer.
Note.pngПримечание:Вхождения по умолчанию отключены в играх до Left 4 Dead 2(en) (кроме Team Fortress 2). Чтобы включить их, добавьте ключ GameData в gameinfo.txt(en), указывая на FGD файл нужной игры.
Note.pngПримечание:VBSP преобразует только объекты в FGD(en) файле, который загружается из ключа GameData. Если какие-либо пользовательские объекты потеряны, то это наиболее вероятная причина.
Tip.pngСовет:gameinfo.txt(en) имеет параметр InstancePath, которых указывает расположение вхождений. Если Вы пытаетесь обратиться к файлам, которых нет в этой папке, Вам придётся вручную вводить имя вашего .vmf вхождения (путь к файлу относительно родительского .vmf)
Icon-Bug.pngБаг:Alien Swarm Вложенные вхождения с относительными именами файлов некорректно работают в Alien Swarm, потому что они по-разному обрабатываются в Hammer и VBSP.
Нужно сделать: проверить gameinfo.txt. Проблема может быть в неправильной настройке
  [нужно проверить в ?]
Icon-Bug.pngБаг: light_spot будет вести себя непредсказуемо, когда часть вхождения будет изменять ключ-значение Pitch. Решается путём свёртывания [collapsing] вхождения, или при помощи ключа-значения "Entity to point at".  [нужно проверить в ?]
Icon-Bug.pngБаг:Alien Swarm func_instance некорректно работает в Source 2009 Engine Branch. Вместо этого рекомендуется использовать Префаб(en).  [нужно проверить в ?]
Icon-Bug.pngБаг: func_viscluster не работает при размещении внутри вхождения.  [нужно проверить в ?]
Icon-Bug.pngБаг:VBSP произойдет сбой без ошибок, если вхождение превысит лимит элементов карты (т.е. ситуация, когда скрытие всех вхождений приведёт к тому, что карта не будет превышать лимиты на элементы). Компиляция с -verbose покажет конкретное вхождение, вызывающее сбой VBSP.  [нужно проверить в ?]

Ввод через вхождение

  1. Задайте Fix Up Name. Для вхождения будет задано имя "MyInstance"
  2. Определите значение для ввода (input) или выхода (output), которое Вы хотите использовать (если он есть).
  3. Отправьте ввод в targetname(en) "fixupname-значение", например MyInstance-Start. Интерфейс Hammer не распознает имя, но не волнуйтесь.

KeyValues

VMF Filename (file) <строка(en)>
Имя VMF файла для вставки в качестве вхождения. Относительный путь размещения к имеющейся карте.
Fix Up Name (propagate_fixup) <строка(en)>
По сути, это название вхождения. Эта строка будет добавлена ко всем объектам в нём на основе стиля исправления. Если имя не указано, то будет использовано InstanceAutoX или AutoInstanceX, где X - число, которое будет увеличиваться с каждым новым вхождением.
Note.pngПримечание:Имена объектов, начинающиеся с символа @, например @exit_door, не будут изменены при исправлении имени вхождения.
Нужно сделать: подтверждено только для Portal 2(en)
Entity Name Fix Up (fixup_style) <варианты выбора>
Как исправлять имя.
  • 0: Prefix - перед именем (По умолчанию)
  • 1: Postfix - после имени
  • 2: None - ничего не менять
Replace (replace01) <instance_variable(en)>
Это параметр замены. Любое использование $variable внутри вхождения будет заменено на value. Заменить <string $variable> <string value>. Пример: $color 255 0 0.
Note.pngПримечание:Можно указать до 10 таких пар подмены с соотвествующими именами ключа-параметра в формате replace{номер}: replace01, replace02, ..., replace10


Углы:
Pitch Yaw Roll (Y Z X) (angles) <QAngle(en)>
Ориентация этого объекта в мире. Тангаж (pitch) - поворот по оси Y, рысканье (yaw) - поворот по Z и крен(roll) - поворот по X.

Также смотрите

  • func_instance_parms - Объект для управления параметрами вхождений.
  • func_instance_io_proxy - Объект, который используется во вхождениях в качестве прокси для системы ввода/вывода объектов.
  • func_instance_origin func_instance_origin - Вспомогательный объект, определяющий начало координат вхождения.
  • English L4D2 Level Design/VMF Instances - Учебник о том, как пользоваться этим объектом в Left 4 Dead 2.