Difference between revisions of "Collision Painting"

From Wolfire Games Wiki
Jump to: navigation, search
(Configuration: Added description of colors, added some colors.)
m (How To Use: Corrected formatting on the arrow in the View step.)
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The Collision Paint tool is used to set an object ('''TODO: Terrain?''') trangle's behaviour upon impact with the player. '''TODO: What about NPCs?'''
+
The Collision Paint tool is used to ''"label"'' objects or parts of objects to change how they interact with characters that collide with it. You can not paint collision on a level's terrain object.
  
 
==How To Use==
 
==How To Use==
 +
The Collision Paint window can be accessed in Edit Mode by navigating in the menu bar to ''Windows'' -> ''Collision Paint''.
 
[[File:Coll_Paint_Window.jpg|thumb|alt=Collision Paint window|Collision Paint window]]
 
[[File:Coll_Paint_Window.jpg|thumb|alt=Collision Paint window|Collision Paint window]]
The Collision Paint window can be accessed in Edit Mode by navigating in the menu bar to ''Windows'' -> ''Collision Paint''.
 
  
* View the collision by checking ''View Collision''
+
* View the collision by checking ''View -> Collision paint visualization''
 
* To paint whatever the cursor hovers over press B
 
* To paint whatever the cursor hovers over press B
 
* To paint the whole object check ''Per-object''
 
* To paint the whole object check ''Per-object''
Line 12: Line 12:
 
** To paint the hovered triangle and adjacent triangles with the same orientation check ''Spread across flat surfaces''
 
** To paint the hovered triangle and adjacent triangles with the same orientation check ''Spread across flat surfaces''
 
** To spread to Triangles with similar orientation on the same object check ''Spread across similar normals''
 
** To spread to Triangles with similar orientation on the same object check ''Spread across similar normals''
*** To set the range, move the slider to a value (between -1 & 1) '''TODO: How exactly does this work? why negative values?'''  
+
*** The ''Range'' decides how similar the normals of each triangle need to be to spread, 1 spreads almost nothing, -1 spreads to everything
* To load press ''Load''. Does nothing. '''TODO: Does it really do nothing?'''
+
* The ''Load'' button loads any currently existing collision paint to Data/Levels/[mod-folder].
* When pressing ''Save'', an error will appear. '''TODO: Does this really not work?'''
+
* The ''Save'' button saves the current collision paint to Data/Levels/[mod-folder].
 +
 
 +
The collision painting for a level is saved next to the level's XML file with the file name ''*.col_norm.zip'' where the * is the name of the level's file.
 +
 
 +
'''Something to keep in mind is that ''*.col_norm.zip'' files are saved to your game's Data/Levels folder. You will have to move it into your Mod directory, otherwise the collision paint will not be included with your mod.'''
 +
 
 +
==Labels==
 +
[[File:Collision_paint.jpg|thumb|alt=Collision Paint window|Collision Paint color chart]]
 +
 
 +
The label checked in the lower box will be applied to the triangles by painting. The painted surfaces will indicate its parameter with a specific color when ''View Collision'' is checked.
 +
Each label's color is written between parentheses below.
  
==Configuration==
 
The parameter checked in the lower box will be applied to the triangles by painting. The triangle will indicate it's parameter with a specific color when ''View Collision'' is checked.
 
Each label's color is written between parentheses below. '''TODO: add a meaningfull way to see the colors. maybe like this <span style="background-color:Green; height:20px; width:20px; display:inline-block;"></span>?'''
 
 
===Floor===
 
===Floor===
'''TODO: add and confirm the effects & colors'''
+
* '''Walkable:''' (Green) The surface is treated as if it is facing upward, so it's easier and faster to move around on, useful for stairs and for making bumpy areas easier to move around on.
* '''Walkable:''' (Green)
+
* '''Balance:''' (Light-Green) When painted on very thin surfaces the character's feet will stand better on the object. '''This is not functional; Using this type will cause issues.'''
* '''Balance:''' ()
+
* '''Slide:''' (Cyan) Makes characters slide off of the surface. If a character jumps while on this surface, they always jump straight upwards. If a character slides into the ground, there will be some audio issues.
* '''Slide:''' ()
 
  
 
===Wall===
 
===Wall===
'''TODO: add and confirm the effects & colors'''
+
* '''Wallrun:''' (Red) Allows wall running on those triangles if they're steep enough.
* '''Wallrun:''' () Allows wall running on those triangles if they're steep enough.
+
* '''No wallrun:''' (Orange) Won't allow wall running and climbing on those triangles.
* '''No wallrun:''' () Won't allow wall running on those triangles.
+
* '''Ledge:''' (Pink) Forces the triangles to be treated as a ledge that can be grabbed, some constraints still apply, but this marking makes the system more lenient.
* '''Ledge:''' (yellow)
+
* '''Ragdoll:''' (Blue) Character ragdolls if it touches the surface.
* '''Ragdoll:''' (Blue) Character will ragdoll.
+
* '''Ragdoll-death:''' (Blue) Character dies if it touches the surface.
* '''Ragdoll-death:''' (Blue) Character will die.
 
  
 
===Ceiling===
 
===Ceiling===
'''TODO: add and confirm the effects & colors'''
+
* '''Ceiling:''' (Blue) The surface is regarded as if it's facing downwards, so you can't land on it, and you will bounce down if you jump up into it.
* '''Ceiling:''' (Green)
+
 
 
===Unlabled===
 
===Unlabled===
'''TODO: Confirm the effects & colors'''
+
* '''Clear:''' (No color) Resets to the default collision behavior which is based on the triangles normal.
* '''Clear:''' (No color) Will reset to the default collision behaviour. The color of the triangles will be desaturated. '''TODO:Is the default collision set according to the triangle's steepness? Are the Desaturated colors really just the indication for default collision?'''
+
* '''No climb:''' (Grey) Has default collision behavior except that the edges can't be grabbed.
 +
