User Tools

Site Tools


hpl1:documentation:content.creation.document.chap3

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hpl1:documentation:content.creation.document.chap3 [2020/02/09 13:40]
muffin This entire page was a fucking burden, some mongolid called oilfan2 ruined the entire page in 2013 and has since remained like this until I painstakingly reconstructed the page word after word and heading after heading. For future references, if anything
hpl1:documentation:content.creation.document.chap3 [2020/02/09 13:48] (current)
muffin [3.14 Particle Systems]
Line 9: Line 9:
 3. For each portal that can be seen, the engine checks what room the portal connects to and then it places this room in a render list (if the room is all ready in the list, it is skipped). 3. For each portal that can be seen, the engine checks what room the portal connects to and then it places this room in a render list (if the room is all ready in the list, it is skipped).
  
-4. In the connected room the engine checks what portals the portal that lead to this room can see, then checks if they are in the field of view of the camera. If a portal is claimed visible then it is looped from point 3. This continues until no portals are left to check.\\+4. In the connected room the engine checks what portals the portal that lead to this room can see, then checks if they are in the field of view of the camera. If a portal is claimed visible then it is looped from point 3. This continues until no portals are left to check. 
 ==== 3.1 Rooms ==== ==== 3.1 Rooms ====
  
Line 26: Line 27:
 [[https://​wiki.frictionalgames.com/​_detail/​hpl1/​documentation/​bounding_example.jpg?​id=hpl1:​documentation:​content.creation.document.chap3|{{https://​wiki.frictionalgames.com/​_media/​hpl1/​documentation/​bounding_example.jpg?​nolink&​}}]] [[https://​wiki.frictionalgames.com/​_detail/​hpl1/​documentation/​bounding_example.jpg?​id=hpl1:​documentation:​content.creation.document.chap3|{{https://​wiki.frictionalgames.com/​_media/​hpl1/​documentation/​bounding_example.jpg?​nolink&​}}]]
  
-\\ 
 ==== 3.2 Portals ==== ==== 3.2 Portals ====
  
Line 91: Line 91:
 |**FalloffImage** ​  |The rate at which the light goes from full color to black. Default = linear. This is represented as a 1D image (meaning height is 1). The far left is the max light intensity and the far right is the lowest (should be black). The width must be a power of 2. | |**FalloffImage** ​  |The rate at which the light goes from full color to black. Default = linear. This is represented as a 1D image (meaning height is 1). The far left is the max light intensity and the far right is the lowest (should be black). The width must be a power of 2. |
  
-Color is set as normally in the 3D editor, but because the collada exporter handles light very badly, attenuation and specular has to be set using the **scale** of the light. This means scale X = attenuation and scale Y = specular. Attenuation has a value from 0 to eternity specular has a value from 0 to 1.+Color is set as normally in the 3D editor, but because the collada exporter handles light very badly, attenuation and specular has to be set using the **scale** ​ of the light. This means scale X = attenuation and scale Y = specular. Attenuation has a value from 0 to eternity specular has a value from 0 to 1.
  
 If the light casts shadows or not is also set by the scale. Scale Z 0 means no shadows are cast and 1 means the light casts shadows. If the light casts shadows or not is also set by the scale. Scale Z 0 means no shadows are cast and 1 means the light casts shadows.
Line 110: Line 110:
 Color and Field of View are set as normal. Attenuation is set using scale X. The rest of the attributes are set in the light entity file, [[:​hpl1:​documentation:​content.creation.document.chap6#​light|light]]. Color and Field of View are set as normal. Attenuation is set using scale X. The rest of the attributes are set in the light entity file, [[:​hpl1:​documentation:​content.creation.document.chap6#​light|light]].
  
-**MAYA TIP:** In the light’s locator scale to 55.5 and then set all the scale directions when setting attenuation. Now the arrow of the locator will show the length that light reaches.+**MAYA TIP:​** ​ In the light’s locator scale to 55.5 and then set all the scale directions when setting attenuation. Now the arrow of the locator will show the length that light reaches. 
 === 3.3.4 Light Entity file === === 3.3.4 Light Entity file ===
  
Line 137: Line 138:
 |**lightname** ​  |The name of the light. | |**lightname** ​  |The name of the light. |
  
-Examples:\\ +Examples: \\ **dynamic_mylight** \\ Will create a light that is going to move and does not have any entity file.
-**dynamic_mylight** \\ +
-Will create a light that is going to move and does not have any entity file.+
  
-**dynamic_my_light_file_mylight** \\ +**dynamic_my_light_file_mylight** \\ This is a dynamic light that loads data from “my_light_file.lnt” and is named “mylight”.
-This is a dynamic light that loads data from “my_light_file.lnt” and is named “mylight”.+
  
-**my_light_file_mylight** \\ +**my_light_file_mylight** \\ This is a static light that loads data from “my_light_file.lnt” and is named “mylight”.
-This is a static light that loads data from “my_light_file.lnt” and is named “mylight”. +
- +
-\\+
  
 ==== 3.4 References ==== ==== 3.4 References ====
Line 189: Line 184:
  
 More on this in [[:​hpl1:​documentation:​content.creation.document.chap6#​entity_files|entity files]]. More on this in [[:​hpl1:​documentation:​content.creation.document.chap6#​entity_files|entity files]].
- 
-\\ 
  
 ==== 3.5 Name parameters ==== ==== 3.5 Name parameters ====
Line 215: Line 208:
  
 |**soundblock** ​  ​|Sound will be lower through this collider, example: _collider_box_collider1_soundblock. | |**soundblock** ​  ​|Sound will be lower through this collider, example: _collider_box_collider1_soundblock. |
 +
 +\\
  
 ==== 3.6 Animations ==== ==== 3.6 Animations ====
  
 Never use animations directly in maps, instead reference to static object or to entities with animations. Never use animations directly in maps, instead reference to static object or to entities with animations.
- 
-====   ==== 
  
 ==== 3.7 Colliders ==== ==== 3.7 Colliders ====
Line 226: Line 219:
 Colliders are added in exactly the same way as described in [[:​hpl1:​documentation:​content.creation.document.chap2#​colliders|chapter 2.4]]. There are some differences though. One is that all geometry will be turned in to collideable meshes unless the “nocollide” parameter is specified, so if you want to simplify, for example, a statue mesh, the statue mesh must have the “nocollide” argument. Colliders are added in exactly the same way as described in [[:​hpl1:​documentation:​content.creation.document.chap2#​colliders|chapter 2.4]]. There are some differences though. One is that all geometry will be turned in to collideable meshes unless the “nocollide” parameter is specified, so if you want to simplify, for example, a statue mesh, the statue mesh must have the “nocollide” argument.
  
-Another difference is that colliders in a scene (static, imported models) are not linked with any entity like ones in a model file (referenced models) and therefore do not have any physics material linked to them. This means that if you want the collider to have a physics material other than “Default” you **must** assign a material (a material with texture and stuff) to it. This material should then have the physics material you want to use. For example if you want to make a simplified collider for a statue (or maybe several colliders) you should assign the same material as the statue to the collider(s).+Another difference is that colliders in a scene (static, imported models) are not linked with any entity like ones in a model file (referenced models) and therefore do not have any physics material linked to them. This means that if you want the collider to have a physics material other than “Default” you **must** ​ assign a material (a material with texture and stuff) to it. This material should then have the physics material you want to use. For example if you want to make a simplified collider for a statue (or maybe several colliders) you should assign the same material as the statue to the collider(s).
  
-When creating maps there is an **additional collider called “_charcollider”** that can be used. This collider will collide only with the player character, which can be useful if you want to block the players path but not have objects bounce of something invisible.+When creating maps there is an **additional collider called “_charcollider”** ​ that can be used. This collider will collide only with the player character, which can be useful if you want to block the players path but not have objects bounce of something invisible.
  
 ==== 3.8 Sound Entities ==== ==== 3.8 Sound Entities ====
Line 235: Line 228:
  
 **_sound_[entity file]_[name]** **_sound_[entity file]_[name]**
- 
 |**entity file** ​  |An “snt”-file containing data for the sound. More about this in the [[:​hpl1:​documentation:​content_creation_document#​hplhelper|HPLHelper chapter]]. Note that this name may have “_” in it! And DO NOT specify the extension (.snt). | |**entity file** ​  |An “snt”-file containing data for the sound. More about this in the [[:​hpl1:​documentation:​content_creation_document#​hplhelper|HPLHelper chapter]]. Note that this name may have “_” in it! And DO NOT specify the extension (.snt). |
 |**name** ​  |This is what the sound entity will be called in game. | |**name** ​  |This is what the sound entity will be called in game. |
  
-Examples:\\ +Examples: \\ **_sound_test_drops_mysound1**
-**_sound_test_drops_mysound1**+
  
 This will create a sound entity named “mysound1” that uses the file “test_drops.snt”. This will create a sound entity named “mysound1” that uses the file “test_drops.snt”.
- 
-\\ 
  
 ==== 3.9 Sound blockers ==== ==== 3.9 Sound blockers ====
Line 259: Line 248:
  
 **_start_[name]** **_start_[name]**
- 
 |**name** ​  |The in game name of the start position. May contain “_”. | |**name** ​  |The in game name of the start position. May contain “_”. |
  
Line 273: Line 261:
  
 **_area_[type (optional)]_[name]** **_area_[type (optional)]_[name]**
- 
 |**type** ​  |This is game specific information,​ should be “script” mostly though. See [[:​hpl1:​documentation:​script_reference|script reference]] for scripts that uses specific types. | |**type** ​  |This is game specific information,​ should be “script” mostly though. See [[:​hpl1:​documentation:​script_reference|script reference]] for scripts that uses specific types. |
 |**name** ​  |This is the area the start will have when you try to access it. | |**name** ​  |This is the area the start will have when you try to access it. |
Line 279: Line 266:
 **Types** **Types**
  
-   * script - The regular area type for most scripts.+  ​* script - The regular area type for most scripts.
   * damage - Specfic area to be used with certain scripts dealing with damage to player, entites and objects. Properties set by script.   * damage - Specfic area to be used with certain scripts dealing with damage to player, entites and objects. Properties set by script.
   * liquid - Specific area for setting up liquids(water and so on). Properties set by script.   * liquid - Specific area for setting up liquids(water and so on). Properties set by script.
Line 300: Line 287:
  
 If the area does not have a type then it is only considered an engine area and will not have any game specific propose. If the area does not have a type then it is only considered an engine area and will not have any game specific propose.
- 
-\\ 
  
 ==== 3.12 Billboards ==== ==== 3.12 Billboards ====
Line 308: Line 293:
  
 **_bb_[entity file]_[name]** **_bb_[entity file]_[name]**
- 
 |**entity file** ​  ​|Entity file containing data about the billboard, may contain “_”. | |**entity file** ​  ​|Entity file containing data about the billboard, may contain “_”. |
 |**name** ​  |The name that will be used in game. | |**name** ​  |The name that will be used in game. |
Line 368: Line 352:
 |**EndColor** ​  |“R G B A” Color at end. //​Vector4// ​  | |**EndColor** ​  |“R G B A” Color at end. //​Vector4// ​  |
  
-==== 3.14 Particle ​Systems ​====+==== 3.14 Particle ​systems ​====
  
 Particle systems are used for effect such as fire, smoke, etc. The syntax for placing a particle system is: Particle systems are used for effect such as fire, smoke, etc. The syntax for placing a particle system is:
Line 397: Line 381:
   * The number of lights is not the biggest problem. The biggest problem is **overlapping** ​ lights. Overlapping means that the bounding boxes from 2 lights intersect. Try to have at most 3 overlapping lights and mostly 2 lights overlapping. If the lights don’t cast shadows it is okay if more lights overlap.   * The number of lights is not the biggest problem. The biggest problem is **overlapping** ​ lights. Overlapping means that the bounding boxes from 2 lights intersect. Try to have at most 3 overlapping lights and mostly 2 lights overlapping. If the lights don’t cast shadows it is okay if more lights overlap.
   * Highpoly meshes should have collisions turned off and use colliders to simulate the shape.   * Highpoly meshes should have collisions turned off and use colliders to simulate the shape.
- 
-====   ==== 
  
 ==== 3.17 Issues ==== ==== 3.17 Issues ====
Line 406: Line 388:
   * An edge may only have **one** ​ or **two** ​ faces! If this is not followed shadows will be messed up.   * An edge may only have **one** ​ or **two** ​ faces! If this is not followed shadows will be messed up.
  
- \\+\\
  
hpl1/documentation/content.creation.document.chap3.1581255647.txt.gz · Last modified: 2020/02/09 13:40 by muffin