From Valve Developer Community
Revision as of 04:49, 31 January 2019 by MaksaBest (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

An instance is a map (.vmf) file referenced inside another map through a func_instance, possibly aided by a func_instance_parms and/or func_instance_io_proxy.

Note:While working inside Hammer for all Source games, instances are currently only supported by the map compilers for <Left 4 Dead 2>Left 4 Dead 2, <Alien Swarm>Alien Swarm, [Portal 2]Portal 2, <Team Fortress 2>Team Fortress 2, <Counter-Strike: Global Offensive>Counter-Strike: Global Offensive, and Source 2013, and therefore will not work for any other games. To use them in unsupported games, see below.
Note:In <Team Fortress 2>Team Fortress 2 and Source 2013, instances have some broken or missing functionality: instance I/O system is unsupported, instances cannot be nested, displacements within an instance may not compile properly and any env_cubemaps inside of an instance will not be compiled into the final map.

Экземпляры полезны во многих отношениях:

  • Они предоставляют более динамичную альтернативу prefabs, так как любые изменения в экземпляре карты будут отражены во всех его экземплярах.
  • Они предоставляют альтернативу visgroups, так как их можно использовать для разделения большой, громоздкой карты на несколько более мелких, управляемых (которые могут даже обрабатываться несколькими авторами одновременно).
  • Они предоставляют простой способ редактировать части карты, которые должны быть под неортогональным углом. (Постройте карту на сетке внутри отдельной карты, а затем скопируйте ее на другую карту с помощью func_instance, повернутого на правильный угол.
  • They provide a way for maps to work on multiple platforms, such as Left 4 Dead and Left 4 Dead 2 versions of the same map.

How to

In Portal 2 to give input to an entity within a instance use this:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png <Output> <Instance> instance:<entity>;<input> <none> 0.00 No

Or, alternatively, you can do this:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png <Output> <Instance>-<entity> <input> <none> 0.00 No


To do

Workaround for any Source game

To use instances in unsupported Engine versions, Metapyziks wrote a program that merges used instances with the main VMF.

Also see

External links