Vgui movie display

From Valve Developer Community
Revision as of 23:28, 2 October 2012 by IceSage (talk | contribs) (→‎Entity description: Website no longer exists (Broken Link))
Jump to navigation Jump to search

Template:Portal2 point

Entity description

This entity is used to display Bink (.BIK) videos on a wall. See List of Portal 2 Movies.

A movie screen is typically a brush face textured with elevator/elevator_screen or one of its variants. Make sure you click "Fit" in the Texture Application Tool.

The usual setup involves one vgui_movie_display with "_master" at the end of its target name, which then controls a group of slave vgui_movie_displays that have "Forced Slave" enabled and the same "Group Name" as the master entity.

Place a slave vgui_movie_display for each screen at the lower-left corner of the face. (This is so you can parent the entity to a panel.) Change the width and height to match each panel.

To start the movie, fire an "Enable" input at all vgui_movie_display entities; wildcards are useful for this.

You can also display movies in your Arrival or Departure Elevators by replacing the values present in the func_instance, instances/transitions/arrival_departure_transition_ents.vmf found in an already generated map, or by creating your own.

Property Name Value
Fix up Name
VMF Filename instances/transitions/arrival_departure_transition_ents.vmf
Replace $arrival_video media/faithplate.bik
Replace $departure_video media/animalking.bik

While not recommended for custom maps, Valve used a VScript ('''videos/video_splitter.nut''') to split the movies across 46 elevator room panels. It uses an embedded list of movies to control playback; you must add your own map name as a new entry to use it, though again, that's not recommended for custom maps.

Keyvalues

Display Text ([todo internal name (i)]) <string>
Movie Filename ([todo internal name (i)]) <string>
Path to the Bink video file, located in media/ see List of Portal 2 Movies or import your own.
Group Name ([todo internal name (i)]) <string>
What group of vgui_movie_display entities it belongs to.
Loop Movie ([todo internal name (i)]) <boolean>
If true, the movie will be played in an endless loop.
Stretch to Fill ([todo internal name (i)]) <boolean>
If true, will resize the movie to fill the wall screen.
Forced slave ([todo internal name (i)]) <boolean>
Whether this is a "slave" vgui_movie_display that takes command from the master.
Force precache ([todo internal name (i)]) <boolean>
Precache the movie referred to by Movie Filename on entity spawn.
Panel width ([todo internal name (i)]) <integer>
Width of the panel in units. (Default: 2)
Panel height ([todo internal name (i)]) <integer>
Height of the panel in units. (Default: 2)
Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Pitch Yaw Roll (Y Z X) (angles) <QAngle>
This entity's orientation in the world. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, roll is the rotation around the X axis.
Parentname:
Parent (parentname) <targetname>
Specifies a movement parent. An entity will maintain its initial offset from its parent. An attachment point can be added to the end of the name, separated by a comma.

Inputs

Enable
Make movie visible.
Disable
Make movie invisible.
SetDisplayText <stringRedirectInput/string>
Sets the display text.
SetMovie <stringRedirectInput/string>
Sets the movie to display.
SetUseCustomUVs <booleanRedirectInput/boolean>
Use custom UVs.
TakeOverAsMaster
Start using this video as the master of it's group.
SetUMin <floatRedirectInput/float>
Set the minimum U.
SetUMax <floatRedirectInput/float>
Set the maximum U.
SetVMin <floatRedirectInput/float>
Set the minimum V.
SetVMax <floatRedirectInput/float>
Set the maximum V.


Parentname:
SetParent <stringRedirectInput/string>
Move with this entity. See Entity Hierarchy (parenting).
SetParentAttachment <stringRedirectInput/string>
Change this entity to attach to a specific attachment point on its parent. The entity will teleport so that the position of its root bone matches that of the attachment. Entities must be parented before being sent this input.
SetParentAttachmentMaintainOffset <stringRedirectInput/string>
As above, but without teleporting. The entity retains its position relative to the attachment at the time of the input being received.
ClearParent
Removes this entity from the the movement hierarchy, leaving it free to move independently.

Outputs