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

Ru/Func instance: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
m (clean up, replaced: {{todo:ru → {{todo (2))
mNo edit summary
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{lang|Func instance|title=func_instance}}
{{LanguageBar|title=func_instance}}


{{infotable
{{infotable
Line 10: Line 10:
}}
}}


{{This is a|int point|name=func_instance}} Данная сущность вставляет [[instance|образец]] другого VMF файла в текущий. Вы можете перемещать и вращать ваш образец без поломки чего-либо или без кошмарного редактирования вне сетки.
{{this is a|point entity|internal=1|name=func_instance|since=l4dbranch}}{{also|{{src09}} и позднее}}<br>Данный объект вставляет {{L|instance|вхождение}} другого VMF файла в текущий. Вы можете перемещать и вращать вхождение без поломки чего-либо или без кошмарного редактирования вне сетки.


По умолчанию, образец VMF отображается в Hammer окрашенным в оранжевый, но вы можете отключить это в верхней панели редактора, нажав {{Code|style=2|Instancing}} > {{Code|style=2|View Instances}}.
По умолчанию, вхождение VMF отображается в Hammer окрашенным в оранжевый, но вы можете отключить это в верхней панели редактора, нажав {{Code|style=2|Instancing}} > {{Code|style=2|View Instances}}.


{{Warning|Саморекурсивный образец (т.е. образец, в который включен он сам) может вызвать вылет Hammer.}}
{{Warning|Рекурсивное вхождение (т.е. вхождение, в котором содержится оно же само) может вызвать вылет Hammer.}}


{{Note|Образцы по умолчанию отключены в играх до [[Left 4 Dead 2]] (кроме Team Fortress 2). Чтобы включить их, добавьте ключ <code>GameData</code> в [[gameinfo.txt]], указывая на FGD файл нужной игры.}}
{{Note|Вхождения по умолчанию отключены в играх до {{L|Left 4 Dead 2}} (кроме Team Fortress 2). Чтобы включить их, добавьте ключ <code>GameData</code> в {{L|gameinfo.txt}}, указывая на FGD файл нужной игры.}}
{{note|suf=:ru|VBSP преобразует только сущности в [[FGD]] файле, который загружается из ключа <code>GameData</code>. Если какие-либо пользовательские сущности потеряны, то это наиболее вероятная причина.}}
{{note|suf=:ru|VBSP преобразует только объекты в {{L|FGD}} файле, который загружается из ключа <code>GameData</code>. Если какие-либо пользовательские объекты потеряны, то это наиболее вероятная причина.}}


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


{{Bug|{{as}} Вложенные экземпляры с относительными именами файлов некорректно работают в Alien Swarm, потому что они по-разному обрабатываются в Hammer и VBSP. {{todo|проверить gameinfo.txt. Проблема может быть в неправильной настройке}}}}
{{Bug|{{as}} Вложенные вхождения с относительными именами файлов некорректно работают в Alien Swarm, потому что они по-разному обрабатываются в Hammer и VBSP. {{todo|проверить gameinfo.txt. Проблема может быть в неправильной настройке}}}}
{{Bug| {{ent|light_spot}} будет вести себя непредсказуемо, когда часть образца будет изменять ключ-значение <code>Pitch</code>. Решается путём свёртывания '''[collapsing]''' образца, или при помощи ключа-значения "Entity to point at".}}
{{Bug| {{ent|light_spot}} будет вести себя непредсказуемо, когда часть вхождения будет изменять ключ-значение <code>Pitch</code>. Решается путём свёртывания '''[collapsing]''' вхождения, или при помощи ключа-значения "Entity to point at".}}
{{Bug|{{as}} func_instance некорректно работает в Source 2009 Engine Branch. Вместо этого рекомендуется использовать [[Prefab|Префаб]].}}
{{Bug|{{as}} func_instance некорректно работает в Source 2009 Engine Branch. Вместо этого рекомендуется использовать {{L|Prefab|Префаб}}.}}
{{Bug| {{ent|func_viscluster}} не работает при размещении внутри образца.}}
{{Bug| {{ent|func_viscluster}} не работает при размещении внутри вхождения.}}
{{Bug|VBSP произойдет сбой без ошибок, если образец превысит лимит брашей (т.е. ситуация, когда скрытие всех экземпляров приведет к тому, что карта не будет превышать лимиты на браши). Компиляция с -verbose покажет конкретный экземпляр, вызывающий сбой VBSP.}}
{{Bug|VBSP произойдет сбой без ошибок, если вхождение превысит лимит элементов карты (т.е. ситуация, когда скрытие всех вхождений приведёт к тому, что карта не будет превышать лимиты на элементы). Компиляция с -verbose покажет конкретное вхождение, вызывающее сбой VBSP.}}


== Ввод через образец ==
== Ввод через вхождение ==


# Задайте Fix Up Name. Для примера будет задано имя "MyInstance"
# Задайте Fix Up Name. Для вхождения будет задано имя "MyInstance"
# Определите значение для ввода (input) или выхода (output), которое вы хотите использовать (если он есть).
# Определите значение для ввода (input) или выхода (output), которое Вы хотите использовать (если он есть).
# Отправьте ввод в [[targetname:ru|targetname]] "fixupname-значение", например MyInstance-Start. Интерфейс Hammer не распознает имя, но не волнуйтесь.
# Отправьте ввод в {{L|targetname}} "fixupname-значение", например MyInstance-Start. Интерфейс Hammer не распознает имя, но не волнуйтесь.


==KeyValues==
==KeyValues==
{{KV|VMF Filename|intn=file|string|Имя VMF файла для использования в образце.}}
{{KV|VMF Filename|intn=file|string|Имя VMF файла для вставки в качестве вхождения. Относительный путь размещения к имеющейся карте.}}
{{KV|Fix Up Name|intn=propagate_fixup|string|По сути, это название образца. Эта строка будет добавлена ко всем объектам в нём на основе стиля исправления. Если имя не указано, то будет использовано <code>InstanceAutoX</code> или <code>AutoInstanceX</code>, где X - число, которое будет увеличиваться с каждым новым образцом.
{{KV|Fix Up Name|intn=propagate_fixup|string|По сути, это название вхождения. Эта строка будет добавлена ко всем объектам в нём на основе стиля исправления. Если имя не указано, то будет использовано <code>InstanceAutoX</code> или <code>AutoInstanceX</code>, где X - число, которое будет увеличиваться с каждым новым вхождением.
{{Note|Имена энтити, начинающиеся с символа <code>@</code>, например '''@exit_door''', не будут изменены при исправлении имени образца. {{Todo|подтверждено только для [[Portal 2]]}}}}}}
{{Note|Имена объектов, начинающиеся с символа <code>@</code>, например '''@exit_door''', не будут изменены при исправлении имени вхождения. {{Todo|подтверждено только для {{L|Portal 2}}}}}}}}
{{KV|Entity Name Fix Up|intn=fixup_style|choices|Как применять Fix Up Name.}}
{{KV|Entity Name Fix Up|intn=fixup_style|choices|Как исправлять имя.}}
:*0: Prefix (По умолчанию)
:*0: Prefix - перед именем (По умолчанию)
:*1: Postfix
:*1: Postfix - после имени
:*2: None
:*2: None - ничего не менять
{{KV|Replace|intn=replace01|instance_variable| Это параметр замены. Любое использование <code>$variable</code> внутри экземпляра будет заменено на <code>value</code>. Заменить <code><string $variable> <string value></code>. '''Пример''': $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'''<br>{{todo|перевести это предложение, да так перевести, чтобы хоть что-то было понятно}}}}}}
{{Note|Можно указать до 10 таких пар ''подмены'' с соотвествующими именами ключа-параметра в формате '''replace{номер}''': '''replace01''', '''replace02''', '''...''', '''replace10'''}} }}


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


== Также смотрите ==
== Также смотрите ==
* {{ent|func_instance_parms}} - Сущность для управления параметрами в образцах.
* {{ent|func_instance_parms}} - Объект для управления параметрами вхождений.
* {{ent|func_instance_io_proxy}} - Энтити, которая в образцах используется в качестве прокси для entity I/O (input/output).
* {{ent|func_instance_io_proxy}} - Объект, который используется во вхождениях в качестве прокси для системы ввода/вывода объектов.
* {{ent|func_instance_origin|func_instance_origin}} - Вспомогательная сущность, определяющая центральную точку образца.
* {{ent|func_instance_origin|func_instance_origin}} - Вспомогательный объект, определяющий начало координат вхождения.
* {{en}} [[L4D2 Level Design/VMF Instances|L4D2 Level Design/VMF Instances]] - Учебник о том, как пользоваться этой энтити в Left 4 Dead 2.
* {{en}} [[L4D2 Level Design/VMF Instances|L4D2 Level Design/VMF Instances]] - Учебник о том, как пользоваться этим объектом в Left 4 Dead 2.
[[Category:Instances:ru]]
{{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.