Func portal orientation: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(slight correction)
(Use new templates, other corrections)
Line 1: Line 1:
{{portal series brush|func_portal_orientation}} It adjusts a portal's rotation to match a specified angle. The "bottom" of the portal points in the specified direction.
{{portal series brush|func_portal_orientation}} It adjusts a portal's rotation to match a specified angle. The "front" of the portal points in the specified direction.
{{bug|{{portal2}} Broken in Portal 2. It will rotate existing portals to the specified direction when first enabled, but will not affect newly-placed ones.}}
{{bug|{{portal2}} Broken in Portal 2. It will rotate existing portals to the specified direction when first enabled, but will not affect newly-placed ones.}}
:{{workaround|Since it still works when first enabled, a {{ent|logic_playerproxy}} can be used to fire an <code>Enable</code> input to the entity every time a portal is placed, which will orient the portals correctly. This can result in some odd behavior when placing portals near the edge of surfaces within the volume, {{ent|func_portal_bumper}}s should be used to prevent this.}}
:{{workaround|Since it still works when first enabled, a {{ent|logic_playerproxy}} can be used to fire an <code>Enable</code> input to the entity every time a portal is placed, which will orient the portals correctly. This can result in some odd behavior when placing portals near the edge of surfaces within the volume, {{ent|func_portal_bumper}}s should be used to prevent this.}}


== Keyvalues ==
== Keyvalues ==
{{KV|Angles to face|intn=AnglesToFace|angle|The 'floor' of the portal pair linkage will be in this direction.}}
{{KV|Angles to face|intn=AnglesToFace|angle|The angles to rotate portals to.{{tip|An easy way to figure out what to set this to is to place a {{ent|prop_portal}}, rotate it to the desired orientation, then look at its angles.}}}}
{{KV|Match linked angles.|intn=MatchLinkedAngles|boolean|If set, portals placed in this volume will have their angles match their linked portals. This only works for floor or ceiling portals with a currently linked partner.}}
{{KV|Match linked angles.|intn=MatchLinkedAngles|boolean|If set, portals placed in this volume will have their angles match their linked portals. This only works for floor or ceiling portals with a currently linked partner that is on a surface with the same orientation. {{todo|Seems to be broken in P1? It does work in P2 if the workaround is used.}}}}
{{KV Targetname}}
{{KV BaseEntity|l4d2=1}}
{{KV Parentname}}
{{KV EnableDisable}}
{{KV EnableDisable}}


== Inputs ==
== Inputs ==
{{I Targetname}}
{{I BaseEntity|l4d2=1|portal2=1}}
{{I Parentname}}
{{I EnableDisable}}
{{I EnableDisable}}


== Outputs ==
== Outputs ==
{{O Targetname}}
{{O BaseEntity}}

Revision as of 13:35, 26 April 2021

Template:Portal series brush It adjusts a portal's rotation to match a specified angle. The "front" of the portal points in the specified direction.

Icon-Bug.pngBug:Portal 2 Broken in Portal 2. It will rotate existing portals to the specified direction when first enabled, but will not affect newly-placed ones.  [todo tested in ?]
PlacementTip.pngWorkaround:Since it still works when first enabled, a logic_playerproxy can be used to fire an Enable input to the entity every time a portal is placed, which will orient the portals correctly. This can result in some odd behavior when placing portals near the edge of surfaces within the volume, func_portal_bumpers should be used to prevent this.

Keyvalues

Angles to face (AnglesToFace) <angle>
The angles to rotate portals to.
Tip.pngTip:An easy way to figure out what to set this to is to place a prop_portal, rotate it to the desired orientation, then look at its angles.
Match linked angles. (MatchLinkedAngles) <boolean>
If set, portals placed in this volume will have their angles match their linked portals. This only works for floor or ceiling portals with a currently linked partner that is on a surface with the same orientation.
Todo: Seems to be broken in P1? It does work in P2 if the workaround is used.


Start Disabled (StartDisabled) <boolean>
Stay dormant until activated (with theEnableinput).

Inputs

EnableDisable:

Enable / Disable
Enable/disable this entity from performing its task. It might also disappear from view.

Outputs