Urho3D
Editor instructions

The Urho3D scene editor is a script application that can be run with the Urho3D main executable. To start, execute either of these commands: (in the Bin directory) Editor.bat or Urho3D.exe Scripts/Editor.as

Hint: to get some content to look at, run the TestScene example, and press F5. This saves a scene file called TestScene.xml into the Data/Scenes subdirectory, which can be loaded in the editor. The NinjaSnowWar scene also exists in the Data/Scenes subdirectory, and the NinjaSnowWar object "prefabs" are in the Data/Objects subdirectory.

Controls

Left mouse      - Select nodes or drag the node transform gizmo. Hold Shift to 
                  select components instead. Hold Ctrl to multiselect.
Right mouse     - Hold down and move mouse to rotate camera

WSAD or arrows  - Move
Shift+WSAD      - Move faster
Ctrl+1,2,3      - Select manipulation mode: move/rotate/scale
Ctrl+4          - Toggle between world and local axes manipulation
Ctrl+5,6        - Cycle through components to pick: geometries, lights, zones,
                  collision shapes
Ctrl+7          - Cycle through solid, wireframe and point rendering
Ctrl+arrows     - Manipulate node in X & Z directions
Ctrl+pgup/pgdn  - Manipulate node in Y direction
Ctrl+plus/minus - Scale node uniformly (scale mode only)
Ctrl+O          - Open scene
Ctrl+S          - Save scene
Ctrl+Shift+S    - Save scene as
Ctrl+A          - Select/deselect all root level nodes
Ctrl+X,C,V      - Cut/copy/paste node or component
Ctrl+U          - Unparent scene node
Ctrl+H          - Open the scene hierarchy window
Ctrl+N          - Open the node / component edit window
Ctrl+P          - Toggle scene update on/off
Ctrl+R          - Reload scene resources
ESC             - Close the file selector or editor settings window
DEL             - Delete node or component
F1              - Toggle console
F2              - Toggle rendering debug geometry
F3              - Toggle physics debug geometry
F4              - Toggle octree debug geometry

Press right mouse button in the 3D view if you want to defocus the active window without changing the object selection.

Workflow

When you start with an empty scene, set the resource path first (File -> Set resource path). This is the base directory, under which the subdirectories Models, Materials & Textures will be created as you import assets.

Scenes should be saved either into this base directory, or into its immediate subdirectory, named for example Scenes or Levels. When loading a scene, the resource path will be set automatically.

Check the Editor settings window so that the camera parameters match the size of the objects you are using.

The editor settings will be saved on exit to a file Urho3D\Editor\Config.xml in the My Documents directory. Delete this file if you want to revert the settings to defaults.

Editing

New scene nodes and components are created with the buttons at the bottom of the hierarchy window. Their attributes can then be edited in the node / component edit window. Note that the node transform shown is the local transform (offset from parent.)

Scene nodes can also be moved/rotated/scaled by Ctrl + arrow keys and Page Up / Page Down. Press Ctrl+1,2,3 to change the manipulation mode, and Ctrl+4 to toggle between world relative and scene node relative movement.

To reparent scene nodes, drag and drop them onto the new parent scene node in the scene hierarchy window. Reparenting should retain the effective world transform, so check afterwards from the component window that the local transform is what you expect it to be. Components can not be dragged between nodes, but can be duplicated with cut/copy/paste operations.

Though Urho3D supports setting a non-identity transform on the root node (scene), it is still best to leave it at identity (position 0, 0, 0, rotation 0, 0, 0, scale 1, 1, 1.)

To create a user variable into the current node, or delete it, type the variable name into the edit field below the node attributes, and press New or Del buttons next to it. The New button will prompt to choose the variable type.

While editing, you can execute script files using the "Run script" item in the File menu. These are AngelScript files that are executed in immediate mode ie. you do not need to define a function. The editor's scene will be accessible to the script as the global property "scene."

Automatic resource reloading when changed (for example editing a texture in a paint program while the scene editor is running) is currently supported on Windows only. On other platforms you need to manually reload scene resources (Ctrl+R) after editing to make the changes visible.

Components of same type can be multi-edited. Where attribute values differ, the attribute field will be left blank, but editing the attribute will apply the change to all components.

In addition to whole scenes, single scene nodes including all their components and child nodes can be loaded and saved (File -> Load node, File -> Save node as.) These can act as "prefabs" for speeding up scene construction. To save a node, it needs first to be selected in the hierarchy window.

Primitive geometries (boxes, spheres, cylinders) can be instantiated from the Create menu. Note that these are just ordinary model files in the Bin/Data/Models directory; their Blender format source files are in the SourceAssets directory.

Importing

The editor can import models or scenes from all the formats that the Open Asset Import Library supports, see http://assimp.sourceforge.net/main_features_formats.html

Model and scene import work differently: model import will take everything in the source file (for example a Collada scene), and combine it into a single model, with possibly many subgeometries. Scene import on the other hand will export each source scene node separately, creating multiple models as necessary.

When a model is imported, it will also be instantiated into the scene as a new scene node with a StaticModel component.

To do the actual importing, the editor will invoke AssetImporter.exe from the same directory as where Urho3D.exe resides, so be sure both are built.

Importing lights is not properly supported yet. Instead, when a scene is imported, a zone for ambient lighting and a single directional light are created, so that you can at least see something.