<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.frictionalgames.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lil+alex</id>
	<title>Frictional Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.frictionalgames.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lil+alex"/>
	<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page/Special:Contributions/Lil_alex"/>
	<updated>2026-04-04T14:23:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Level_Design/Indoor_Level_Performance&amp;diff=6795</id>
		<title>HPL3/SOMA/Level Design/Indoor Level Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Level_Design/Indoor_Level_Performance&amp;diff=6795"/>
		<updated>2024-02-21T13:42:49Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Level Design - Indoor Level Performance =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This tutorial will show some steps on how to optimize an indoor level to get better performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Target ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Measuring performance can be hard. The main target is 60 FPS on a high end computer running at 1080p and 30 FPS on a low end computer running at 720p with low quality settings. There are other things that are much easier to measure. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Here is a list of goals for different parameters (in 1080p):&amp;lt;/u&amp;gt;&lt;br /&gt;
*''' Total Memory Usage: ~700 mb (max 1024 mb)&lt;br /&gt;
*''' Vertex Memory Usage: ~64 mb (max 128mb)&lt;br /&gt;
*''' Draw Calls: ~400 (max 500)&lt;br /&gt;
*''' Rendered Triangles: 1.0 million (max 1.5million)&lt;br /&gt;
*''' Queries: ~50 (max 100)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Occlusion Culling ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only way to get good performance on an indoor level is to design it to make use of occlusion culling. Occlusion culling reduces the number of objects that needs to be rendered.&lt;br /&gt;
Occlusion culling is a way for the graphics engine to calculate which objects are visible from a certain position in the level. This is a complicated problem and the engine will not be able to solve this perfectly on its own. There are a few things that can be done to increase the efficiency of the culling.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Occluders ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An occluder is an object that is used to block the vision of the engine. All static objects are automatically set to be occluders, but dynamic objects are not. Some type of dynamic entities should be set as occluder to help the game. The most important ones are doors or objects that act as blockades. You should not set to many dynamic objects as occluders since it increases the draw call and queries. But it is better with to many than to few.&lt;br /&gt;
In order to see where the occlusion culling fails you can use the Debug Menu (F1) in Depth and select Render Only Occluders. This will show you what the engine sees when determining what is visible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial_indoor_occluder_only.jpg|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The image to the left shows what the player sees. It looks like only a single room is rendered. On the right you can see what the engine sees when calculating what is visible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial_indoor_seen.jpg|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On the left you can see everything that is rendered when the door is not set to be an occluder, which is pretty much the whole level. On the right the door is set to be an occluder and most of the objects are removed. But it is still not perfect.&lt;br /&gt;
&lt;br /&gt;
'''IsOccluder''' setting can be found under the Appearance tab for dynamic entities.&lt;br /&gt;
&lt;br /&gt;
[[File:entity_occluder.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Room Positioning ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another way of making sure that the occlusion culling is effective is to try to separate rooms and corridors as much as possible.&lt;br /&gt;
The following images only show 2D setups, but they work on all axis and should be applied to 3D!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial_indoor_separate.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adding some space between rooms can help the occlusion culling determining which objects belong to which part of the level. The space does not need to be as big as in the image. The important part here is that the bounding volumes of the objects in one room should not intersect with the other room. This is very important for shadow casting lights.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial_indoor_zigzag.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this image the two rooms are connected with a corridor without doors. If the player stands in one room he would be able to see the other room. The best solution here would be to add doors or other occluders. If that is not possible you can change the look of the corridor so that the player does not have direct vision between the rooms. Using a diagonal corridor would work as good as a zigzag one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial_indoor_move_2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the performance is really bad and the culling fails then you should try to fully separate rooms in at least two axis. The dotted blue line show that the two rooms are not intersecting in the x- and y-axis. This kind of separation really helps the space partitioning algorithm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Leaks ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is important to fix any small gaps and leaks in the geometry between two rooms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial_indoor_pixel_holes.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here you can see some geometry leaks from one of the doors. These leaks can cause the occlusion culling to fail and should be fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shadows ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Spot light shadows are the second most expensive part of a indoor level. There are a few ways to reduce the cost of shadow casting.&lt;br /&gt;
&lt;br /&gt;
If your light is not used for anything gameplay related then you should disable &amp;quot;Shadow affects dynamic&amp;quot;. This greatly increases the speed of the shadow casting because the shadows only have to be generated one time. If the shadow affect dynamic entities it has to be generated again each frame.&lt;br /&gt;
&lt;br /&gt;
Optimize the radius and FOV of the light. The larger the radius the more objects has to be rendered to the shadow map. You should also try to keep the bounding volume of a light from leaking into multiple rooms. You can also connect a LightMask to the light to make sure that it does not leak outside of the room.&lt;br /&gt;
&lt;br /&gt;
If you have multiple shadow casting lights in the same room you can set the shadow fade range (not in yet) to a low value. This will make the shadows fade in/out when the camera gets further away than the value.&lt;br /&gt;
&lt;br /&gt;
Reducing the number of shadow casting lights and replacing them with one bigger light is also a great way to increase performance&lt;br /&gt;
&lt;br /&gt;
Use a gobo texture instead of shadow casting if possible.&lt;br /&gt;
&lt;br /&gt;
If a room requires the use of the flashlight then it needs to be turned on when calculating performance.&lt;br /&gt;
&lt;br /&gt;
You can increase the speed of shadow rendering by removing shadow casting on some object. You only have to do this on objects that are near a shadow casting light. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Here is a list of object that should never cast shadows:&amp;lt;/u&amp;gt;&lt;br /&gt;
*''' Floors that have nothing beneath them&lt;br /&gt;
*''' Outer walls that have nothing on the other side&lt;br /&gt;
*''' Small objects near walls and floors&lt;br /&gt;
*''' Objects that are guaranteed to be in the shadow of all lights&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Water ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Most of our levels feature water, this can be quite expensive. Water that uses reflections require the game to render twice, this can really slow down the level. The main thing to fix areas that have water reflection is to reduce the number of objects in it.&lt;br /&gt;
&lt;br /&gt;
If a level requires both detail and water then you can either disable reflections or set the ReflectionFadeEnd to a low value. ReflectionFadeEnd is a value in the water material that sets the maximum distance that the water can reflect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:water_material.jpg]]&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Level_Design/Outdoor_Level_Performance&amp;diff=6794</id>
		<title>HPL3/SOMA/Level Design/Outdoor Level Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Level_Design/Outdoor_Level_Performance&amp;diff=6794"/>
		<updated>2024-02-21T13:38:31Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: formating&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Level Design - Outdoor Level Performance =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This tutorial will show some steps on how to optimize an outdoor level to get better performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Target ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Measuring performance can be hard. The main target is 60 FPS on a high end computer running at 1080p and 30 FPS on a low end computer running at 720p with low quality settings. There are other things that are much easier to measure. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Here is a list of goals for different parameters (in 1080p):&amp;lt;/u&amp;gt;&lt;br /&gt;
*''' Total Memory Usage: ~700 mb (max 1024 mb)&lt;br /&gt;
*''' Vertex Memory Usage: ~128 mb (max 256 mb)&lt;br /&gt;
*''' Draw Calls: ~300 (max 400)&lt;br /&gt;
*''' Rendered Triangles: 1.0-1.5 million (max 2 million)&lt;br /&gt;
*''' Queries: ~30 (max 60)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Terrain ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The terrain is the main part of an outdoor level. It should make out most of the geometry of the level.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rendering terrain is much faster than rendering multiple meshes. To get good performance it is important to use the terrain to make up most of the silhouette of the level and just use meshes for important landmarks and details. To be able to use terrain for all of the silhouette it is possible to set a Cliff Texture. With Cliff Textures it is possible to use terrain as walls instead of having to use meshes. The cliff texture is automatically projected to the steep cliffs of the terrain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:cliff_walls.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Terrain optimization checklist:&amp;lt;/u&amp;gt; &lt;br /&gt;
*''' Unit Size should be 1 or higher&lt;br /&gt;
*''' Geometry Patch Size should be the same size as Texture Patch Size&lt;br /&gt;
*''' Undergrowth Fade End should be 40 or lower&lt;br /&gt;
*''' Don't use too many different undergrowth materials (1x draw calls per material type)&lt;br /&gt;
*''' Use Cliff Texture for walls&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fog ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fog is great for adding atmosphere and scale to a level. But it can also be used to increase performance of the level.&lt;br /&gt;
Performance can be increased in two ways by using fog. The first is by using a fog color with alpha set to 255. Setting alpha to the max value means that objects further away than the Fog End will get fully fogged and get the color set to the fog color. Since the object gets fully fogged we can now render it without texturing which greatly increases speed.&lt;br /&gt;
When the alpha is set to 255 it is also possible to activate Fog Culling in the settings. This will cause any object further away than Fog End to get culled and not rendered at all. This setting should only be used when there is no need for silhouettes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Distance Culling ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:hpl3:engine:rendering|Distance culling]] is a technique for removing objects that are far away from the player. It works by calculating how big an object will be on the screen and then removes it if it is smaller than the selected value. It is also possible to set a minimum range, any object closer than this will never get culled.&lt;br /&gt;
Distance culling works on all types of objects. Objects that get culled will fade in/out and not pop directly. A good value for the Screen Size parameter is 5-10%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:screen_screenshot_005.jpg|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each entity and static mesh has a setting called &amp;quot;Distance Culling&amp;quot;. Having this toggled will mean that objects can get culled by distance culling. Most objects should have this toggled. The only objects that should disable distance culling are gameplay objects, landmarks and other important objects like lamps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:distance_culling.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Distance Culling is the most important setting for getting good performance on outdoor levels.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Directional Light and Shadows ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Directional light with sky and ground color should make up the base of the outdoor lighting.&lt;br /&gt;
Most outdoor levels also require the use of directional light shadows. This is a very expensive operation. To lower the impact of shadow rendering you will have to uncheck the &amp;quot;Cast shadows&amp;quot; checkbox for some types of objects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Here is a list of object that should not cast shadows:&amp;lt;/u&amp;gt;&lt;br /&gt;
*''' Small objects&lt;br /&gt;
*''' Objects that are almost hidden in undergrowth&lt;br /&gt;
*''' Objects that are only used as a silhouette&lt;br /&gt;
*''' Objects that will always be far away&lt;br /&gt;
*''' Big objects that the player can never reach&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:tutorial_no_cast_shadow.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The objects selected in this picture are located above the player and can not be reached because of invisible walls. Shadow casting can be disabled for them without affecting the quality of the scene.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas&amp;diff=6780</id>
		<title>HPL3/SOMA/Areas</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas&amp;diff=6780"/>
		<updated>2024-02-08T18:34:41Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: /* Unused Areas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{constructionNotice|This category and its sub-pages are undergoing major editing, as some information in this category and all the sub pages is currently in the process of being formatted or re-written from scratch to achieve a higher standard of formatting, or not everything is yet available. More pages and information will gradually be added.}}&lt;br /&gt;
&lt;br /&gt;
'''This category covers everything about the Area in the HPL3 Engine and SOMA.'''&lt;br /&gt;
&lt;br /&gt;
{{CategoryHeader}}&lt;br /&gt;
{{CategoryNewcolumn}}&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
* [[HPL3/Areas|Areas Overview]]&lt;br /&gt;
&lt;br /&gt;
== Engine Areas ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* [[HPL3/Areas/PlayerStart Area|PlayerStart Area]]&lt;br /&gt;
* [[HPL3/Areas/Trigger Area|Trigger Area]]&lt;br /&gt;
* [[HPL3/Areas/DoorwayTrigger Area|DoorwayTrigger Area]]&lt;br /&gt;
* [[HPL3/Areas/PathNode Area|PathNode Area]]&lt;br /&gt;
* [[HPL3/Areas/Sticky Area|Sticky Area]]&lt;br /&gt;
* [[HPL3/Areas/InteractAux Area|InteractAux Area]]&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
* [[HPL3/Areas/Fog Area|Fog Area]]&lt;br /&gt;
* [[HPL3/Areas/SoundScape Area|Soundscape Area]]&lt;br /&gt;
* [[HPL3/Areas/Camera Animation Area|Camera Animation Area]]&lt;br /&gt;
* [[HPL3/Areas/Liquid Area|Liquid Area]]&lt;br /&gt;
* [[HPL3/Areas/Ambient Light Area|Ambient Light Area]]&lt;br /&gt;
* [[HPL3/Areas/Exposure Area|Exposure Area]]&lt;br /&gt;
&lt;br /&gt;
=== Gameplay ===&lt;br /&gt;
* [[HPL3/Areas/Climb Area|Climb Area]]&lt;br /&gt;
* [[HPL3/Areas/Crawl Area|Crawl Area]]&lt;br /&gt;
* [[HPL3/Areas/Hide Area|Hide Area]]&lt;br /&gt;
* [[HPL3/Areas/Ladder Area|Ladder Area]]&lt;br /&gt;
* [[HPL3/Areas/Zoom Area|Zoom Area]]&lt;br /&gt;
&lt;br /&gt;
=== Technical ===&lt;br /&gt;
&lt;br /&gt;
* [[HPL3/Areas/Visibility Area|Visibility Area]]&lt;br /&gt;
* [[HPL3/Areas/VisibilityPortal Area|VisibilityPortal Area]]&lt;br /&gt;
* [[HPL3/Areas/MapTransfer Area|MapTransfer Area]]&lt;br /&gt;
&lt;br /&gt;
{{CategoryNewcolumn}}&lt;br /&gt;
&lt;br /&gt;
== Game-Specific Areas ==&lt;br /&gt;
* [[HPL3/SOMA/Areas/Tool Area|Tool Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/Sit Area|Sit Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/Distortion Area|Distortion Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/Datamine Area|Datamine Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/AgentRepel Area|AgentRepel Area]]&lt;br /&gt;
&lt;br /&gt;
== Unused Areas ==&lt;br /&gt;
* [[HPL3/Areas/Description Area|Description Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/DatamineAudioSource Area|DatamineAudioSource Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/DatamineAnimNode Area|DatamineAnimNode Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/PosNode|PosNode]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/Rope|Rope]]&lt;br /&gt;
{{CategoryEnd}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Entry pages]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/AgentRepel_Area&amp;diff=6779</id>
		<title>HPL3/SOMA/Areas/AgentRepel Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/AgentRepel_Area&amp;diff=6779"/>
		<updated>2024-02-08T18:31:06Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: created page with basic information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This area type repels AI creatures who enter it, that is, it encourages any agent to leave the area.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
=== AgentRepel ===&lt;br /&gt;
* '''ExitArea''': A [[HPL3/Areas/Trigger Area | Trigger Area]] for the agent to navigate torwards if the agent enters this area&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/Datamine_Area&amp;diff=6778</id>
		<title>HPL3/SOMA/Areas/Datamine Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/Datamine_Area&amp;diff=6778"/>
		<updated>2024-02-08T18:25:56Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: created page with basic information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
Helper Function: [[HPL3/SOMA/Scripting/Datamine Handler | Datamine Handler]] &amp;lt;br&amp;gt;&lt;br /&gt;
Datamining is what happens when the player in SOMA touches a dead person, intercom or other piece of technology and hears the last few moments of data buffer as an audio clip. Most of this is handled automatically by '''Prop_Datamine''' and '''Datamine Area''', but there are a few helper functions available.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
=== Base ===&lt;br /&gt;
* '''BlockLineOfSight''': Blocks line of sight.&lt;br /&gt;
* '''EventInstanceTag''': A tag used by the event system to group objects.&lt;br /&gt;
* '''UserVar''': Arbitrary user variable. Acessable by calling the script function &amp;lt;code&amp;gt;Entity_GetVar&amp;lt;type&amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Collide Callbacks ===&lt;br /&gt;
* '''CC_Entities''': A list separated by commas or spaces of all entities that can trigger the callback. ''player'' is the player character.&lt;br /&gt;
* '''CC_Funcs''': A list of functions that will run when the area is triggered.&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;br /&gt;
* '''ParentAttachLocked''': Locks the area to the parent and disables local movement.&lt;br /&gt;
&lt;br /&gt;
=== Datamine_Area ===&lt;br /&gt;
* '''IsBlackBox''': Obsolete&lt;br /&gt;
* '''EffectProp''': Entity to apply highlights to&lt;br /&gt;
&lt;br /&gt;
=== Datamine_General ===&lt;br /&gt;
* '''MaxFocusDistance''': Max distance the player can be to interact&lt;br /&gt;
* '''BeepingActive''': If beeping should be active from the start {{clarify}}&lt;br /&gt;
* '''FinalSubjectCallback''': Callback once the player has heard the final line of the audio&lt;br /&gt;
* '''DataminingDoneCallback''': Callback once the player has exited the datamine&lt;br /&gt;
* '''DatamineGlow''': Should the datamine be highlighted when the player is near?&lt;br /&gt;
* '''RangeArea''': Specify an area; once the player leaves it, the datamine fades.&lt;br /&gt;
* '''StopAllVoices''': If true, all other voices are stopped when the player triggers the datamine.&lt;br /&gt;
&lt;br /&gt;
=== Datamine_Page_# ===&lt;br /&gt;
* '''Page_#_VoiceSubject''': Voicehandler Subject to play&lt;br /&gt;
* '''Page_#_TextCategory''': Obsolete&lt;br /&gt;
* '''Page_#_TextEntry''': Obsolete&lt;br /&gt;
* '''Page_#_Image''': Obsolete&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Description_Area&amp;diff=6777</id>
		<title>HPL3/Areas/Description Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Description_Area&amp;diff=6777"/>
		<updated>2024-02-08T18:11:16Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: updated links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{warning|This area is not used in Soma}}&lt;br /&gt;
Description is a deprecated area used for displaying text to the screen. Use [[HPL3/SOMA/Scripting/Scripting_Api/Readable|Readables]] and [[HPL3/Areas/Zoom Area|ZoomAreas]] instead.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas&amp;diff=6776</id>
		<title>HPL3/SOMA/Areas</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas&amp;diff=6776"/>
		<updated>2024-02-08T18:06:57Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: moved unimplemented areas to new category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{constructionNotice|This category and its sub-pages are undergoing major editing, as some information in this category and all the sub pages is currently in the process of being formatted or re-written from scratch to achieve a higher standard of formatting, or not everything is yet available. More pages and information will gradually be added.}}&lt;br /&gt;
&lt;br /&gt;
'''This category covers everything about the Area in the HPL3 Engine and SOMA.'''&lt;br /&gt;
&lt;br /&gt;
{{CategoryHeader}}&lt;br /&gt;
{{CategoryNewcolumn}}&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
* [[HPL3/Areas|Areas Overview]]&lt;br /&gt;
&lt;br /&gt;
== Engine Areas ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* [[HPL3/Areas/PlayerStart Area|PlayerStart Area]]&lt;br /&gt;
* [[HPL3/Areas/Trigger Area|Trigger Area]]&lt;br /&gt;
* [[HPL3/Areas/DoorwayTrigger Area|DoorwayTrigger Area]]&lt;br /&gt;
* [[HPL3/Areas/PathNode Area|PathNode Area]]&lt;br /&gt;
* [[HPL3/Areas/Sticky Area|Sticky Area]]&lt;br /&gt;
* [[HPL3/Areas/InteractAux Area|InteractAux Area]]&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
* [[HPL3/Areas/Fog Area|Fog Area]]&lt;br /&gt;
* [[HPL3/Areas/SoundScape Area|Soundscape Area]]&lt;br /&gt;
* [[HPL3/Areas/Camera Animation Area|Camera Animation Area]]&lt;br /&gt;
* [[HPL3/Areas/Liquid Area|Liquid Area]]&lt;br /&gt;
* [[HPL3/Areas/Ambient Light Area|Ambient Light Area]]&lt;br /&gt;
* [[HPL3/Areas/Exposure Area|Exposure Area]]&lt;br /&gt;
&lt;br /&gt;
=== Gameplay ===&lt;br /&gt;
* [[HPL3/Areas/Climb Area|Climb Area]]&lt;br /&gt;
* [[HPL3/Areas/Crawl Area|Crawl Area]]&lt;br /&gt;
* [[HPL3/Areas/Hide Area|Hide Area]]&lt;br /&gt;
* [[HPL3/Areas/Ladder Area|Ladder Area]]&lt;br /&gt;
* [[HPL3/Areas/Zoom Area|Zoom Area]]&lt;br /&gt;
&lt;br /&gt;
=== Technical ===&lt;br /&gt;
&lt;br /&gt;
* [[HPL3/Areas/Visibility Area|Visibility Area]]&lt;br /&gt;
* [[HPL3/Areas/VisibilityPortal Area|VisibilityPortal Area]]&lt;br /&gt;
* [[HPL3/Areas/MapTransfer Area|MapTransfer Area]]&lt;br /&gt;
&lt;br /&gt;
{{CategoryNewcolumn}}&lt;br /&gt;
&lt;br /&gt;
== Game-Specific Areas ==&lt;br /&gt;
* [[HPL3/SOMA/Areas/Tool Area|Tool Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/Sit Area|Sit Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/Distortion Area|Distortion Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/Datamine Area|Datamine Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/AgentRepel Area|AgentRepel Area]]&lt;br /&gt;
&lt;br /&gt;
== Unused Areas ==&lt;br /&gt;
* [[HPL3/Areas/Description Area|Description Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/DatamineAudioSource Area|DatamineAudioSource Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/DatamineAnimNode Area|DatamineAnimNode Area]]&lt;br /&gt;
{{CategoryEnd}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Entry pages]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/DoorwayTrigger_Area&amp;diff=6775</id>
		<title>HPL3/Areas/DoorwayTrigger Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/DoorwayTrigger_Area&amp;diff=6775"/>
		<updated>2024-02-08T18:03:10Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: created page with basic information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This area is useful for telling you when the player has walked into a particular part of the map. You set up a doorway with the Z-axis pointing in to the 'inside' of the room/area and away from the 'outside'. When the player walks in through the door, the DoorwayCallback is called with an ''alState'' parameter of 1. When the player walks out through the door, the callback is called with an ''alState'' of -1.&lt;br /&gt;
&lt;br /&gt;
You can also link sets of doorways, which is a great way to figure out if the player is inside an irregular space. If you specify the DoorwayGroup property, then you can use the function &amp;lt;code&amp;gt;Doorway_PlayerIsInGroup()&amp;lt;/code&amp;gt; to check if the player has crossed into the space delimited by these doorways. For example, if you cross any of the doorways going 'inwards' i.e. ''alState == 1'', then you are in the group; crossing any going 'outwards' i.e. ''alState == -1'' means you are outside the group.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
=== Base ===&lt;br /&gt;
* '''BlockLineOfSight''': Blocks line of sight.&lt;br /&gt;
* '''EventInstanceTag''': A tag used by the event system to group objects.&lt;br /&gt;
* '''UserVar''': Arbitrary user variable. Acessable by calling the script function &amp;lt;code&amp;gt;Entity_GetVar&amp;lt;type&amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Collide Callbacks ===&lt;br /&gt;
* '''CC_Entities''': A list separated by commas or spaces of all entities that can trigger the callback. ''player'' is the player character.&lt;br /&gt;
* '''CC_Funcs''': A list of functions that will run when the area is triggered. Press copy to generate a callback function and copy to the clipboard&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;br /&gt;
* '''ParentAttachLocked''': Locks the area to the parent and disables local movement.&lt;br /&gt;
&lt;br /&gt;
=== DoorwayTrigger ===&lt;br /&gt;
* '''DoorwayEntity''': The entities that can trigger this area&lt;br /&gt;
* '''DoorwayGroup''': The shared group of potentially multiple doorways. Links multiple doorway areas together.&lt;br /&gt;
* '''DoorwayCallback''': The callback to run when a player enters or exits a doorway&lt;br /&gt;
* '''DoorwayCheckCenterOnly''': If only the center of the area should check for collisions.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/Distortion_Area&amp;diff=6774</id>
		<title>HPL3/SOMA/Areas/Distortion Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/Distortion_Area&amp;diff=6774"/>
		<updated>2024-02-08T17:54:04Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: created page with basic information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This area will apply a Distortion Effect to the player while they are in it.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
=== Base ===&lt;br /&gt;
* '''BlockLineOfSight''': Blocks line of sight.&lt;br /&gt;
* '''EventInstanceTag''': A tag used by the event system to group objects.&lt;br /&gt;
* '''UserVar''': Arbitrary user variable. Acessable by calling the script function &amp;lt;code&amp;gt;Entity_GetVar&amp;lt;type&amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Collide Callbacks ===&lt;br /&gt;
* '''CC_Entities''': A list separated by commas or spaces of all entities that can trigger the callback. ''player'' is the player character.&lt;br /&gt;
* '''CC_Funcs''': A list of functions that will run when the area is triggered. Press copy to generate a callback function and copy to the clipboard&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;br /&gt;
* '''ParentAttachLocked''': Locks the area to the parent and disables local movement.&lt;br /&gt;
&lt;br /&gt;
=== DistortionArea ===&lt;br /&gt;
* '''EffectAmount''': The strength of the distortion. Values between 0 - 1&lt;br /&gt;
* '''FadeInTime''': Time in seconds to fade in the distortion effect&lt;br /&gt;
* '''FadeOutTime''': Time in seconds to fade out the distortion effect&lt;br /&gt;
* '''Volume''': The volume of the distorted audio that plays&lt;br /&gt;
* '''SourceEntity''': The name of an optional entity that will increase the effect as the player gets closer to it&lt;br /&gt;
* '''SourceEntityMinDist''': The distance to the '''SourceEntity''' at which the effect is at its maximum&lt;br /&gt;
* '''SourceEntityMaxDist''':The distance to the '''SourceEntity''' at which the effect ends. If a value of -1 is set, the size of the area will be used instead&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Ambient_Light_Area&amp;diff=6773</id>
		<title>HPL3/Areas/Ambient Light Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Ambient_Light_Area&amp;diff=6773"/>
		<updated>2024-02-08T17:43:47Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: created page with basic information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The player, by default, casts a small point light around them so that they can see things even when the room is very dark. This area type modifies that ambient light.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;br /&gt;
* '''ParentAttachSnap''': If the area should snap to the position of the parent.&lt;br /&gt;
* '''ParentAttachLocked''': Locks the area to the parent and disables local movement.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* '''Type''': The type of light {{clarify}}&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Zoom_Area&amp;diff=6772</id>
		<title>HPL3/Areas/Zoom Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Zoom_Area&amp;diff=6772"/>
		<updated>2024-02-08T17:36:09Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: created page with basic information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The Zoom area is an area that when interacted with by the player, will temporarily center their screen on the zoom area. This is commonly used on maps, windows, signs, and posters. Text can be displayed to caption or describe the in-game object. Optionally, an imgui function can be supplied and run when the area is interacted with allowing graphics to be displayed dynamically.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
[[File:Zoom area.png|thumb|A zoom area in front of a sign]]&lt;br /&gt;
=== Base ===&lt;br /&gt;
* '''BlockLineOfSight''': Blocks line of sight.&lt;br /&gt;
* '''EventInstanceTag''': A tag used by the event system to group objects.&lt;br /&gt;
* '''UserVar''': Arbitrary user variable. Accessible by calling the script function &amp;lt;code&amp;gt;Entity_GetVar&amp;lt;type&amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Collide Callbacks ===&lt;br /&gt;
* '''CC_Entities''': A list separated by commas or spaces of all entities that can trigger the callback. ''player'' is the player character.&lt;br /&gt;
* '''CC_Funcs''': A list of functions that will run when the area is triggered. Press copy to generate a callback function and copy to the clipboard&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;br /&gt;
* '''ParentAttachLocked''': Locks the area to the parent and disables local movement.&lt;br /&gt;
&lt;br /&gt;
=== Basic Callbacks ===&lt;br /&gt;
* '''PlayerLookAtCallback''': A function that will run when looking at the entity. Press generate to generate a name for this text field.&lt;br /&gt;
* '''PlayerLookAtCallbackAutoRemove''': Removes the callback after it fires once.&lt;br /&gt;
* '''PlayerLookAtCheckCenterOfScreen''': Only counts as looked if the entity is in the center of the screen.&lt;br /&gt;
* '''PlayerLookAtCheckRayInIntersection''': Only counts as looked at if their is a clear line of sight, i.e. not through a transparent object. ''Can return false negatives, especially if '''PlayerLookAtCheckCenterOfScreen''' is disabled.''&lt;br /&gt;
* '''PlayerLookAtMaxDistance''': Max distance an entity can be from the area. Values lower than 0 default to max distance.&lt;br /&gt;
* '''PlayerLookAtCallbackDelay''': Time in seconds to delay the callback&lt;br /&gt;
* '''PlayerInteractCallback''': Callback when the player interacts with the entity, i.e. grabbing or using. Press generate to generate a name for this text field.&lt;br /&gt;
* '''PlayerInteractCallbackAutoRemove''': Removes the callback after it fires once.&lt;br /&gt;
=== ZoomText ===&lt;br /&gt;
* '''TextCategory''': The category from the lang file to use&lt;br /&gt;
* '''TextEntry''': The Text entry in the lang file to use&lt;br /&gt;
* '''ZoomDistance''': The distance from the center of the Zoom Area where the camera will move to&lt;br /&gt;
* '''OnGuiFuntion''': The name of the imgui function to call to render optional graphics. Press generate to generate a name for this text field.&lt;br /&gt;
=== Appearance ===&lt;br /&gt;
* '''VerticalFOV''': The FOV the camera should be set to when interacting with the zoom area&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=File:Zoom_area.png&amp;diff=6771</id>
		<title>File:Zoom area.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=File:Zoom_area.png&amp;diff=6771"/>
		<updated>2024-02-08T17:32:03Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;a zoom area example&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6770</id>
		<title>HPL3/Areas/Sticky Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6770"/>
		<updated>2024-02-08T17:19:13Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: added img&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sticky Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
[[File:Sticky area.png|thumb|A sticky area being used in 01_04_transport_station.hpm. Light blue = Sticky Area, Green = Interact Aux Area]]&lt;br /&gt;
The Sticky Area is a area that can be used to allow entities to attach and detach to the area. This effect can simulate cables, computer chips, or any interactable physics entity that can be plugged in or unplugged. &lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
=== Base ===&lt;br /&gt;
* '''MoveBody''': If the body of the entity to attach should be moved into the position of the area when attached&lt;br /&gt;
* '''RotateBody''': If the body of the entity to attach should be rotated to match the sticky area when attached&lt;br /&gt;
* '''AttachableBodyName''': The name and body of the entity to attach. I.e. ''[entity_name]_Body_[#]''&lt;br /&gt;
* '''PoseTime''':  The time in seconds it takes for the entity to move and rotate into place when attached&lt;br /&gt;
* '''CheckCenterInArea''': Requires the center of the body of the entity to attach to be inside the sticky area&lt;br /&gt;
* '''CanDetach''': If the body of the area of the entity to attach can be detached to the sticky area&lt;br /&gt;
* '''RequiresInteraction''': If the entity requires player interaction to attach to the sticky area&lt;br /&gt;
&lt;br /&gt;
=== Callbacks ===&lt;br /&gt;
* '''AttachFunction''': Function to call when an entity attaches to the sticky area. Press copy to generate a callback function and copy to the clipboard&lt;br /&gt;
* '''DetachFunction''': Function to call when an entity detaches from the sticky area. Press copy to generate a callback function and copy to the clipboard&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
* '''AttachSound''': The sound to be played when an entity attaches to the area&lt;br /&gt;
* '''DetachSound''': The sound to be played when an entity detaches from the area&lt;br /&gt;
* '''AttachPS''': The particle system to be created when an entity attaches to the area&lt;br /&gt;
* '''DetachPS''': The particle system to be created when an entity detaches from the area&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this area is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the area.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;br /&gt;
&lt;br /&gt;
=== Springy ===&lt;br /&gt;
Springy behavior is best described as a tendency for the entity to attach to be attracted to the sticky area and for the entity to slightly resist being detached.&lt;br /&gt;
&lt;br /&gt;
* '''Springy_Active''': If springy behavior is enabled&lt;br /&gt;
* '''Springy_DetachDistanceMul''': Distance multiplier for the entity to be from the center of the area to detach. &lt;br /&gt;
* '''Springy_ForceMul''': Force multiplier to be applied to the entity when detached&lt;br /&gt;
* '''Springy_ReleaseTime''': Time in seconds to delay detaching the entity once the entity meets the detach criteria&lt;br /&gt;
* '''Springy_DetachLoopSound''': A looping sound to play when in the process of detaching an entity from a sticky area&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=File:Sticky_area.png&amp;diff=6769</id>
		<title>File:Sticky area.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=File:Sticky_area.png&amp;diff=6769"/>
		<updated>2024-02-08T17:17:33Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An example of a sticky area used in a map&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/Tool_Area&amp;diff=6768</id>
		<title>HPL3/SOMA/Areas/Tool Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/Tool_Area&amp;diff=6768"/>
		<updated>2024-02-08T17:10:07Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: grammer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This area when entered by the player will hold out a specified tool from the players inventory and be holstered when exiting the area.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
[[File:Tool area.png|thumb|A functioning Omnitool panel using an orange Tool Area]]&lt;br /&gt;
=== Tool ===&lt;br /&gt;
* '''ToolsToEquip''': The Tool to hold out when a player is inside the area. Must be in the players inventory.&lt;br /&gt;
* '''ConnectedToolArea''': Additional [[HPL3/SOMA/Areas/Tool Area|Tool Areas]] that can be passed through without holstering the tool that is equipped. Areas must be at least touching.&lt;br /&gt;
* '''LookEntities''':An entity that must be looked at to raise the tool&lt;br /&gt;
* '''LookEntityLOS''': If the '''LookEntities''' must have uninterupted line of sight&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/Tool_Area&amp;diff=6767</id>
		<title>HPL3/SOMA/Areas/Tool Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/Tool_Area&amp;diff=6767"/>
		<updated>2024-02-08T17:09:32Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: fixed link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This area when entered by the player will hold out a specified tool from the players inventory and be holstered when exiting the area.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
[[File:Tool area.png|thumb|A functioning Omnitool area with an orange Tool Area]]&lt;br /&gt;
=== Tool ===&lt;br /&gt;
* '''ToolsToEquip''': The Tool to hold out when a player is inside the area. Must be in the players inventory.&lt;br /&gt;
* '''ConnectedToolArea''': Additional [[HPL3/SOMA/Areas/Tool Area|Tool Areas]] that can be passed through without holstering the tool that is equipped. Areas must be at least touching.&lt;br /&gt;
* '''LookEntities''':An entity that must be looked at to raise the tool&lt;br /&gt;
* '''LookEntityLOS''': If the '''LookEntities''' must have uninterupted line of sight&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/Tool_Area&amp;diff=6766</id>
		<title>HPL3/SOMA/Areas/Tool Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas/Tool_Area&amp;diff=6766"/>
		<updated>2024-02-08T17:09:01Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: created page with basic information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This area when entered by the player will hold out a specified tool from the players inventory and be holstered when exiting the area.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
[[File:Tool area.png|thumb|A functioning Omnitool area with an orange Tool Area]]&lt;br /&gt;
=== Tool ===&lt;br /&gt;
* '''ToolsToEquip''': The Tool to hold out when a player is inside the area. Must be in the players inventory.&lt;br /&gt;
* '''ConnectedToolArea''': Additional [[HPL3/Areas/Tool Area|Tool Areas]] that can be passed through without holstering the tool that is equipped. Areas must be at least touching.&lt;br /&gt;
* '''LookEntities''':An entity that must be looked at to raise the tool&lt;br /&gt;
* '''LookEntityLOS''': If the '''LookEntities''' must have uninterupted line of sight&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=File:Tool_area.png&amp;diff=6765</id>
		<title>File:Tool area.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=File:Tool_area.png&amp;diff=6765"/>
		<updated>2024-02-08T17:01:48Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A functioning Omnitool panel using a tool area&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas&amp;diff=6764</id>
		<title>HPL3/SOMA/Areas</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Areas&amp;diff=6764"/>
		<updated>2024-02-07T14:04:28Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: fixed broken link for stickyarea&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{constructionNotice|This category and its sub-pages are undergoing major editing, as some information in this category and all the sub pages is currently in the process of being formatted or re-written from scratch to achieve a higher standard of formatting, or not everything is yet available. More pages and information will gradually be added.}}&lt;br /&gt;
&lt;br /&gt;
'''This category covers everything about the Area in the HPL3 Engine and SOMA.'''&lt;br /&gt;
&lt;br /&gt;
{{CategoryHeader}}&lt;br /&gt;
{{CategoryNewcolumn}}&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
* [[HPL3/Areas|Areas Overview]]&lt;br /&gt;
&lt;br /&gt;
== Engine Areas ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* [[HPL3/Areas/PlayerStart Area|PlayerStart Area]]&lt;br /&gt;
* [[HPL3/Areas/Trigger Area|Trigger Area]]&lt;br /&gt;
* [[HPL3/Areas/DoorwayTrigger Area|DoorwayTrigger Area]]&lt;br /&gt;
* [[HPL3/Areas/PathNode Area|PathNode Area]]&lt;br /&gt;
* [[HPL3/Areas/Sticky Area|Sticky Area]]&lt;br /&gt;
* [[HPL3/Areas/InteractAux Area|InteractAux Area]]&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
* [[HPL3/Areas/Fog Area|Fog Area]]&lt;br /&gt;
* [[HPL3/Areas/SoundScape Area|Soundscape Area]]&lt;br /&gt;
* [[HPL3/Areas/Camera Animation Area|Camera Animation Area]]&lt;br /&gt;
* [[HPL3/Areas/Liquid Area|Liquid Area]]&lt;br /&gt;
* [[HPL3/Areas/Ambient Light Area|Ambient Light Area]]&lt;br /&gt;
* [[HPL3/Areas/Exposure Area|Exposure Area]]&lt;br /&gt;
* [[HPL3/Areas/Description Area|Description Area]]&lt;br /&gt;
&lt;br /&gt;
=== Gameplay ===&lt;br /&gt;
* [[HPL3/Areas/Climb Area|Climb Area]]&lt;br /&gt;
* [[HPL3/Areas/Crawl Area|Crawl Area]]&lt;br /&gt;
* [[HPL3/Areas/Hide Area|Hide Area]]&lt;br /&gt;
* [[HPL3/Areas/Ladder Area|Ladder Area]]&lt;br /&gt;
* [[HPL3/Areas/Zoom Area|Zoom Area]]&lt;br /&gt;
&lt;br /&gt;
=== Technical ===&lt;br /&gt;
&lt;br /&gt;
* [[HPL3/Areas/Visibility Area|Visibility Area]]&lt;br /&gt;
* [[HPL3/Areas/VisibilityPortal Area|VisibilityPortal Area]]&lt;br /&gt;
* [[HPL3/Areas/MapTransfer Area|MapTransfer Area]]&lt;br /&gt;
&lt;br /&gt;
{{CategoryNewcolumn}}&lt;br /&gt;
&lt;br /&gt;
== Game-Specific Areas ==&lt;br /&gt;
* [[HPL3/SOMA/Areas/Tool Area|Tool Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/Sit Area|Sit Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/Distortion Area|Distortion Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/Datamine Area|Datamine Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/DatamineAudioSource Area|DatamineAudioSource Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/DatamineAnimNode Area|DatamineAnimNode Area]]&lt;br /&gt;
* [[HPL3/SOMA/Areas/AgentRepel Area|AgentRepel Area]]&lt;br /&gt;
&lt;br /&gt;
{{CategoryEnd}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Entry pages]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Climb_Area&amp;diff=6762</id>
		<title>HPL3/Areas/Climb Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Climb_Area&amp;diff=6762"/>
		<updated>2024-02-06T15:09:40Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: grammer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The Climb Area allows a player to climb to a place or to climb over a ledge.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
=== Base ===&lt;br /&gt;
* '''Crouch''': If the player should be set crouched after climbing&lt;br /&gt;
* '''FeetPosition''': The [[HPL3/Areas/Trigger Area|Trigger Area]] the players feet will be moved to after climbing&lt;br /&gt;
* '''CanBeClimbed''': If the area can be interacted with&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this Climb Area is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the Climb Area.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Hide_Area&amp;diff=6761</id>
		<title>HPL3/Areas/Hide Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Hide_Area&amp;diff=6761"/>
		<updated>2024-02-05T13:36:44Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: created page with limited info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{note|While this is not used in Soma, functionality exists and can still be used by modders}}&lt;br /&gt;
&lt;br /&gt;
= Hide Area =&lt;br /&gt;
== Overview ==&lt;br /&gt;
Hide Area is used to mark specific places that players can hide from enemies. Hide Areas make the player invisible to enemies when inside the volume.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Description_Area&amp;diff=6760</id>
		<title>HPL3/Areas/Description Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Description_Area&amp;diff=6760"/>
		<updated>2024-02-05T13:30:48Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: created stub page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{warning|This area is not used in Soma}}&lt;br /&gt;
Description is a deprecated area used for displaying text to the screen. Use Readables and ZoomAreas instead.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Trigger_Area&amp;diff=6755</id>
		<title>HPL3/Areas/Trigger Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Trigger_Area&amp;diff=6755"/>
		<updated>2024-02-01T15:01:08Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: added helper function reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
Helper Function: [[Area_Helper | helper_area.hps]] &amp;lt;br&amp;gt;&lt;br /&gt;
The Trigger area runs a callback function when an entity collides or otherwise interacts with it.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
=== Base ===&lt;br /&gt;
* '''BlockLineOfSight''': Blocks line of sight.&lt;br /&gt;
* '''EventInstanceTag''': A tag used by the event system to group objects.&lt;br /&gt;
* '''UserVar''': Arbitrary user variable. Acessable by calling the script function &amp;lt;code&amp;gt;Entity_GetVar&amp;lt;type&amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Collide Callbacks ===&lt;br /&gt;
* '''CC_Entities''': A list separated by commas or spaces of all entities that can trigger the callback. ''player'' is the player character.&lt;br /&gt;
* '''CC_Funcs''': A list of functions that will run when the area is triggered. Press copy to generate a callback function and copy to the clipboard&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;br /&gt;
* '''ParentAttachLocked''': Locks the area to the parent and disables local movement.&lt;br /&gt;
&lt;br /&gt;
=== Basic Callbacks ===&lt;br /&gt;
* '''PlayerLookAtCallback''': A function that will run when looking at the entity. Press generate to generate a name for this text field.&lt;br /&gt;
* '''PlayerLookAtCallbackAutoRemove''': Removes the callback after it fires once.&lt;br /&gt;
* '''PlayerLookAtCheckCenterOfScreen''': Only counts as looked if the entity is in the center of the screen.&lt;br /&gt;
* '''PlayerLookAtCheckRayInIntersection''': Only counts as looked at if their is a clear line of sight, i.e. not through a transparent object. ''Can return false negatives, especially if '''PlayerLookAtCheckCenterOfScreen''' is disabled.''&lt;br /&gt;
* '''PlayerLookAtMaxDistance''': Max distance an entity can be from the area. Values lower than 0 default to max distance.&lt;br /&gt;
* '''PlayerLookAtCallbackDelay''': Time in seconds to delay the callback&lt;br /&gt;
* '''PlayerInteractCallback''': Callback when the player interacts with the entity, i.e. grabbing or using. Press generate to generate a name for this text field.&lt;br /&gt;
* '''PlayerInteractCallbackAutoRemove''': Removes the callback after it fires once.&lt;br /&gt;
&lt;br /&gt;
=== Interaction ===&lt;br /&gt;
Settings used when the player interacts with the entity by clicking on it.&lt;br /&gt;
* '''CanInteractWithoutCallback''': Allows the area to be interacted with despite having an empty callback.&lt;br /&gt;
* '''MaxFocusDistance''': Maximum distance a player can be to interact. Values lower than 0 are set to the default.&lt;br /&gt;
* '''CustomInteraction''': The icon shown when interaction is possible.&lt;br /&gt;
&lt;br /&gt;
== Callback function syntax ==&lt;br /&gt;
This is the basic syntax for a collision callback function.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
bool FunctionName(const tString &amp;amp;in asParent, const tString &amp;amp;in asChild, int alState)&lt;br /&gt;
{&lt;br /&gt;
    if(alState == 1) // 1 = entering area, -1 = leaving area&lt;br /&gt;
    {&lt;br /&gt;
        // Insert code here&lt;br /&gt;
    }&lt;br /&gt;
    return false;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/PathNode_Area&amp;diff=6754</id>
		<title>HPL3/Areas/PathNode Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/PathNode_Area&amp;diff=6754"/>
		<updated>2024-02-01T14:58:31Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: added examples and usage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
Helper Function: [[Ai_Helper | helper_ai.hps]]&lt;br /&gt;
&lt;br /&gt;
The PathNode Area is an area that acts as a point entity that generates a navigable path for agents to use for pathfinding. Each area much be assigned to each enemy entity using the function &amp;lt;code&amp;gt;Pathfinder_Track_Add()&amp;lt;/code&amp;gt; and the agent must be started on the path using the function &amp;lt;code&amp;gt;Pathfinder_Track_Start()&amp;lt;/code&amp;gt;. These Functions require the helper_ai.hps script to be included in the map file. Not all agents can be used with the pathnode system as some are designed to be used in specific situations.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
The PathNode Area takes no properties&lt;br /&gt;
&lt;br /&gt;
== Script Example ==&lt;br /&gt;
A simple for loop can be used to add &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; path nodes to an agents pathfinding.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
for(int i = 1; i &amp;lt;= n; i++)&lt;br /&gt;
{&lt;br /&gt;
	Pathfinder_Track_Add(&amp;quot;_agent_&amp;quot;, &amp;quot;PathNodeArea_&amp;quot; + n, 0.0f, 0.5f, &amp;quot;&amp;quot;, false);&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;code&amp;gt;&amp;quot;_agent_&amp;quot;&amp;lt;/code&amp;gt; is the name of the agent to assign to the node.&lt;br /&gt;
&lt;br /&gt;
To start the agent on the path node network you can call the &amp;lt;code&amp;gt;Pathfinder_Track_Start()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;Pathfinder_Track_Start(&amp;quot;_agent_&amp;quot;, true, 1.0f, &amp;quot;&amp;quot;);&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/PathNode_Area&amp;diff=6752</id>
		<title>HPL3/Areas/PathNode Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/PathNode_Area&amp;diff=6752"/>
		<updated>2024-01-26T03:53:47Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The PathNode Area is an area that acts as a point entity that generates a navigatable path for agents to use for pathfinding. Each area much be assigned to each enemy entity using the function &amp;lt;code&amp;gt;Pathfinder_Track_Add()&amp;lt;/code&amp;gt; and the agent must be started on the path using the function &amp;lt;code&amp;gt;Pathfinder_Track_Start()&amp;lt;/code&amp;gt;. These Functions require the helper_ai.hps script to be included in the map file.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
The PathNode Area takes no properties&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Climb_Area&amp;diff=6751</id>
		<title>HPL3/Areas/Climb Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Climb_Area&amp;diff=6751"/>
		<updated>2024-01-25T22:22:40Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: created page with basic information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The Climb Area allows a player to climb to a place or to climb over a ledge.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
=== Base ===&lt;br /&gt;
* '''Crouch''': If the player should be set crouched after climbing&lt;br /&gt;
* '''FeetPosition''': The [[HPL3/Areas/Trigger Area|Trigger Area]] the players feet will be move to after climbing&lt;br /&gt;
* '''CanBeClimbed''': If the area can be interacted with&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this Climb Area is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the Climb Area.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Fog_Area&amp;diff=6750</id>
		<title>HPL3/Areas/Fog Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Fog_Area&amp;diff=6750"/>
		<updated>2024-01-25T22:14:34Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: created page with basic information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The Fog Area is used to create the appearance of fog in a map&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
=== Fog ===&lt;br /&gt;
* '''Color''': The color of the fog&lt;br /&gt;
* '''Brightness''': The brightness multiplier of the fog&lt;br /&gt;
* '''Start''': The distance from the camera to begin fading in the fog&lt;br /&gt;
* '''End''': The distance from the camera for the fog to be fully faded in&lt;br /&gt;
* '''FalloffExp''': The falloff exponent to be used to calculate the gradient between the start and end values&lt;br /&gt;
* '''Show backside when inside''': Renders the back face of the fog volume when inside the area. Can make the fog look like it extends farther&lt;br /&gt;
* '''Show backside when outside''': Renders the back face of the fog volume when outside the area. Can make the fog look like it is confined to a container&lt;br /&gt;
* '''Underwater''': If the underwater settings should be applied&lt;br /&gt;
* '''Noise strength''': The appearance of how noisy the fog is&lt;br /&gt;
* '''Noise size''': The size scaling of the noise&lt;br /&gt;
* '''Noise turbulence''': A 3D movment vector that the noise should move along&lt;br /&gt;
* '''Use Skybox''': If the fog should use the skybox color&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/PathNode_Area&amp;diff=6749</id>
		<title>HPL3/Areas/PathNode Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/PathNode_Area&amp;diff=6749"/>
		<updated>2024-01-25T21:48:31Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: created page with basic information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The PathNode Area is an area that acts as a point entity that generates a navigatable path for agents to use for pathfinding. Each area much be assigned to each enemy entity using the function &amp;lt;code&amp;gt;Pathfinder_Track_Add()&amp;lt;/code&amp;gt; and the agent must be started on the path using the function &amp;lt;code&amp;gt;Pathfinder_Track_Start()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
The PathNode Area takes no properties&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Ladder_Area&amp;diff=6748</id>
		<title>HPL3/Areas/Ladder Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Ladder_Area&amp;diff=6748"/>
		<updated>2024-01-25T21:40:43Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: Rewrote article to be more concise and added missing information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The Ladder Area allows players to climb a ladder. This area will also cause the climbing hands animation. If the animation of the hands does not meet the spokes of the ladder then the area must be carefully moved while grid snap is disabled. In order to work properly, an [[HPL3/Areas/InteractAux Area|InteractAux Area]] with its '''InteractParent''' property set to the Ladder Area must be placed next to the Trigger Area, as seen in the image.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
[[Image:Ladder.png|thumb|A functioning ladder setup. Light green = Ladder Area, bluegreen = InteractAux Area, red = Trigger Area|right]]&lt;br /&gt;
The  where the player will end up when exiting the ladder from the top.&lt;br /&gt;
=== Base ===&lt;br /&gt;
* '''Material''': The type of sound effect to play while climbing&lt;br /&gt;
* '''Exit_Top''': The [[HPL3/Areas/Trigger Area|Trigger Area]] the players feet will be move to when exiting the ladder from the top&lt;br /&gt;
* '''Exit_TopCrouching''': If the player should be crouched after exiting the ladder from the top&lt;br /&gt;
* '''Exit_Bottom''': The [[HPL3/Areas/Trigger Area|Trigger Area]] the players feet will be move to when exiting the ladder from the bottom&lt;br /&gt;
* '''Exit_BottomCrouching''': If the player should be crouched after exiting the ladder from the bottom&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Crawl_Area&amp;diff=6747</id>
		<title>HPL3/Areas/Crawl Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Crawl_Area&amp;diff=6747"/>
		<updated>2024-01-25T21:30:43Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: Rewrote article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
Forces the player into a slow crawl that cannot be overridden. Jumping is disabled while the player is inside the area. Once the area is exited the player will return to the previous state.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
The Crawl Area takes no properties&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6746</id>
		<title>HPL3/Areas/Sticky Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6746"/>
		<updated>2024-01-25T21:26:01Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: created page with basic information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sticky Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Sticky Area is a area that can be used to allow entities to attach and detach to the area. This effect can simulate cables, computer chips, or any interactable physics entity that can be plugged in or unplugged. &lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
=== Base ===&lt;br /&gt;
* '''MoveBody''': If the body of the entity to attach should be moved into the position of the area when attached&lt;br /&gt;
* '''RotateBody''': If the body of the entity to attach should be rotated to match the sticky area when attached&lt;br /&gt;
* '''AttachableBodyName''': The name and body of the entity to attach. I.e. ''[entity_name]_Body_[#]''&lt;br /&gt;
* '''PoseTime''':  The time in seconds it takes for the entity to move and rotate into place when attached&lt;br /&gt;
* '''CheckCenterInArea''': Requires the center of the body of the entity to attach to be inside the sticky area&lt;br /&gt;
* '''CanDetach''': If the body of the area of the entity to attach can be detached to the sticky area&lt;br /&gt;
* '''RequiresInteraction''': If the entity requires player interaction to attach to the sticky area&lt;br /&gt;
&lt;br /&gt;
=== Callbacks ===&lt;br /&gt;
* '''AttachFunction''': Function to call when an entity attaches to the sticky area. Press copy to generate a callback function and copy to the clipboard&lt;br /&gt;
* '''DetachFunction''': Function to call when an entity detaches from the sticky area. Press copy to generate a callback function and copy to the clipboard&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
* '''AttachSound''': The sound to be played when an entity attaches to the area&lt;br /&gt;
* '''DetachSound''': The sound to be played when an entity detaches from the area&lt;br /&gt;
* '''AttachPS''': The particle system to be created when an entity attaches to the area&lt;br /&gt;
* '''DetachPS''': The particle system to be created when an entity detaches from the area&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this area is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the area.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;br /&gt;
&lt;br /&gt;
=== Springy ===&lt;br /&gt;
Springy behavior is best described as a tendency for the entity to attach to be attracted to the sticky area and for the entity to slightly resist being detached.&lt;br /&gt;
&lt;br /&gt;
* '''Springy_Active''': If springy behavior is enabled&lt;br /&gt;
* '''Springy_DetachDistanceMul''': Distance multiplier for the entity to be from the center of the area to detach. &lt;br /&gt;
* '''Springy_ForceMul''': Force multiplier to be applied to the entity when detached&lt;br /&gt;
* '''Springy_ReleaseTime''': Time in seconds to delay detaching the entity once the entity meets the detach criteria&lt;br /&gt;
* '''Springy_DetachLoopSound''': A looping sound to play when in the process of detaching an entity from a sticky area&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6745</id>
		<title>HPL3/Areas/SoundScape Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6745"/>
		<updated>2024-01-25T20:58:54Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: updated code formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Soundscape Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Soundscape Area is a volume entity that when entered by the player, can play ambient sounds and music, as well as set up and configure reverb and background sound data. Many soundscape areas can overlap, if the background sound is identical then the areas will act as if they are one entity.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
=== Reverb ===&lt;br /&gt;
&lt;br /&gt;
* '''UseReverb''': Enables reverb data&lt;br /&gt;
* '''ReverbType''': Which reverb setting to use.&lt;br /&gt;
* '''ReverbPrio''': Priority of the reverb effect, higher values override overlapping soundscapes.&lt;br /&gt;
* '''ReverbAmount''': The Amount of reverb to be used. Values can be greater than 1.&lt;br /&gt;
* '''ReverbFadeTime''': The amount of time to fade into this reverb effect in seconds.&lt;br /&gt;
&lt;br /&gt;
{{tip|If '''UseReverb''' is not enabled for an area, then it will not be taken into account at all, regardless of prio. If you want an area to disable reverb, then it needs to have '''UseReverb''' active and type set to ''off''.}}&lt;br /&gt;
&lt;br /&gt;
=== General Sound ===&lt;br /&gt;
The Soundscape area can start playing a 2d sound as the player's head enters the area. '''Prio''' is used to determine what soundscape area to use if many of the same '''Level''' overlap. However, if many areas of different '''Level''' overlap then the background sounds from smaller '''Level''' values will get lowered according to the '''ParentVolMul''' setting in the higher '''Level''' areas. This is meant to simulate the background noise getting lowered as you step inside a house or similar. For instance, if the player is inside one ''Global (0)'' area and one ''Room (2)'' area, then the background sound from the ''Global (0)'' area will be lowered according to '''ParentVolMul''' in the ''Room (2)'' area. This multiplying is applied all through the hierarchy, so if the player is inside areas from levels 0 -&amp;gt; 3, then any sound in level 0 will be multiplied by the setting in 1, 2, and 3 together.&lt;br /&gt;
&lt;br /&gt;
* '''Prio''': Priority of the soundscape, higher values override overlapping soundscapes.&lt;br /&gt;
* '''Level''': The hierarchy of what each soundscape in a level is meant for. Lower level soundscapes are activated instead of higher levels when soundscapes overlap. &lt;br /&gt;
&lt;br /&gt;
=== BackgroundSound ===&lt;br /&gt;
* '''BG_Sound''': the sound file to play when entering a soundscape. Looping sounds are recommended.&lt;br /&gt;
* '''BG_Volume''': The volume of the sound.&lt;br /&gt;
* '''BG_FadeInTime''': Time in seconds it takes to fade in the sound.&lt;br /&gt;
* '''BG_FadeOutTime''': Time in seconds it takes to fade out the sound.&lt;br /&gt;
* '''BG_FadeTransitionSpeed''': The speed at which a sound fades in or out when a parent volume is changed.&lt;br /&gt;
* '''BG_ParentVolMul''': A multiplier for any parent background sounds that are active.&lt;br /&gt;
&lt;br /&gt;
=== Connected Sound Entities ===&lt;br /&gt;
Soundscape Areas can play two distinct types of sounds, sound files designated in Sound Entities and 2D background sounds.&lt;br /&gt;
Sound entities that are placed in the level can be either started or stopped when the player is inside or outside of the area. If two areas overlap and are of the same '''Level''' then the area with the highest '''prio''' will be used. Note that if the areas have different '''Level''' values, then sound entities from many areas can be played (or not played) at the same time.&lt;br /&gt;
&lt;br /&gt;
* '''SoundEnt_InNames''': Sound Entities to begin playing when entering the soundscape or stop playing when exiting the soundscape.&lt;br /&gt;
* '''SoundEnt_OutNames''': Sound Entities to begin playing when exiting the soundscape or stop playing when entering the soundscape.&lt;br /&gt;
* '''SoundEnt_FadeInTime''': Time in seconds to fade in attached sound entities.&lt;br /&gt;
* '''SoundEnt_FadeOutTime''': Time in seconds to fade out attached sound entities.&lt;br /&gt;
&lt;br /&gt;
=== SoundPrefix ===&lt;br /&gt;
In Soma this setting is used to play different versions of footstep sounds however this can be used for other reasons. It does this by applying an extra parent folder to the sound file to be played if the variable is not ''[None]''. The script function &amp;lt;code&amp;gt; Sound_CreateAtEntity_UsePrefix()&amp;lt;/code&amp;gt; can be used to easily play different sounds depending on which soundscape area the player currently is in.&lt;br /&gt;
&lt;br /&gt;
* '''SoundPrefixPrio''': The priority of the SoundPrefix, higher values override overlapping soundscapes.&lt;br /&gt;
* '''SoundPrefix''': The prefix to be added to the sound effect path. ''[None]'' will not add a prefix.&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Trigger_Area&amp;diff=6744</id>
		<title>HPL3/Areas/Trigger Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Trigger_Area&amp;diff=6744"/>
		<updated>2024-01-25T20:57:17Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: Rewrote article to be more concise and added missing information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The Trigger area runs a callback function when an entity collides or otherwise interacts with it.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
=== Base ===&lt;br /&gt;
* '''BlockLineOfSight''': Blocks line of sight.&lt;br /&gt;
* '''EventInstanceTag''': A tag used by the event system to group objects.&lt;br /&gt;
* '''UserVar''': Arbitrary user variable. Acessable by calling the script function &amp;lt;code&amp;gt;Entity_GetVar&amp;lt;type&amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Collide Callbacks ===&lt;br /&gt;
* '''CC_Entities''': A list separated by commas or spaces of all entities that can trigger the callback. ''player'' is the player character.&lt;br /&gt;
* '''CC_Funcs''': A list of functions that will run when the area is triggered. Press copy to generate a callback function and copy to the clipboard&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;br /&gt;
* '''ParentAttachLocked''': Locks the area to the parent and disables local movement.&lt;br /&gt;
&lt;br /&gt;
=== Basic Callbacks ===&lt;br /&gt;
* '''PlayerLookAtCallback''': A function that will run when looking at the entity. Press generate to generate a name for this text field.&lt;br /&gt;
* '''PlayerLookAtCallbackAutoRemove''': Removes the callback after it fires once.&lt;br /&gt;
* '''PlayerLookAtCheckCenterOfScreen''': Only counts as looked if the entity is in the center of the screen.&lt;br /&gt;
* '''PlayerLookAtCheckRayInIntersection''': Only counts as looked at if their is a clear line of sight, i.e. not through a transparent object. ''Can return false negatives, especially if '''PlayerLookAtCheckCenterOfScreen''' is disabled.''&lt;br /&gt;
* '''PlayerLookAtMaxDistance''': Max distance an entity can be from the area. Values lower than 0 default to max distance.&lt;br /&gt;
* '''PlayerLookAtCallbackDelay''': Time in seconds to delay the callback&lt;br /&gt;
* '''PlayerInteractCallback''': Callback when the player interacts with the entity, i.e. grabbing or using. Press generate to generate a name for this text field.&lt;br /&gt;
* '''PlayerInteractCallbackAutoRemove''': Removes the callback after it fires once.&lt;br /&gt;
&lt;br /&gt;
=== Interaction ===&lt;br /&gt;
Settings used when the player interacts with the entity by clicking on it.&lt;br /&gt;
* '''CanInteractWithoutCallback''': Allows the area to be interacted with despite having an empty callback.&lt;br /&gt;
* '''MaxFocusDistance''': Maximum distance a player can be to interact. Values lower than 0 are set to the default.&lt;br /&gt;
* '''CustomInteraction''': The icon shown when interaction is possible.&lt;br /&gt;
&lt;br /&gt;
== Callback function syntax ==&lt;br /&gt;
This is the basic syntax for a collision callback function.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
bool FunctionName(const tString &amp;amp;in asParent, const tString &amp;amp;in asChild, int alState)&lt;br /&gt;
{&lt;br /&gt;
    if(alState == 1) // 1 = entering area, -1 = leaving area&lt;br /&gt;
    {&lt;br /&gt;
        // Insert code here&lt;br /&gt;
    }&lt;br /&gt;
    return false;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Soundscape_Area&amp;diff=6743</id>
		<title>HPL3/Areas/Soundscape Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Soundscape_Area&amp;diff=6743"/>
		<updated>2024-01-25T20:32:03Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: fixed redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[HPL3/Areas/SoundScape Area]]&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6742</id>
		<title>HPL3/Areas/Sticky Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6742"/>
		<updated>2024-01-25T20:30:58Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: fixing broken misdirects&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sticky Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6741</id>
		<title>HPL3/Areas/SoundScape Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6741"/>
		<updated>2024-01-25T20:30:33Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: Rewrote article to be more concise and added missing information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Soundscape Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Soundscape Area is a volume entity that when entered by the player, can play ambient sounds and music, as well as set up and configure reverb and background sound data. Many soundscape areas can overlap, if the background sound is identical then the areas will act as if they are one entity.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
=== Reverb ===&lt;br /&gt;
&lt;br /&gt;
* '''UseReverb''': Enables reverb data&lt;br /&gt;
* '''ReverbType''': Which reverb setting to use.&lt;br /&gt;
* '''ReverbPrio''': Priority of the reverb effect, higher values override overlapping soundscapes.&lt;br /&gt;
* '''ReverbAmount''': The Amount of reverb to be used. Values can be greater than 1.&lt;br /&gt;
* '''ReverbFadeTime''': The amount of time to fade into this reverb effect in seconds.&lt;br /&gt;
&lt;br /&gt;
{{tip|If '''UseReverb''' is not enabled for an area, then it will not be taken into account at all, regardless of prio. If you want an area to disable reverb, then it needs to have '''UseReverb''' active and type set to ''off''.}}&lt;br /&gt;
&lt;br /&gt;
=== General Sound ===&lt;br /&gt;
The Soundscape area can start playing a 2d sound as the player's head enters the area. '''Prio''' is used to determine what soundscape area to use if many of the same '''Level''' overlap. However, if many areas of different '''Level''' overlap then the background sounds from smaller '''Level''' values will get lowered according to the '''ParentVolMul''' setting in the higher '''Level''' areas. This is meant to simulate the background noise getting lowered as you step inside a house or similar. For instance, if the player is inside one ''Global (0)'' area and one ''Room (2)'' area, then the background sound from the ''Global (0)'' area will be lowered according to '''ParentVolMul''' in the ''Room (2)'' area. This multiplying is applied all through the hierarchy, so if the player is inside areas from levels 0 -&amp;gt; 3, then any sound in level 0 will be multiplied by the setting in 1, 2, and 3 together.&lt;br /&gt;
&lt;br /&gt;
* '''Prio''': Priority of the soundscape, higher values override overlapping soundscapes.&lt;br /&gt;
* '''Level''': The hierarchy of what each soundscape in a level is meant for. Lower level soundscapes are activated instead of higher levels when soundscapes overlap. &lt;br /&gt;
&lt;br /&gt;
=== BackgroundSound ===&lt;br /&gt;
* '''BG_Sound''': the sound file to play when entering a soundscape. Looping sounds are recommended.&lt;br /&gt;
* '''BG_Volume''': The volume of the sound.&lt;br /&gt;
* '''BG_FadeInTime''': Time in seconds it takes to fade in the sound.&lt;br /&gt;
* '''BG_FadeOutTime''': Time in seconds it takes to fade out the sound.&lt;br /&gt;
* '''BG_FadeTransitionSpeed''': The speed at which a sound fades in or out when a parent volume is changed.&lt;br /&gt;
* '''BG_ParentVolMul''': A multiplier for any parent background sounds that are active.&lt;br /&gt;
&lt;br /&gt;
=== Connected Sound Entities ===&lt;br /&gt;
Soundscape Areas can play two distinct types of sounds, sound files designated in Sound Entities and 2D background sounds.&lt;br /&gt;
Sound entities that are placed in the level can be either started or stopped when the player is inside or outside of the area. If two areas overlap and are of the same '''Level''' then the area with the highest '''prio''' will be used. Note that if the areas have different '''Level''' values, then sound entities from many areas can be played (or not played) at the same time.&lt;br /&gt;
&lt;br /&gt;
* '''SoundEnt_InNames''': Sound Entities to begin playing when entering the soundscape or stop playing when exiting the soundscape.&lt;br /&gt;
* '''SoundEnt_OutNames''': Sound Entities to begin playing when exiting the soundscape or stop playing when entering the soundscape.&lt;br /&gt;
* '''SoundEnt_FadeInTime''': Time in seconds to fade in attached sound entities.&lt;br /&gt;
* '''SoundEnt_FadeOutTime''': Time in seconds to fade out attached sound entities.&lt;br /&gt;
&lt;br /&gt;
=== SoundPrefix ===&lt;br /&gt;
In Soma this setting is used to play different versions of footstep sounds however this can be used for other reasons. It does this by applying an extra parent folder to the sound file to be played if the variable is not ''[None]''. The script function Sound_CreateAtEntity_UsePrefix can be used to easily play different sounds depending on which soundscape area the player currently is in.&lt;br /&gt;
&lt;br /&gt;
* '''SoundPrefixPrio''': The priority of the SoundPrefix, higher values override overlapping soundscapes.&lt;br /&gt;
* '''SoundPrefix''': The prefix to be added to the sound effect path. ''[None]'' will not add a prefix.&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6740</id>
		<title>HPL3/Areas/Sticky Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6740"/>
		<updated>2024-01-25T20:29:50Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: broken link from sticky area&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Soundscape Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Soundscape Area is a volume entity that when entered by the player, can play ambient sounds and music, as well as set up and configure reverb and background sound data. Many soundscape areas can overlap, if the background sound is identical then the areas will act as if they are one entity.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
=== Reverb ===&lt;br /&gt;
&lt;br /&gt;
* '''UseReverb''': Enables reverb data&lt;br /&gt;
* '''ReverbType''': Which reverb setting to use.&lt;br /&gt;
* '''ReverbPrio''': Priority of the reverb effect, higher values override overlapping soundscapes.&lt;br /&gt;
* '''ReverbAmount''': The Amount of reverb to be used. Values can be greater than 1.&lt;br /&gt;
* '''ReverbFadeTime''': The amount of time to fade into this reverb effect in seconds.&lt;br /&gt;
&lt;br /&gt;
{{tip|If '''UseReverb''' is not enabled for an area, then it will not be taken into account at all, regardless of prio. If you want an area to disable reverb, then it needs to have '''UseReverb''' active and type set to ''off''.}}&lt;br /&gt;
&lt;br /&gt;
=== General Sound ===&lt;br /&gt;
The Soundscape area can start playing a 2d sound as the player's head enters the area. '''Prio''' is used to determine what soundscape area to use if many of the same '''Level''' overlap. However, if many areas of different '''Level''' overlap then the background sounds from smaller '''Level''' values will get lowered according to the '''ParentVolMul''' setting in the higher '''Level''' areas. This is meant to simulate the background noise getting lowered as you step inside a house or similar. For instance, if the player is inside one ''Global (0)'' area and one ''Room (2)'' area, then the background sound from the ''Global (0)'' area will be lowered according to '''ParentVolMul''' in the ''Room (2)'' area. This multiplying is applied all through the hierarchy, so if the player is inside areas from levels 0 -&amp;gt; 3, then any sound in level 0 will be multiplied by the setting in 1, 2, and 3 together.&lt;br /&gt;
&lt;br /&gt;
* '''Prio''': Priority of the soundscape, higher values override overlapping soundscapes.&lt;br /&gt;
* '''Level''': The hierarchy of what each soundscape in a level is meant for. Lower level soundscapes are activated instead of higher levels when soundscapes overlap. &lt;br /&gt;
&lt;br /&gt;
=== BackgroundSound ===&lt;br /&gt;
* '''BG_Sound''': the sound file to play when entering a soundscape. Looping sounds are recommended.&lt;br /&gt;
* '''BG_Volume''': The volume of the sound.&lt;br /&gt;
* '''BG_FadeInTime''': Time in seconds it takes to fade in the sound.&lt;br /&gt;
* '''BG_FadeOutTime''': Time in seconds it takes to fade out the sound.&lt;br /&gt;
* '''BG_FadeTransitionSpeed''': The speed at which a sound fades in or out when a parent volume is changed.&lt;br /&gt;
* '''BG_ParentVolMul''': A multiplier for any parent background sounds that are active.&lt;br /&gt;
&lt;br /&gt;
=== Connected Sound Entities ===&lt;br /&gt;
Soundscape Areas can play two distinct types of sounds, sound files designated in Sound Entities and 2D background sounds.&lt;br /&gt;
Sound entities that are placed in the level can be either started or stopped when the player is inside or outside of the area. If two areas overlap and are of the same '''Level''' then the area with the highest '''prio''' will be used. Note that if the areas have different '''Level''' values, then sound entities from many areas can be played (or not played) at the same time.&lt;br /&gt;
&lt;br /&gt;
* '''SoundEnt_InNames''': Sound Entities to begin playing when entering the soundscape or stop playing when exiting the soundscape.&lt;br /&gt;
* '''SoundEnt_OutNames''': Sound Entities to begin playing when exiting the soundscape or stop playing when entering the soundscape.&lt;br /&gt;
* '''SoundEnt_FadeInTime''': Time in seconds to fade in attached sound entities.&lt;br /&gt;
* '''SoundEnt_FadeOutTime''': Time in seconds to fade out attached sound entities.&lt;br /&gt;
&lt;br /&gt;
=== SoundPrefix ===&lt;br /&gt;
In Soma this setting is used to play different versions of footstep sounds however this can be used for other reasons. It does this by applying an extra parent folder to the sound file to be played if the variable is not ''[None]''. The script function Sound_CreateAtEntity_UsePrefix can be used to easily play different sounds depending on which soundscape area the player currently is in.&lt;br /&gt;
&lt;br /&gt;
* '''SoundPrefixPrio''': The priority of the SoundPrefix, higher values override overlapping soundscapes.&lt;br /&gt;
* '''SoundPrefix''': The prefix to be added to the sound effect path. ''[None]'' will not add a prefix.&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6739</id>
		<title>HPL3/Areas/Sticky Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6739"/>
		<updated>2024-01-25T20:29:23Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: Undo revision 6738 by Lil alex (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[HPL3/Areas/SoundScape Area]]&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6738</id>
		<title>HPL3/Areas/Sticky Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6738"/>
		<updated>2024-01-25T20:28:00Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6736</id>
		<title>HPL3/Areas/SoundScape Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6736"/>
		<updated>2024-01-25T20:27:43Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: Lil alex moved page HPL3/Areas/Sticky Area to HPL3/Areas/SoundScape Area&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sticky Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6737</id>
		<title>HPL3/Areas/Sticky Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Sticky_Area&amp;diff=6737"/>
		<updated>2024-01-25T20:27:43Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: Lil alex moved page HPL3/Areas/Sticky Area to HPL3/Areas/SoundScape Area&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[HPL3/Areas/SoundScape Area]]&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6735</id>
		<title>HPL3/Areas/SoundScape Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6735"/>
		<updated>2024-01-25T20:25:59Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: sticky area&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sticky Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6733</id>
		<title>HPL3/Areas/SoundScape Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6733"/>
		<updated>2024-01-25T20:23:01Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: Lil alex moved page HPL3/Areas/Soundscape Area to HPL3/Areas/Sticky Area: inncorect link &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Soundscape Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Soundscape Area is a volume entity that when entered by the player, can play ambient sounds and music, as well as set up and configure reverb and background sound data. Many soundscape areas can overlap, if the background sound is identical then the areas will act as if they are one entity.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
=== Reverb ===&lt;br /&gt;
&lt;br /&gt;
* '''UseReverb''': Enables reverb data&lt;br /&gt;
* '''ReverbType''': Which reverb setting to use.&lt;br /&gt;
* '''ReverbPrio''': Priority of the reverb effect, higher values override overlapping soundscapes.&lt;br /&gt;
* '''ReverbAmount''': The Amount of reverb to be used. Values can be greater than 1.&lt;br /&gt;
* '''ReverbFadeTime''': The amount of time to fade into this reverb effect in seconds.&lt;br /&gt;
&lt;br /&gt;
{{tip|If '''UseReverb''' is not enabled for an area, then it will not be taken into account at all, regardless of prio. If you want an area to disable reverb, then it needs to have '''UseReverb''' active and type set to ''off''.}}&lt;br /&gt;
&lt;br /&gt;
=== General Sound ===&lt;br /&gt;
The Soundscape area can start playing a 2d sound as the player's head enters the area. '''Prio''' is used to determine what soundscape area to use if many of the same '''Level''' overlap. However, if many areas of different '''Level''' overlap then the background sounds from smaller '''Level''' values will get lowered according to the '''ParentVolMul''' setting in the higher '''Level''' areas. This is meant to simulate the background noise getting lowered as you step inside a house or similar. For instance, if the player is inside one ''Global (0)'' area and one ''Room (2)'' area, then the background sound from the ''Global (0)'' area will be lowered according to '''ParentVolMul''' in the ''Room (2)'' area. This multiplying is applied all through the hierarchy, so if the player is inside areas from levels 0 -&amp;gt; 3, then any sound in level 0 will be multiplied by the setting in 1, 2, and 3 together.&lt;br /&gt;
&lt;br /&gt;
* '''Prio''': Priority of the soundscape, higher values override overlapping soundscapes.&lt;br /&gt;
* '''Level''': The hierarchy of what each soundscape in a level is meant for. Lower level soundscapes are activated instead of higher levels when soundscapes overlap. &lt;br /&gt;
&lt;br /&gt;
=== BackgroundSound ===&lt;br /&gt;
* '''BG_Sound''': the sound file to play when entering a soundscape. Looping sounds are recommended.&lt;br /&gt;
* '''BG_Volume''': The volume of the sound.&lt;br /&gt;
* '''BG_FadeInTime''': Time in seconds it takes to fade in the sound.&lt;br /&gt;
* '''BG_FadeOutTime''': Time in seconds it takes to fade out the sound.&lt;br /&gt;
* '''BG_FadeTransitionSpeed''': The speed at which a sound fades in or out when a parent volume is changed.&lt;br /&gt;
* '''BG_ParentVolMul''': A multiplier for any parent background sounds that are active.&lt;br /&gt;
&lt;br /&gt;
=== Connected Sound Entities ===&lt;br /&gt;
Soundscape Areas can play two distinct types of sounds, sound files designated in Sound Entities and 2D background sounds.&lt;br /&gt;
Sound entities that are placed in the level can be either started or stopped when the player is inside or outside of the area. If two areas overlap and are of the same '''Level''' then the area with the highest '''prio''' will be used. Note that if the areas have different '''Level''' values, then sound entities from many areas can be played (or not played) at the same time.&lt;br /&gt;
&lt;br /&gt;
* '''SoundEnt_InNames''': Sound Entities to begin playing when entering the soundscape or stop playing when exiting the soundscape.&lt;br /&gt;
* '''SoundEnt_OutNames''': Sound Entities to begin playing when exiting the soundscape or stop playing when entering the soundscape.&lt;br /&gt;
* '''SoundEnt_FadeInTime''': Time in seconds to fade in attached sound entities.&lt;br /&gt;
* '''SoundEnt_FadeOutTime''': Time in seconds to fade out attached sound entities.&lt;br /&gt;
&lt;br /&gt;
=== SoundPrefix ===&lt;br /&gt;
In Soma this setting is used to play different versions of footstep sounds however this can be used for other reasons. It does this by applying an extra parent folder to the sound file to be played if the variable is not ''[None]''. The script function Sound_CreateAtEntity_UsePrefix can be used to easily play different sounds depending on which soundscape area the player currently is in.&lt;br /&gt;
&lt;br /&gt;
* '''SoundPrefixPrio''': The priority of the SoundPrefix, higher values override overlapping soundscapes.&lt;br /&gt;
* '''SoundPrefix''': The prefix to be added to the sound effect path. ''[None]'' will not add a prefix.&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/Soundscape_Area&amp;diff=6734</id>
		<title>HPL3/Areas/Soundscape Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/Soundscape_Area&amp;diff=6734"/>
		<updated>2024-01-25T20:23:01Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: Lil alex moved page HPL3/Areas/Soundscape Area to HPL3/Areas/Sticky Area: inncorect link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[HPL3/Areas/Sticky Area]]&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6732</id>
		<title>HPL3/Areas/SoundScape Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6732"/>
		<updated>2024-01-25T20:21:46Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: Rewrote article to be more concise and added missing information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Soundscape Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Soundscape Area is a volume entity that when entered by the player, can play ambient sounds and music, as well as set up and configure reverb and background sound data. Many soundscape areas can overlap, if the background sound is identical then the areas will act as if they are one entity.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
=== Reverb ===&lt;br /&gt;
&lt;br /&gt;
* '''UseReverb''': Enables reverb data&lt;br /&gt;
* '''ReverbType''': Which reverb setting to use.&lt;br /&gt;
* '''ReverbPrio''': Priority of the reverb effect, higher values override overlapping soundscapes.&lt;br /&gt;
* '''ReverbAmount''': The Amount of reverb to be used. Values can be greater than 1.&lt;br /&gt;
* '''ReverbFadeTime''': The amount of time to fade into this reverb effect in seconds.&lt;br /&gt;
&lt;br /&gt;
{{tip|If '''UseReverb''' is not enabled for an area, then it will not be taken into account at all, regardless of prio. If you want an area to disable reverb, then it needs to have '''UseReverb''' active and type set to ''off''.}}&lt;br /&gt;
&lt;br /&gt;
=== General Sound ===&lt;br /&gt;
The Soundscape area can start playing a 2d sound as the player's head enters the area. '''Prio''' is used to determine what soundscape area to use if many of the same '''Level''' overlap. However, if many areas of different '''Level''' overlap then the background sounds from smaller '''Level''' values will get lowered according to the '''ParentVolMul''' setting in the higher '''Level''' areas. This is meant to simulate the background noise getting lowered as you step inside a house or similar. For instance, if the player is inside one ''Global (0)'' area and one ''Room (2)'' area, then the background sound from the ''Global (0)'' area will be lowered according to '''ParentVolMul''' in the ''Room (2)'' area. This multiplying is applied all through the hierarchy, so if the player is inside areas from levels 0 -&amp;gt; 3, then any sound in level 0 will be multiplied by the setting in 1, 2, and 3 together.&lt;br /&gt;
&lt;br /&gt;
* '''Prio''': Priority of the soundscape, higher values override overlapping soundscapes.&lt;br /&gt;
* '''Level''': The hierarchy of what each soundscape in a level is meant for. Lower level soundscapes are activated instead of higher levels when soundscapes overlap. &lt;br /&gt;
&lt;br /&gt;
=== BackgroundSound ===&lt;br /&gt;
* '''BG_Sound''': the sound file to play when entering a soundscape. Looping sounds are recommended.&lt;br /&gt;
* '''BG_Volume''': The volume of the sound.&lt;br /&gt;
* '''BG_FadeInTime''': Time in seconds it takes to fade in the sound.&lt;br /&gt;
* '''BG_FadeOutTime''': Time in seconds it takes to fade out the sound.&lt;br /&gt;
* '''BG_FadeTransitionSpeed''': The speed at which a sound fades in or out when a parent volume is changed.&lt;br /&gt;
* '''BG_ParentVolMul''': A multiplier for any parent background sounds that are active.&lt;br /&gt;
&lt;br /&gt;
=== Connected Sound Entities ===&lt;br /&gt;
Soundscape Areas can play two distinct types of sounds, sound files designated in Sound Entities and 2D background sounds.&lt;br /&gt;
Sound entities that are placed in the level can be either started or stopped when the player is inside or outside of the area. If two areas overlap and are of the same '''Level''' then the area with the highest '''prio''' will be used. Note that if the areas have different '''Level''' values, then sound entities from many areas can be played (or not played) at the same time.&lt;br /&gt;
&lt;br /&gt;
* '''SoundEnt_InNames''': Sound Entities to begin playing when entering the soundscape or stop playing when exiting the soundscape.&lt;br /&gt;
* '''SoundEnt_OutNames''': Sound Entities to begin playing when exiting the soundscape or stop playing when entering the soundscape.&lt;br /&gt;
* '''SoundEnt_FadeInTime''': Time in seconds to fade in attached sound entities.&lt;br /&gt;
* '''SoundEnt_FadeOutTime''': Time in seconds to fade out attached sound entities.&lt;br /&gt;
&lt;br /&gt;
=== SoundPrefix ===&lt;br /&gt;
In Soma this setting is used to play different versions of footstep sounds however this can be used for other reasons. It does this by applying an extra parent folder to the sound file to be played if the variable is not ''[None]''. The script function Sound_CreateAtEntity_UsePrefix can be used to easily play different sounds depending on which soundscape area the player currently is in.&lt;br /&gt;
&lt;br /&gt;
* '''SoundPrefixPrio''': The priority of the SoundPrefix, higher values override overlapping soundscapes.&lt;br /&gt;
* '''SoundPrefix''': The prefix to be added to the sound effect path. ''[None]'' will not add a prefix.&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6731</id>
		<title>HPL3/Areas/SoundScape Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6731"/>
		<updated>2024-01-25T20:21:21Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: Undo revision 6730 by Lil alex (talk) saved to wrong article by mistake&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Soundscape Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The soundscape area is meant to be a sort of one-in-all solution to set up much of the needed background sound data. It can set reverb, play ambient track, change volume on sounds and turn on/off sound entities. Make sure you know how the areas work before start placing sounds in a level.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
=== Reverb ===&lt;br /&gt;
Reverb is pretty basic and just do what the settings say. If there are many reverb areas that overlap then the one with the highest prio will be used. However, note that if Reverb is not active for an area, then it will not be taken into account at all, no matter what the prio is set to. So if you want an area that turns off reverb, then it needs to have reverb active and type set to &amp;quot;off&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Sound ===&lt;br /&gt;
The soundscape area can start sounds as the player's head enters the area. There are two types of these Sound entities and Background sounds.&lt;br /&gt;
&lt;br /&gt;
The sound entities are sounds that are already placed in the level and they will be either started/stopped when the player is in or out of the area. If two areas over lap and are of the same level then the one with the highest prio will be used. This means that if the areas have different levels, then sound entities from many areas can be played (or not played) at the same time.&lt;br /&gt;
&lt;br /&gt;
Background sound is just a 2D sound that is started when an area is entered. Prio is used to determine what sound to use if many of the same level overlap. However, if many of different level overlap, then the behavior gets very interesting. What happens then is that the background sounds from lowered numbered levels will get lowered according to the ParentVolMul setting in the higher numbered ones. This is meant to simulate the background noise getting lowered as you step inside a house or similar. For instance, if the player is inside one Global (0) area and one Room (2) area, then the background sound will from the Global one will be lowered according to ParentVolMul in the Room one. This multiplying is applied all through the hierarchy, so if the player is inside areas from levels 0 -&amp;gt; 3, then any sound in level 0 will be multiplied by the setting in 1,2 and 3 all taken together.&lt;br /&gt;
&lt;br /&gt;
=== Prefix ===&lt;br /&gt;
This can be really used for whatever and is currently used for playing different kinds of footsteps. It applies an extra parent folder to the footstep to be played if the variable is not empty. It can also be used by script function Sound_CreateAtEntity_UsePrefix to easily play different sounds depending on which soundscape area the player currently is in.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
'''Use copies of an area to cover complex shapes'''&amp;lt;br /&amp;gt;The soundscape areas are built to behave nicely when many soundscapes with the same properties overlap. It is often a hassle to fill certain rooms with areas without going out of bounds. With Soundscape areas this is easy as the game will treat overlapping areas with the same properties as essentially the same area. So there is no start/stopping going on when going between areas that have the same sound names, etc&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6730</id>
		<title>HPL3/Areas/SoundScape Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/SoundScape_Area&amp;diff=6730"/>
		<updated>2024-01-25T20:20:01Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: Rewrote article to be more concise and added missing information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Soundscape Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Soundscape Area is a volume entity that when entered by the player, can play ambient sounds and music, as well as set up and configure reverb and background sound data. Many soundscape areas can overlap, if the background sound is identical then the areas will act as if they are one entity.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
=== Reverb ===&lt;br /&gt;
&lt;br /&gt;
* '''UseReverb''': Enables reverb data&lt;br /&gt;
* '''ReverbType''': Which reverb setting to use.&lt;br /&gt;
* '''ReverbPrio''': Priority of the reverb effect, higher values override overlapping soundscapes.&lt;br /&gt;
* '''ReverbAmount''': The Amount of reverb to be used. Values can be greater than 1.&lt;br /&gt;
* '''ReverbFadeTime''': The amount of time to fade into this reverb effect in seconds.&lt;br /&gt;
&lt;br /&gt;
{{tip|If '''UseReverb''' is not enabled for an area, then it will not be taken into account at all, regardless of prio. If you want an area to disable reverb, then it needs to have '''UseReverb''' active and type set to ''off''.}}&lt;br /&gt;
&lt;br /&gt;
=== General Sound ===&lt;br /&gt;
The Soundscape area can start playing a 2d sound as the player's head enters the area. '''Prio''' is used to determine what soundscape area to use if many of the same '''Level''' overlap. However, if many areas of different '''Level''' overlap then the background sounds from smaller '''Level''' values will get lowered according to the '''ParentVolMul''' setting in the higher '''Level''' areas. This is meant to simulate the background noise getting lowered as you step inside a house or similar. For instance, if the player is inside one ''Global (0)'' area and one ''Room (2)'' area, then the background sound from the ''Global (0)'' area will be lowered according to '''ParentVolMul''' in the ''Room (2)'' area. This multiplying is applied all through the hierarchy, so if the player is inside areas from levels 0 -&amp;gt; 3, then any sound in level 0 will be multiplied by the setting in 1, 2, and 3 together.&lt;br /&gt;
&lt;br /&gt;
* '''Prio''': Priority of the soundscape, higher values override overlapping soundscapes.&lt;br /&gt;
* '''Level''': The hierarchy of what each soundscape in a level is meant for. Lower level soundscapes are activated instead of higher levels when soundscapes overlap. &lt;br /&gt;
&lt;br /&gt;
=== BackgroundSound ===&lt;br /&gt;
* '''BG_Sound''': the sound file to play when entering a soundscape. Looping sounds are recommended.&lt;br /&gt;
* '''BG_Volume''': The volume of the sound.&lt;br /&gt;
* '''BG_FadeInTime''': Time in seconds it takes to fade in the sound.&lt;br /&gt;
* '''BG_FadeOutTime''': Time in seconds it takes to fade out the sound.&lt;br /&gt;
* '''BG_FadeTransitionSpeed''': The speed at which a sound fades in or out when a parent volume is changed.&lt;br /&gt;
* '''BG_ParentVolMul''': A multiplier for any parent background sounds that are active.&lt;br /&gt;
&lt;br /&gt;
=== Connected Sound Entities ===&lt;br /&gt;
Soundscape Areas can play two distinct types of sounds, sound files designated in Sound Entities and 2D background sounds.&lt;br /&gt;
Sound entities that are placed in the level can be either started or stopped when the player is inside or outside of the area. If two areas overlap and are of the same '''Level''' then the area with the highest '''prio''' will be used. Note that if the areas have different '''Level''' values, then sound entities from many areas can be played (or not played) at the same time.&lt;br /&gt;
&lt;br /&gt;
* '''SoundEnt_InNames''': Sound Entities to begin playing when entering the soundscape or stop playing when exiting the soundscape.&lt;br /&gt;
* '''SoundEnt_OutNames''': Sound Entities to begin playing when exiting the soundscape or stop playing when entering the soundscape.&lt;br /&gt;
* '''SoundEnt_FadeInTime''': Time in seconds to fade in attached sound entities.&lt;br /&gt;
* '''SoundEnt_FadeOutTime''': Time in seconds to fade out attached sound entities.&lt;br /&gt;
&lt;br /&gt;
=== SoundPrefix ===&lt;br /&gt;
In Soma this setting is used to play different versions of footstep sounds however this can be used for other reasons. It does this by applying an extra parent folder to the sound file to be played if the variable is not ''[None]''. The script function Sound_CreateAtEntity_UsePrefix can be used to easily play different sounds depending on which soundscape area the player currently is in.&lt;br /&gt;
&lt;br /&gt;
* '''SoundPrefixPrio''': The priority of the SoundPrefix, higher values override overlapping soundscapes.&lt;br /&gt;
* '''SoundPrefix''': The prefix to be added to the sound effect path. ''[None]'' will not add a prefix.&lt;br /&gt;
&lt;br /&gt;
=== Attachment ===&lt;br /&gt;
* '''ParentAttachEntity''': The name of an entity that this soundscape is parented to.&lt;br /&gt;
* '''ParentAttachUseRotation''': If the rotation of the parent should affect the soundscape.&lt;br /&gt;
* '''ParentAttachBody''': The name of the body in the parent entity to attach to.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/PlayerStart_Area&amp;diff=6729</id>
		<title>HPL3/Areas/PlayerStart Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/PlayerStart_Area&amp;diff=6729"/>
		<updated>2024-01-25T19:26:33Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: added a tip to creating the entity&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= PlayerStart Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The PlayerStart Area is an area that a player can start at or return to in a map. &lt;br /&gt;
This entity can be referenced by the main_init.cfg file in a mod directory to be the PlayerStart area that a player starts at when loading into a new game.&lt;br /&gt;
&lt;br /&gt;
{{tip|Clicking to create the area instead of dragging the boundaries of the area will automatically generate a correctly scaled volume.}}&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
&lt;br /&gt;
=== Crouching ===&lt;br /&gt;
Causes the player to be crouched when spawning at this entity.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/PlayerStart_Area&amp;diff=6728</id>
		<title>HPL3/Areas/PlayerStart Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/PlayerStart_Area&amp;diff=6728"/>
		<updated>2024-01-25T19:22:13Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: rewrote page to me more consise and conform to existing wikis format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= PlayerStart Area =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The PlayerStart Area is an area that a player can start at or return to in a map. This entity can be referenced by the main_init.cfg file in a mod directory to be the PlayerStart area that a player starts at when loading into a new game.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
&lt;br /&gt;
=== Crouching ===&lt;br /&gt;
Causes the player to be crouched when spawning at this entity.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Areas/PlayerStart_Area&amp;diff=6727</id>
		<title>HPL3/Areas/PlayerStart Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Areas/PlayerStart_Area&amp;diff=6727"/>
		<updated>2024-01-24T18:10:03Z</updated>

		<summary type="html">&lt;p&gt;Lil alex: marked as stub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
As the name implies, the PlayerStart area is where the player will spawn when the map is loaded.&lt;/div&gt;</summary>
		<author><name>Lil alex</name></author>
		
	</entry>
</feed>