This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
gamedev:deigde:editors:world [2020/04/07 00:09] – [Selection Panel] dragonlord | gamedev:deigde:editors:world [2020/04/07 17:45] (current) – [View Panel] dragonlord | ||
---|---|---|---|
Line 49: | Line 49: | ||
The interface between the mapper and the coder is solely defined by the //Object Class Name//, the //Object Properties// | The interface between the mapper and the coder is solely defined by the //Object Class Name//, the //Object Properties// | ||
- | The //Object Class Name// is the unique name used by the game code to instantiate whatever game object is providing the desired functionality. This can range from physical objects to pure virtual objects like triggers. | + | See //Selection Panel// for further information. |
- | + | ||
- | The //Object Properties// | + | |
- | + | ||
- | The //Texture Properties// | + | |
- | + | ||
- | You can change a couple of texture properties using replacements (in the // | + | |
- | + | ||
- | The **Skin** defines a replacement skin to use for the texture. A texture replacement is ignore if no skin is assigned. Upon adding a new texture replacement the world editor fills in the skin used by the texture as defined in the object class. | + | |
- | + | ||
- | The **Tint** defines a tint color to use to colorize the replacement skin. The game scripts can assign //Dynamic Skin// resources to a texture replacement to manipulate [[gamedev: | + | |
- | + | ||
- | The **Translation**, | + | |
- | + | ||
- | The **Texture Propertiess** work similar to //Object Properties// | + | |
- | + | ||
==== Decal ==== | ==== Decal ==== | ||
Line 75: | Line 59: | ||
==== Navigation Space ==== | ==== Navigation Space ==== | ||
- | Work on instance of //Height Terrain | + | Work on instance of // |
- | See the // | + | // |
+ | //Height Terrain Navigation Spaces// add navigation space support to //Height Terrains// resources allow AI to navigate them. This is similar to // | ||
+ | |||
+ | In this mode you can edit the //Height Terrain Navigation Spaces// directly in the world editor in contrary to // | ||
+ | |||
+ | See the // | ||
==== Object Shape ==== | ==== Object Shape ==== | ||
Line 162: | Line 151: | ||
{{ : | {{ : | ||
+ | The **World Properties** defines properties applying the world resource as a whole. They work similar to //Object Properties// | ||
+ | |||
+ | |||
+ | //**Path Find Test**// | ||
+ | |||
+ | Allows to test // | ||
+ | |||
+ | The **Start Position** and **Goal Position** can be manually entered or set from the current camera position using the **Set** button. The //AI Module// will pick the closest position on the available navigation spaces inside a maximum range of 1m as actual start and goal position to use for testing. | ||
+ | |||
+ | The **Layer** and **Space Type** define which navigation spaces are used for the test. | ||
+ | |||
+ | The **Blocking Cost** defines the maximum cost value before a path is considered blocked and not evaluate further. | ||
+ | |||
+ | Once all parameters are set tick **Show Path** to make the path visible. While visible the path will be updated if the above parameters change. | ||
+ | |||
+ | The **Types** panel allows to define //Cost Parameters// | ||
<WRAP clear/> | <WRAP clear/> | ||
Line 204: | Line 209: | ||
{{ : | {{ : | ||
+ | Shows list of //Object Classes//, //Skins// and //Sky//. Two display modes are available: // | ||
+ | |||
+ | Using category display mode the category list of the selected element type is displayed as a tree list. Select a category to display all elements assigned to this category in the list below. | ||
+ | |||
+ | Using filter display mode a filter text field is shown. Enter filter to show in the list below all elements matching the filter no matter what category they belong to. The filter is case insensitive plane text. The filter string is matched anywhere inside the element name or path (for skin and sky resources). | ||
+ | |||
+ | The list below shows the elements. The list can be shown using preview images or as text list only. | ||
+ | |||
+ | //**Object Classes**// | ||
+ | |||
+ | If objects are selected in the game world < | ||
+ | |||
+ | // | ||
+ | |||
+ | If objects are selected < | ||
+ | |||
+ | If decals are selected < | ||
+ | |||
+ | If an active object is present < | ||
+ | |||
+ | //**Sky**// | ||
+ | |||
+ | < | ||
<WRAP clear/> | <WRAP clear/> | ||
Line 210: | Line 238: | ||
{{ : | {{ : | ||
- | <WRAP clear/> | + | // |
+ | |||
+ | Height terrains are split into //Sectors// of equal square size. This allows to split up large terrains into smaller sectors. Each sector store its own image files. | ||
+ | |||
+ | The **Height Terrain** is the file storing the entire height terrain information (*.dehterrain). | ||
+ | |||
+ | The **Height Image** defines the height of sector points and is a greyscale image. The image is best using 16-bit bits per pixel. | ||
+ | |||
+ | The **Visibility Image** defines the visibility of sector faces and is a black-and-white image with pixel values of **1** for visible and **0** for invisible (hole). | ||
+ | |||
+ | The **Base Height** and **Height Scaling** define how the final Y-coordinate of the sector points are calculated. These values are the same for all sectors. | ||
+ | < | ||
+ | |||
+ | // | ||
+ | |||
+ | Defines the //Texture Layers// used by the height terrain. Texture layers are rendered in the order they are defined form the top entry in the list to the bottom entry in the list. | ||
+ | |||
+ | The **Type Number** is a custom number you can assign to textures to identify them later on in the game. | ||
+ | |||
+ | The **Skin** is the skin to use for rendering the texture. | ||
+ | |||
+ | The **Mask** is the image to store the texture mask in and can be // | ||
+ | |||
+ | The **Offset**, **Scaling** and **Rotation** parameters apply a //Texture Coordinate Transformation// | ||
+ | |||
+ | |||
+ | // | ||
+ | |||
+ | Defines a list of //Height Terrain Navigation Spaces// to allow AI to navigate the terrain. See [[gamedev: | ||
+ | |||
+ | Navigation spaces are define using //Convex Faces//. While in // | ||
+ | |||
+ | To delete faces you have multiple ways to do it all done by selecting navigation points then clicking the //Remove// button: | ||
+ | * 1 selected point: All faces using this point as one of their corner points are removed. | ||
+ | * 2 selected points: All faces using an edge with the two selected points as edge end points are removed. | ||
+ | * >2 selected points: The face with all its corner points matching the selected points will be removed. | ||
+ | |||
+ | For each navigation space a list of // | ||
+ | |||
+ | The **Type** value is the same as used for other navigation spaces in-game. | ||
+ | |||
+ | The **Color** is used to distinguish in the edit view which face belongs to which type. The color is not use in-game. | ||
+ | |||
+ | |||
+ | // | ||
+ | |||
+ | Parameters for handling vegetation generation on height terrains | ||
+ | |||
+ | TODO | ||
+ | |||
+ | |||
+ | //**Height Painting**//, | ||
+ | |||
+ | Parameters for modifying the painting of //Height Images//, //Texture Mask Images// and // | ||
+ | <WRAP clear/> | ||
====== View Panel ====== | ====== View Panel ====== | ||
Line 216: | Line 298: | ||
{{ : | {{ : | ||
+ | Parameters for adjusting the view. | ||
+ | |||
+ | // | ||
+ | |||
+ | Defines snapping steps for //Move//, //Rotate// and //Scale// work mode. | ||
+ | |||
+ | The **Sensitivity** defines the scaling factor applied to mouse movement converted to world coordinates. Raising the sensitivity above 1 moves faster across the world which is useful to move to distant parts of the world quickly.Lowering the sensitivity below 1 moves slower across the world which is useful to make small scale editing task easier. 1 is the default. | ||
+ | |||
+ | // | ||
+ | |||
+ | Defines the distance of the box used in // | ||
+ | |||
+ | The **Auto-Updating** is used with vegetation system. If enabled changes to the vegetation rules are immediately updated. If disabled you have to update the preview in the // | ||
+ | |||
+ | The **Class Hide Tags** shows the list of //Hide Tags// define in all known //Object Classes//. < | ||
+ | |||
+ | The **Class Partial Hide Tags** shows the list of //Partial Hide Tags// defined in all known //Object Classes//. < | ||
+ | |||
+ | The **Camera** panels define which camera to use to show the world and allows to edit the camera parameters. Three cameras can be used: //Free Roaming//, //Player// and //Object//. The free roaming camera is the default and is used for editing allowing to move freely across the map. The player camera allows to move using FPS-like controls through the world (<wrap hi> | ||
+ | |||
+ | The object camera shows object cameras. Object classes can define // | ||
+ | <WRAP center round important 60%> | ||
+ | While the object camera is active moving the camera view does change the object position. All other cameras to not change object positions. | ||
+ | </ | ||
+ | |||
+ | The **Sky** defines the camera to use to preview the game world. This is not the sky used in-game. To define one or more skies to use for the map add Object Classes supporting //Sky// resources (for example // | ||
+ | |||
+ | The **Trigger Table** shows a list of all known //Trigger Targets// define by object instances present in the world. < | ||
<WRAP clear/> | <WRAP clear/> | ||