Editor Editor




Preview


The following screenshot shows a preview of the editor, which is currently work-in-progress. It will be included in further releases. 

EditorPreview


Overview


The first time you start the Editor you have to login with your API Key from your account page. This way all your projects, content and actions are saved to your Delta Engine account and you can always access them on any PC.


After you have logged in you can see the viewport (4) that shows preview images of the content files that are in the current project (2). The Content Manager is open on the right side.

To open an editor plugin, click on the corresponding icon in the plugin list (3) on the left. Refer to the sections below for more detailed descriptions. When you click on your username on the top right (1), your account page opens.


Workflow


Creating a project


Open the Project Creator by clicking on the icon in the plugin list. It will open on the left side. 



Set Project NameFramework and Path, then click Create


Adding content to your project


Use the ContentManager to simply drag and drop your content files into the viewport of the editor. They will automatically be added to your current project. You can only add content to projects you have permission for. 



Different Blend Modes


There are 6 different Blend Modes. See also the ImageTests.BlendModes Method entry in the documentation. 
 
Opaque

Opaque


Normal


Opaque


AlphaTest


Alpha
 

 Additive


Additive Blend Mode


Subtractive

Subtractive


Light Effect

Light Effect


Open and close editor plugins


Open the editor plugins by clicking on them in the plugin list. They will either appear in the left "big" panel (Viewport, Samplebrowser and AppBuilder) or in the right "small" panel (all other plugins). 

Close the editor plugins by clicking on the X right to their titles. 



Resize Panels


To resize the panels either horizontally or vertically, position the pointer between two panel groups. The pointer becomes a double arrow .



Editor Plugins


  SampleBrowser


The sample browser is explained on a separate page. It allows you to start all Starter Kits, Tutorials and Visual tests available on your PC.


Project Creator  Project Creator


With the Project Creator, you can create projects. To do this, simply set  Project Name, Framework and Path, then click Create


AppBuilder  App Builder


The App Builder is the tool in the Editor which allows you to build, deploy and launch an app on the wished platform device. Using the AppBuilder is explained more in depth on this site


ContentManager Content Manager


The Content Manager shows all content inside the project. For more information about Content Formats, just follow this link.

How To...


...upload Content with the Content Manager

Open the ContentManager and the Viewport. Drag your files into the viewport. 



  Particle Effects


The particle Editor Plugin allows creation and changing of saved particle data that can be loaded inside an application using the Delta Engine particle emitters.

Upon selection of a material and a Billboard Mode fitting the shader belonging to the material you will see an example of an emitter using the currently selected values inside the viewport. Materials having 2D shaders have to be rendered in 2D mode, those using 3D shaders require 3D mode.

In case you have not saved a material so far, just hit "Create Material" to open the Material Editor, or directly select it from the list on the left side of the Editor Window, and select the texture you want to use for your particles and a suitable shader, e.g. "Position3DColorUv" from the default shaders and save the result with a content name of your choice.

Any changes of the values, given that what they are set to makes sense, also result in an update of this preview.

Once you are pleased about the result, you can save it as content for your project to then load it inside your application.
For that, just give a name, the future name of the data file, and hit "Save".
The data will be saved and uploaded for your project.

From then on, just call loading of the data as content inside your application to retrieve it.

Particles


The engine provides several types of particle emitters that can be useful for many kinds of effects, be it explosions, smoketrails or sparks.

Just like all the objects that can be updated and/or rendered, a particle emitter is an entity.

A major difference to use of several sprites is not just the fact that a seemingly complex effect can be achieved by setting a few values, but also performance optimizations, achieving a much higher framerate using particles when having many instances of the same texture drawn at the same time, even if they are not moving or being animated in any fancy way.

Particle Editor

Parameters


Emitter Type: The different types choose locations to spawn particles in a different way, such as all in one point, in a plane or on the surface of a 3D sphere. This is mostly used for the Editor preview, since the same saved data can normally be used for different types.

Size: Width and Height of one particle, those always having two dimensions. Using a RangeGraph here, which contains a variable number of single values that are interpolated over during the lifetime of a particle.

Color: Range of colors used in rendering the particle, each of them independently interpolating through this gradient. Make sure the material you use contains a shader supporting colors (such as Position3DColorUv from the default shaders)if you want to use this!

Life Time: This determines how many seconds pass between the creation and removal of each particle. Also serves as the reference point for most of the values interpolated during the existence of a particle.

