Point viewcontrol: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
(Put a shortened bug list onto the page, added more bugs and some notes, fixed some grammar)
Line 3: Line 3:
{{in code|class=class_c_trigger_camera.html CTriggerCamera|file=triggers_8cpp-source.html triggers.cpp}}
{{in code|class=class_c_trigger_camera.html CTriggerCamera|file=triggers_8cpp-source.html triggers.cpp}}


{{bug|This class appears to have some problems. Please see its [[talk:point_viewcontrol| discussion]] page for notes.}}
{{note|This entity has many problems. See the [[talk:point_viewcontrol| discussion]] page for full descriptions and fixes.}}
{{note|Players will be invincible while under control of a camera.}}
{{bug|The camera doesn't follow its path correctly. It will not follow paths at all if it doesn't have an <code>Entity to Look At</code> set.}}
{{bug|The camera ignores the <code>New Train Speed</code> keyvalue and <code>Teleport to THIS path_corner</code> spawnflag on [[path_track]]s.}}
{{bug|The camera fails to function when parented, [[logic_measure_movement]] can be used as a workaround.}}
{{bug|If the camera is killed while active, or the player suicides, the camera will be stuck permanently on the player's screen. The only fix afterwards is for the player to reconnect to the server.}}


== Keyvalues ==
== Keyvalues ==
Line 16: Line 21:
{{KV|Tracking Speed of the camera|float|The speed that the camera tries to follow it's look target.|since=P2}}
{{KV|Tracking Speed of the camera|float|The speed that the camera tries to follow it's look target.|since=P2}}
{{KV|FOV|float|The FOV when using this camera.|since=AS}} {{Not in FGD}}
{{KV|FOV|float|The FOV when using this camera.|since=AS}} {{Not in FGD}}
{{KV|FOV rate|float|How fast we change to the new fov.|since=AS}} {{Not in FGD}}
{{KV|FOV rate|float|How fast we change to the new FOV.|since=AS}} {{Not in FGD}}
{{KV Targetname}}
{{KV Targetname}}
{{KV Angles}}
{{KV Angles}}
{{KV Parentname}}


== Flags ==
== Flags ==
* 1 : Start At Player
* 1 : Start At Player
: Start the camera at the player's position. This is kind of buggy, because it breaks the camera movement if the player is still moving when this is activated.
: Start the camera at the player's position.
{{bug|Breaks the camera movement if the player was still moving when the camera activated.}}
* 2 : Follow Player
* 2 : Follow Player
: This is the same as if you set the lookat target to !player.
: This is the same as if you set the lookat target to !player.
{{bug|Causes camera issues in multiplayer.}}
* 4 : Freeze Player
* 4 : Freeze Player
: Stop recognizing input from the player.
: Stop recognizing input from the player.
Line 34: Line 40:
* 64 : Interruptable by Player
* 64 : Interruptable by Player
: If the player presses +Use, disable.
: If the player presses +Use, disable.
* 128 : Set Fov {{AS add}} {{Not in FGD}} (in ''Synergy'' this flag makes the point_viewcontrol work on all players)
* 128 : Set FOV {{AS add}} {{Not in FGD}} (in ''Synergy'' this flag makes the point_viewcontrol work on all players)


== Inputs ==
== Inputs ==
Line 49: Line 55:


== Outputs ==
== Outputs ==
{{IO|OnEndFollow|Fired when the point_viewcontrol deactivates, due to the <code>Disable</code> input being received, the Entity to Look At being destroyed, or the Hold Time expiring.}}
{{IO|OnEndFollow|Fired when the point_viewcontrol deactivates, due to the <code>Disable</code> input being received, the <code>Entity to Look At</code> being destroyed, or the <code>Hold Time</code> expiring.}}
{{O Targetname}}
{{O Targetname}}



Revision as of 11:46, 1 September 2018

Template:Base point It is a camera entity that controls the player's view. While it's active, the player will see out of the camera.

Template:In code

Note.pngNote:This entity has many problems. See the discussion page for full descriptions and fixes.
Note.pngNote:Players will be invincible while under control of a camera.
Icon-Bug.pngBug:The camera doesn't follow its path correctly. It will not follow paths at all if it doesn't have an Entity to Look At set.  [todo tested in ?]
Icon-Bug.pngBug:The camera ignores the New Train Speed keyvalue and Teleport to THIS path_corner spawnflag on path_tracks.  [todo tested in ?]
Icon-Bug.pngBug:The camera fails to function when parented, logic_measure_movement can be used as a workaround.  [todo tested in ?]
Icon-Bug.pngBug:If the camera is killed while active, or the player suicides, the camera will be stuck permanently on the player's screen. The only fix afterwards is for the player to reconnect to the server.  [todo tested in ?]

Keyvalues

Entity to Look At ([todo internal name (i)]) <targetname>
Name of the entity that the camera should point at and track while active.
Target Attachment Name ([todo internal name (i)]) <string>
If set, the camera will focus on the specified attachment on the 'Entity to Look At'.
Hold Time ([todo internal name (i)]) <integer>
The amount of time the camera should control the player's view for, after which it deactivates itself. If the camera should stay active until told to deactive, set the 'Infinite Hold Time' spawnflag.
Path Corner ([todo internal name (i)]) <targetname>
The first path corner in a track that the camera should move along once it's activated. If not specified, the camera won't move.
Interpolate Position To Player ([todo internal name (i)]) <boolean>
Gradually interpolate player's position to here on start. (Episodic only)
Initial Speed ([todo internal name (i)]) <string>
The starting speed that the camera moves at, if it's on a path track.
Acceleration units/sec^2 ([todo internal name (i)]) <string>
The speed at which the camera accelerates to path corner's desired speeds.
Stop Deceleration units/sec^2 ([todo internal name (i)]) <string>
The speed at which the camera decelerates to path corner's desired speeds.
Tracking Speed of the camera ([todo internal name (i)]) <float> (in all games since Portal 2)
The speed that the camera tries to follow it's look target.
FOV ([todo internal name (i)]) <float> (in all games since Alien Swarm)
The FOV when using this camera. !FGD
FOV rate ([todo internal name (i)]) <float> (in all games since Alien Swarm)
How fast we change to the new FOV. !FGD
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.

Flags

  • 1 : Start At Player
Start the camera at the player's position.
Icon-Bug.pngBug:Breaks the camera movement if the player was still moving when the camera activated.  [todo tested in ?]
  • 2 : Follow Player
This is the same as if you set the lookat target to !player.
Icon-Bug.pngBug:Causes camera issues in multiplayer.  [todo tested in ?]
  • 4 : Freeze Player
Stop recognizing input from the player.
  • 8 : Infinite Hold Time
Ignore the hold time, and stay activated until explicitly disabled.
  • 16 : Snap to goal angles
  • 32 : Make Player non-solid
  • 64 : Interruptable by Player
If the player presses +Use, disable.
  • 128 : Set FOV Template:AS add !FGD (in Synergy this flag makes the point_viewcontrol work on all players)

Inputs

Enable
Enable the point_viewcontrol, and start controlling the player's view.
Disable
Disable the point_viewcontrol, and stop controlling the player's view.
SetTarget <stringRedirectInput/string> (in all games since Portal 2)
Set a new target for the camera to point at.
SetTargetAttachment <stringRedirectInput/string> (in all games since Portal 2)
Set a new attachment on the target for the camera to point at.
ReturnToEyes  (in all games since Portal 2)
Return the camera view to the player's eyes.
TeleportToView  (in all games since Portal 2)
Teleport the player to the current position of the camera.
SetTrackSpeed <floatRedirectInput/float> (in all games since Portal 2)
Set the speed that the camera will try to track it's target.
SetPath <stringRedirectInput/string> (in all games since Portal 2)
Have the camera start following a new path.


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

OnEndFollow
Fired when the point_viewcontrol deactivates, due to the Disable input being received, the Entity to Look At being destroyed, or the Hold Time expiring.