** You can paint the 'no-climb' label to all unlabled triangles by clicking the ''Apply 'no climb' to all unlabled surfaces'' button
  
* '''No climb:''' (Grey) Will make the character walk slower on steep triangles. Will redirect rolls to the slope's direction. Will make the character run downwards automatically if the slope's too steep. Will make the character Run downwards faster. '''TODO:Phrasing.''' '''TODO: Is that it?'''
+
[[Category: Overgrowth]]
** To paint the 'no-climp' collision to all unlabled triangles, click ''Apply 'no climb' to all unlabled surfaces''
+
[[Category: Modding]]

Latest revision as of 20:37, 12 July 2022

The Collision Paint tool is used to "label" objects or parts of objects to change how they interact with characters that collide with it. You can not paint collision on a level's terrain object.

How To Use

The Collision Paint window can be accessed in Edit Mode by navigating in the menu bar to Windows -> Collision Paint.

Collision Paint window
Collision Paint window
  • View the collision by checking View -> Collision paint visualization
  • To paint whatever the cursor hovers over press B
  • To paint the whole object check Per-object
  • To paint per-triangle check per-triangle
    • To only paint the hovered triangle check Don't Spread
    • To paint the hovered triangle and adjacent triangles with the same orientation check Spread across flat surfaces
    • To spread to Triangles with similar orientation on the same object check Spread across similar normals
      • The Range decides how similar the normals of each triangle need to be to spread, 1 spreads almost nothing, -1 spreads to everything
  • The Load button loads any currently existing collision paint to Data/Levels/[mod-folder].
  • The Save button saves the current collision paint to Data/Levels/[mod-folder].

The collision painting for a level is saved next to the level's XML file with the file name *.col_norm.zip where the * is the name of the level's file.

Something to keep in mind is that *.col_norm.zip files are saved to your game's Data/Levels folder. You will have to move it into your Mod directory, otherwise the collision paint will not be included with your mod.

Labels

Collision Paint window
Collision Paint color chart

The label checked in the lower box will be applied to the triangles by painting. The painted surfaces will indicate its parameter with a specific color when View Collision is checked. Each label's color is written between parentheses below.

Floor

  • Walkable: (Green) The surface is treated as if it is facing upward, so it's easier and faster to move around on, useful for stairs and for making bumpy areas easier to move around on.
  • Balance: (Light-Green) When painted on very thin surfaces the character's feet will stand better on the object. This is not functional; Using this type will cause issues.
  • Slide: (Cyan) Makes characters slide off of the surface. If a character jumps while on this surface, they always jump straight upwards. If a character slides into the ground, there will be some audio issues.

Wall

  • Wallrun: (Red) Allows wall running on those triangles if they're steep enough.
  • No wallrun: (Orange) Won't allow wall running and climbing on those triangles.
  • Ledge: (Pink) Forces the triangles to be treated as a ledge that can be grabbed, some constraints still apply, but this marking makes the system more lenient.
  • Ragdoll: (Blue) Character ragdolls if it touches the surface.
  • Ragdoll-death: (Blue) Character dies if it touches the surface.

Ceiling

  • Ceiling: (Blue) The surface is regarded as if it's facing downwards, so you can't land on it, and you will bounce down if you jump up into it.

Unlabled

  • Clear: (No color) Resets to the default collision behavior which is based on the triangles normal.
  • No climb: (Grey) Has default collision behavior except that the edges can't be grabbed.
    • You can paint the 'no-climb' label to all unlabled triangles by clicking the Apply 'no climb' to all unlabled surfaces button