Billboard Mode: Both decides if the emitter shall be rendered two- or three-dimensionally and in what way the particle billboards will be aligned in case of 3D. E.g. CameraAligned means the particles are rendered in 3D space and aligned to the view plane, which in most cases is the most reasonable way to handle 3D effects.

Start Position: By this you can decide the area around the position of the emitter itself that particles can spawn in.

Start Rotation: Particles will be rotated by a value in degrees from this range immediately on creation.

Start Velocity: All particles will have an initial movement vector from this range. In case of 2D particles, the Z component is neglected.

Acceleration: Particles' velocity is changes over time if this is set, the acceleration itself being a range that is being interpolated over.

Rotation Speed: The rotation of particles can change over time by a variable degree value.

Spawn Interval: The time interval lying between the spawnings of particles, measured in seconds. Notice that by the relation of this, Lifetime and Maximum Number you can achieve effects like particles being spawned in waves. Also a spawnInterval of 0 or lesser means that no particles will be spawned unless the spawning is explicitly called in your code.

Max. Number: This limits the maximum number of particles that can exist for one emitter at any given time. For higher framerates especially on mobile devices, you might want to set it rather low, especially if you have several emitters at the same time. Higher numbers can allow for more interesting effects in some cases.


User Interface Editor  UI Controls


User interfaces inside an application are made up of a hierarchy of scenes.

Positioning and render layers of GUI elements are taken care of to some degree if desired, but they can also be used seperately of the scene's functionalies.

UI Editor

Scenes Controls



Command Line Arguments


When you start the Editor, it will automatically login and restore your previous work environment (opening the last project you worked on, putting the window at the same location, restoring all panels to their last state, etc.). In case the Editor was already running, it will be focused and no second instance is opened. This is useful for tools that will launch the Editor and if it is already running, just show it with the updated data (keep in mind that the Editor is always updated to the latest content and assemblies).
Create a shortcut of the DeltaEngine.Editor application and provide your arguments in the Shortcut Properties if you don't want to use the command line. This also makes the command line arguments reusable, put it into your taskbar and click whenever you want to have it executed.
  • If you want to start multiple Editor instances just supply the MultipleInstances argument:
    DeltaEngine.Editor.exe MultipleInstances

  • To open a new editor and focus a specific tool use the Show Argument. Also works with a running instance to activate a tool:
    DeltaEngine.Editor.exe Show EntityProperties
    This will also work with your own modules (see EmptyEditorModule on how to write your own), just remove the spaces of the Module DisplayName ("Entity Properties" becomes "EntityProperties").

  • For the installer it is also possible to set the DeltaEnginePath environment variable (because when the installer starts it has not been set and new processes launched from it will not have it either). Might be useful if you want to change the DeltaEnginePath without having to go to your environment variable settings too:
    DeltaEngine.Editor.exe DeltaEnginePath c:\code\DeltaEngine

  • For any other arguments, they will be send to the ContinuousUpdater module, which supports different features, but most likely is used to update the Editor viewport with freshly compiled assemblies like so:
    DeltaEngine.Editor.exe c:\code\DeltaEngine\Rendering\Tests\bin\Debug\

    The will instruct the Editor to look in the Rendering\Tests\bin\Debug folder for assembly changes and update the viewport whenever an updated assembly was loaded. By default the Editor looks in its own directory for assemblies, so you can just copy them there or instruct your IDE to put compiled assemblies there to have the Editor pick them up automatically.

    DeltaEngine.Editor.exe c:\code\DeltaEngine\Rendering\Tests\bin\Debug\ DeltaEngine.Rendering.Tests.dll Line2DTests.RenderRedLine
    The line does not just update the folder the Continuous Updater looks in, but also instructs him to just watch a specific assembly and show the selected test in the viewport. The Continuous Updater module allows to change this visually as well, but using this command line feature is useful if you put the Editor on a second screen and just work in your IDE on the first screen and whenever a compilation is done the Editor on the second screen will update. Continuous Update programming is highly productive and leads to new discoveries and ideas for programmers. Designers and Artists can also use the build in features of the Editor to make small changes, but programmers will want to stay in their IDE where they feel comfortable.

Usage Examples


For Usage Examples, visit the Entities Page


Editor Development


To create your own Editor plugins use the DeltaEngine OpenTK source code and the Visual Studio Editor Plugin template to create a new project (or modify or copy an existing editor project). The Editor plugin must be located in the Editor folder of the solution or you can copy the assembly file yourself into the Editor output folder. Next derive from the EditorPlugin interface and implement all members (Name, Icon, and Initialize). Now you can start the Editor and test your plugin.

For details about Editor Development and Testing there is a special article for the interested among us.