User Tools

Site Tools


gamedev:deigde:editors:world

This is an old revision of the document!


IGDE World Editor

The world editor allows to edit World resources (*.deworld) for your game. World resources glue together many other resource types. See the Game Development With The Drag[en]gine section to learn more.

World editor preview

World editor preview

The editor window composes of the content area and the properties panel on the left side. Three different content area exist:

  1. World View: Edit the world content. This is the view you will be using the most.
  2. Vegetation View: Edit Vegetation Rules used to populate height terrains with automatically placed geometry.
  3. Changelog View: Shows changed elements that have to be stored to explicit files like height terrain images.

World View

The world view shows the world content to edit. See 3D-View Navigation for how to navigate the view. By default this view is set to an FPS type camera navigation.

The view operates using a CAD like interface. You can switch Element Mode and Work Mode.

Element Mode

Selects the type of world element to operate on. Supported are these element types

Object

Work on instance of Object Classes. Object classes represent static and dynamic objects (elements) backed up by Game Script Objects. Typically these are Script Classes but can be anything depending on the Scripting Module used.

Object classes are defined in the Game Definition Editor by the mapper. The separation between Game Script Object and Object Class in the Game Definition is on purpose. The Game Script Object is in full control of the coder while the Object Class is in full control of the mapper. This separation allows artists to work on the game without needing working game code and to shape the object classes the way they help them work efficiently.

The interface between the mapper and the coder is solely defined by the Object Class Name, the Object Properties and the Texture 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.

The Object Properties defines a list of Key → Value pairs. They define configurable object parameters the mapper can adjust. The values are generic String type values. This allows mapper and coder to agreed upon any kind of value format they want to use. Common value types are pre-defined by the IGDE with the Property Table Widget providing suitable UI widgets to edit them. Underneath though the values are all string type so you can edit the bare string value at all times.

The Texture Properties allow the mapper to fine tune texture related aspects of the object. You can add any number of Texture Replacements as long as their Texture Name is unique. You can also add non-existing texture names for example to support different Model resources. How texture replacements are handled is up to the game scripts. In general the Component resource used for the game object is modified.

You can change a couple of texture properties using replacements (in the Texture, Texture Transformation and Texture Properties panel).

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 Skin Texture Properties using a static value. The tint color is automatically added by the basic game scripts if it is not white. Unless change it does affect skin texture properties with Renderable Name tint.

The Translation, Scaling and Rotation define Texture Coordinate Transformation to apply to the texture. All translations are relative to the center of the texture image.

The Texture Propertiess work similar to Object Properties. They can be used to add advanced configurable parameters to individual texture replacements.

Decal

Work on instance of World Decals. World decals added to the world are projected onto Object Classes they touch. The game scripts decide what object class they will actually affect in-game. The result shown in the editor is thus not fully representative depending on your setup.

World Decals add Decal resources during game loading. Game scripts are free to add Decal resources themselves at run-time to Component resources.

Work on instance of Height Terrain Navigation Spaces. This adds navigation space support to Height Terrains resources allow AI to navigate them. This is similar to Navigation Space resources game scripts can add to individual game objects but for height terrains. In this mode you can edit the height terrain geometry directly in the world editor in contrary to Navigation Space resources used by game objects which are loaded from files.

Object Shape

Work on Object Properties of Shape or Shape List type. Shapes are stored in an encoded form in object properties. Using this view mode you can edit the content of such properties in a visual way.

You have to first use Object Mode to select the object whose properties you want to edit. Then switch to the Object Shape mode. Here you can select from the Shape panel the Object Property you want to edit. All shapes of all supported properties are shown but only the shapes of the selected property are highlighted to edit.

Work Mode

Selects the type of manipulation to apply to the selected Element Mode. Not all work modes are supported by all element modes.

Select

Element selection consists of a list of all Selected Elements with one of the selected elements being the Active Element.

  • MOUSE_LEFT: Add element to selection if not selected and mark it the active element.
  • SHIFT+MOUSE_LEFT: Remove element from selection.
  • MOUSE_LEFT drag: Draw a Selection Box. All elements touching the box are added to the selection.
  • MOUSE_WHEEL (while dragging Box Rectangle): Increase/decrease the Selection Distance. Only elements touching the 3-Dimensional box formed by the drawn rectangle area and the current Selection Distance are selected.
  • CTRL+Alt: Clear selection.

Move

Moves the selected elements along the View Plane.

  • MOUSE_LEFT drag: Move elements along View Plane. If Snap Move is enabled in View panel movement distance is limited to multiples of Snap Move distance.
  • SHIFT+MOUSE_LEFT drag: Same as above but limits if Snap Move is not enabled.
  • X: Toggle locking movement around X-Axis.
  • Y: Toggle locking movement around Y-Axis.
  • Z: Toggle locking movement around Z-Axis.
  • L: Toggle locking axis between World and Element Local coordinate system.

Scale

Scales the selected elements along the View Plane.

  • MOUSE_LEFT drag: Scale elements along View Plane. If Snap Scaling is enabled in View panel scaling factor is limited to multiples of Snap Scaling factor.
  • SHIFT+MOUSE_LEFT drag: Same as above but limits if Snap Scaling is not enabled.
  • X: Toggle locking scaling along X-Axis.
  • Y: Toggle locking scaling along Y-Axis.
  • Z: Toggle locking scaling along Z-Axis.
  • L: Toggle locking axis between World and Element Local coordinate system.

Rotation

Rotates the selected elements along the View Plane. Use Edit → Rotation Pivot Center … to set how elements are rotated:

  • Rotation Pivot Center Active: Rotate around position of active element.
  • Rotation Pivot Center Selected: Rotate around average position of all selected elements.
  • Rotation Pivot Center Individual: Rotate around individual element positions.

These key bindings can be used:

  • MOUSE_LEFT drag: Rotate elements along View Plane around Pivot. If Snap Rotate is enabled in View panel rotation is limited to multiples of Snap Rotate factor.
  • SHIFT+MOUSE_LEFT drag: Same as above but limits if Snap Rotate is not enabled.
  • X: Toggle locking rotation around X-Axis.
  • Y: Toggle locking rotation around Y-Axis.
  • Z: Toggle locking rotation around Z-Axis.
  • L: Toggle locking axis between World and Element Local coordinate system.

Add New

Add new element to the world:

  • MOUSE_LEFT: Adds element to world. Moves the element along the view direction across clicked position until hitting an obstacle.
  • CTRL+MOUSE_LEFT: Same as above but placing element fixed distance in front of the camera.

If you keep the mouse button pressed the mode temporarily switches to Move until you release the mouse button. While dragging you can use these additional key bindings:

  • SHIFT: While pressed the object is randomly rotated along Y-Axis while moved. This adds randomness while adding elements without the need to manually adjust orientation. An example use for this is placing trees and other vegetation with random rotation around their trunk.

Height Paint

Mask Paint

Visibility Paint

You could leave a comment if you were logged in.
gamedev/deigde/editors/world.1586209708.txt.gz · Last modified: 2020/04/06 21:48 by dragonlord