<?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%2FSOMA%2FAreas%2FSit_Area</id>
	<title>HPL3/SOMA/Areas/Sit 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%2FSOMA%2FAreas%2FSit_Area"/>
	<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/Sit_Area&amp;action=history"/>
	<updated>2026-10-04T03:48:16Z</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/SOMA/Areas/Sit_Area&amp;diff=7314&amp;oldid=prev</id>
		<title>TiMan: Add a source-verified SOMA Sit Area guide covering placement, properties, runtime behavior, testing, and documented limitations.</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/Sit_Area&amp;diff=7314&amp;oldid=prev"/>
		<updated>2026-10-02T15:17:38Z</updated>

		<summary type="html">&lt;p&gt;Add a source-verified SOMA Sit Area guide covering placement, properties, runtime behavior, testing, and documented limitations.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;A '''Sit Area''' is an interactable SOMA area that moves the player's camera to the area's position and orientation, then limits how far the player can look while seated. It uses SOMA's dedicated &amp;lt;code&amp;gt;State_Sit&amp;lt;/code&amp;gt; player state.&lt;br /&gt;
&lt;br /&gt;
== Create and place a Sit Area ==&lt;br /&gt;
&lt;br /&gt;
# In the Level Editor, select '''Area EditMode''' and choose the &amp;lt;code&amp;gt;Sit&amp;lt;/code&amp;gt; area type.&lt;br /&gt;
# Place the area where the player's camera should end up while seated.&lt;br /&gt;
# Rotate its orientation indicator toward the desired forward direction. The Sit state reads the area's complete transform as the target camera transform.&lt;br /&gt;
# Set '''MaxYaw''' and '''MaxPitch''' to limit the seated view.&lt;br /&gt;
# Give the area a clear unique name, save the map, and test it in development mode.&lt;br /&gt;
&lt;br /&gt;
The class definition enables the orientation indicator and disables ordinary scaling in the editor. Placement and rotation are therefore the important setup operations. Keep the target camera position clear of nearby geometry.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Property !! Type !! Default !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MaxYaw&amp;lt;/code&amp;gt; || Float || &amp;lt;code&amp;gt;80&amp;lt;/code&amp;gt; || Maximum horizontal view offset from the area's forward direction. The area script converts this editor value from degrees to radians before entering the Sit state.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MaxPitch&amp;lt;/code&amp;gt; || Float || &amp;lt;code&amp;gt;50&amp;lt;/code&amp;gt; || Maximum vertical view offset from the area's forward direction. The area script also converts this value from degrees to radians.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Runtime behavior ==&lt;br /&gt;
&lt;br /&gt;
When the player focuses the area, SOMA displays the sit-down interaction icon. Interacting performs the following sequence:&lt;br /&gt;
&lt;br /&gt;
# The area disables itself so it cannot be selected again during the transition.&lt;br /&gt;
# Its yaw limit, pitch limit, and name are passed to &amp;lt;code&amp;gt;State_Sit&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The player changes to the Sit state.&lt;br /&gt;
# Over &amp;lt;code&amp;gt;1.5&amp;lt;/code&amp;gt; seconds, the camera interpolates from its original transform to the Sit Area's transform.&lt;br /&gt;
# Once seated, normal movement input is suppressed and look input is clamped to the configured yaw and pitch limits.&lt;br /&gt;
&lt;br /&gt;
The player can leave the state with interaction cancel, forward movement, or jump. On a normal exit, the camera returns to ordinary control and the Sit Area is reactivated. While seated, the player can still interact with a focused prop; SOMA preserves the special read crosshair for readable props and otherwise shows the default crosshair.&lt;br /&gt;
&lt;br /&gt;
== Shipped SOMA reference ==&lt;br /&gt;
&lt;br /&gt;
SOMA contains one serialized Sit Area, &amp;lt;code&amp;gt;SitArea_5&amp;lt;/code&amp;gt;, in &amp;lt;code&amp;gt;maps/chapter00/00_03_laboratory/00_03_laboratory.hpm_Area&amp;lt;/code&amp;gt;. It uses the default values &amp;lt;code&amp;gt;MaxYaw=80&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;MaxPitch=50&amp;lt;/code&amp;gt;, and its rotation faces in the opposite horizontal direction from the default orientation.&lt;br /&gt;
&lt;br /&gt;
That shipped instance is saved with &amp;lt;code&amp;gt;Active=&amp;quot;false&amp;quot;&amp;lt;/code&amp;gt;. It confirms the serialized type, transform, and properties, but it is not an active campaign demonstration of the complete interaction.&lt;br /&gt;
&lt;br /&gt;
== Test the area ==&lt;br /&gt;
&lt;br /&gt;
# Approach the area and confirm that the sit-down icon appears.&lt;br /&gt;
# Interact and confirm that the camera moves to the intended position without clipping into the seat or nearby geometry.&lt;br /&gt;
# Look in every direction and verify that the limits fit the scene.&lt;br /&gt;
# Press interaction cancel, forward, or jump and confirm that ordinary camera and movement control return.&lt;br /&gt;
# Interact again to confirm that the area was reactivated.&lt;br /&gt;
&lt;br /&gt;
== Still to verify ==&lt;br /&gt;
&lt;br /&gt;
SOMA has no active shipped Sit Area to use as a visual reference. Exact placement relative to different chair meshes, collision-clearance requirements, and behavior after save/load should be verified in a test map.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[HPL3/SOMA/Areas|SOMA areas]]&lt;br /&gt;
* [[HPL3/SOMA/Getting Started/Test Debug and Continue|Test, debug and continue]]&lt;br /&gt;
&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>TiMan</name></author>
		
	</entry>
</feed>