The integration and interaction between Shark 3D and other tools provides optimal workflow for designers, artists and programmers. Using Live editing the running console and PC game, the designer can live manipulate the running console or PC game comfortably.
Shark 3D tools are a flexible and open environment for configurating and manipulating Shark 3D components and properties.
|
For example, define an enemy type, and then place that enemy multiple times in your level.
Prefabs are live. This means that you can change each template or prefab afterwards, and all instances in the scene will use that change.
For example, you may create a template defining the basics of all enemies in your game. Then you can use that template to create multiple nested prefabs for different enemies, for example having different scripts. You can instantiate these enemies at multiple places in your levels.
All this can be done graphically without any scripting or programming.
Also nested prefabs and templates are live. You can change each prefab or template afterwards, and all derived prefabs, templates and instances in the scene will use that change.
Also slots can be used graphically without any scripting or programming. And of course also slots are live and can be changed afterwards.
Any change in the shader editor can be seen live in the game editor and on all target consoles. For example, as soon as the artist connects two nodes, the resulting surfaces change immediately in the game running on the consoles.
|
Furthermore, tool functionality can be also integrated into other tools. For example, a standard plugin for 3D Studio Max™ integrates the editing functionality for shaders into 3D Studio Max™.
Using the modular structure of the editor architecture and the component architecture, it is easy to integrate functionality of the tools into other tools, including proprietary tools.
|
|
In Shark 3D, runtime errors can be interactively managed similarly easily as compile time errors. Internally, runtime error handling is performed by a sophisticated online communication between the resource editor and the running Shark 3D based application. Changes are updated into Shark 3D by Live editing the running console and PC game, and Shark 3D gives direct feedback about runtime errors to the resource editor.
This means in practice: You change some complex object configuration. The editor shows the runtime errors caused by this new configuration. You click on a runtime error to jump to the component configuration causing this runtime error. You fix the error. And the error will vanish from the list of active runtime errors.
This provides a new level of productivity also for managing complex object relations including runtime binding, polymorphism and dynamic object relations.
For example, you may dispatch a command in a wrong way, causing problems only at runtime because of runtime binding and polymorphism. Shark 3D automatically gives feedback to the editor as soon as the error has occurred. When clicking this error you jump directly to the dialog where you configured the dispatcher component in the wrong way. After having fixed the erroneous dispatching configuration, the error will automatically vanish in the list of active runtime errors.
If a programmer has implemented or assembled a new component, he easily can provide a customized user interface (UI) to the designer in the tools. This includes a detailed specification which parameters can be modified by the designer. A designer having insight into the component provided by the developer also easily can configure the tools for his particular needs.
|
For example, a scripter can add a new GUI control for a game play item and connect it to a run-time feature via some sophisticated Python code. By pressing one button, both the editor and the run-time use that change.
Another sample is that a graphics scripter edits the Python code of a Shader Editor node which generates the pixel shader code for that node. By pressing one button, the shader editor immediately uses that modified implementation, and updates the new pixel shader to the run-time on PC or consoles.