<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.frictionalgames.com/page?action=history&amp;feed=atom&amp;title=HPL3%2FAreas%2FCamera_Animation_Area</id>
	<title>HPL3/Areas/Camera Animation Area - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.frictionalgames.com/page?action=history&amp;feed=atom&amp;title=HPL3%2FAreas%2FCamera_Animation_Area"/>
	<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Camera_Animation_Area&amp;action=history"/>
	<updated>2026-05-04T13:09:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Camera_Animation_Area&amp;diff=5547&amp;oldid=prev</id>
		<title>Darkfire: /* Instructions */ additional hint</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Camera_Animation_Area&amp;diff=5547&amp;oldid=prev"/>
		<updated>2020-11-09T21:10:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Instructions: &lt;/span&gt; additional hint&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 21:10, 9 November 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot; &gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Rotate the nodes so that their Z-axes point in the direction you want the camera to look at that part of the animation.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Rotate the nodes so that their Z-axes point in the direction you want the camera to look at that part of the animation.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In script, call the helper function &amp;lt;code&amp;gt;CameraAnimation_Begin()&amp;lt;/code&amp;gt; to start the animation.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In script, call the helper function &amp;lt;code&amp;gt;CameraAnimation_Begin()&amp;lt;/code&amp;gt; to start the animation&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. In our example, the argument to put in the function would be &amp;quot;WakeUpAnimation&amp;quot;&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Area (Animation node) properties ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Area (Animation node) properties ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki:diff::1.12:old-5546:rev-5547 --&gt;
&lt;/table&gt;</summary>
		<author><name>Darkfire</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Camera_Animation_Area&amp;diff=5546&amp;oldid=prev</id>
		<title>Darkfire: Created</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Camera_Animation_Area&amp;diff=5546&amp;oldid=prev"/>
		<updated>2020-11-09T21:07:28Z</updated>

		<summary type="html">&lt;p&gt;Created&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
These areas are ased as a camera viewpoint in a camera animation. The camera animation system is used to move the player camera along a specific path while still allowing some degree of interaction. The animation, once started via script, will move the camera between areas with the same base name.&lt;br /&gt;
&lt;br /&gt;
The areas are used in conjunction with their respective helper scripts. &lt;br /&gt;
The helper function prefixes are: '''CameraAnimation_, CameraAnimationNode_'''&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
To use the system, place CameraAnimation nodes (Area → CameraAnimation) in the scene and give each of them the name of the animation followed by an underscore and their placement within the animation (such as WakeUpAnimation_1, WakeUpAnimation_2 etc). Note that if you duplicate (Ctrl-D) a node, the duplicate will automatically get the next available number as its suffix.&lt;br /&gt;
&lt;br /&gt;
Make sure to set the time parameters on the nodes, or else the camera will just teleport, as the default times are 0 (although that might be wanted in some cases).&lt;br /&gt;
&lt;br /&gt;
Rotate the nodes so that their Z-axes point in the direction you want the camera to look at that part of the animation.&lt;br /&gt;
&lt;br /&gt;
In script, call the helper function &amp;lt;code&amp;gt;CameraAnimation_Begin()&amp;lt;/code&amp;gt; to start the animation.&lt;br /&gt;
&lt;br /&gt;
== Area (Animation node) properties ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Property !! Description&lt;br /&gt;
|-&lt;br /&gt;
| MaxYaw/MaxPitch || Dictates how far the player is allowed to rotate the camera away from the target forward rotation. This value is interpolated between nodes.&lt;br /&gt;
|-&lt;br /&gt;
| LookSpeedMultiplier || How fast the player can rotate the camera.&lt;br /&gt;
|-&lt;br /&gt;
| ForwardTime || The time it takes to move from this node to the next at full speed forward.&lt;br /&gt;
|-&lt;br /&gt;
| BackwardTime || The time it takes to move from the next node to this one at full reverse speed.&lt;br /&gt;
|-&lt;br /&gt;
| AutoMovement || Dictates how the animation behaves when no movement input is given, or when movement input is disabled. 0 stops movement, 1 is as if given full forward speed (animation will finish after [ForwardTime] seconds), -1 is as if given full reverse speed.&lt;br /&gt;
|-&lt;br /&gt;
| LookMoveDistance || The length between this node and the next the player can move just by looking toward the next node, given as a value between 0 and 1.&lt;br /&gt;
|-&lt;br /&gt;
| LookMoveMaxAngle || The maximum angle away from the next node the player can look and still move forward. Only valid if LookMoveDistance &amp;gt; 0.&lt;br /&gt;
|-&lt;br /&gt;
| InteractiveMovement || If checked, the player can control the movement between this node and the next. If unchecked, the AutoMovement property has complete control over the movement and should not be set to 0.&lt;br /&gt;
|-&lt;br /&gt;
| CrouchOnExit || If checked, the player will automatically crouch if the animation is ended at this node.&lt;br /&gt;
|-&lt;br /&gt;
| InitToCamera || If checked, the node is given the orientation of the camera when the animation starts. This is very useful when you want the animation to have a smooth beginning, or you want to make sure the player is returned to where they were when the end node is reached.&lt;br /&gt;
|-&lt;br /&gt;
| UsePlayerEyeline || If ticked, instead of using the Y-value of the node itself, the camera system uses the Y-value that the player's eyeline should be at that point (i.e. from the ground/floor upwards).&lt;br /&gt;
|-&lt;br /&gt;
| CallbackFunc || Function in the level script that should be called when reaching this node. The syntax is bool FuncName(const tString &amp;amp;in asEntity, int alDirection), where asEntity is the name of the node and alDirection is 1 if moving forward and -1 if moving backward.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Important Functions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Function !! Description&lt;br /&gt;
|-&lt;br /&gt;
| CameraAnimation_Begin || Start a camera animation.&lt;br /&gt;
|-&lt;br /&gt;
| CameraAnimation_End || Stop a camera animation.&lt;br /&gt;
|-&lt;br /&gt;
| CameraAnimationNode_SetAutoMove || Allows you to pause or continue animation at a particular node.&lt;br /&gt;
|-&lt;br /&gt;
| CameraAnimationNode_SetInteractiveMovement || Allows you to enable the player to progress within a particular node.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Asides from these functions, there are getters and setters for the available parameters.&lt;/div&gt;</summary>
		<author><name>Darkfire</name></author>
		
	</entry>
</feed>