GUI
The current article describes the native GUI, which includes the following:
General info#
Unigine provides flexible Graphic User Interface (GUI), its main features are:
- Various widgets and containers
- Dialog windows
- 3D effects
- Activation animation
- Easy skin changing
- UI files in XML format
- Localization support
- True Type fonts support
- Unicode (UTF8) support
- IME input support
How to Create GUI Layout#
There are 2 ways to create the GUI layout:
- Directly from a script via GUI-related classes
- By using User interface (UI) files
By Scripting#
To create widgets directly from a script, perform the following steps:
- Declare all of the widgets as global variables in the script.
- Create the corresponding object for each widget.
- Define necessary properties for each object (height, width, etc.) by using functions of the corresponding GUI-related classes.
- Add root widgets to be rendered in the GUI interface via Gui::addChild().
- Add children of the root widgets to be rendered in the GUI interface via Gui::addChild().
By Using UI files#
To create widgets and describe the layout by using User interface (UI) files, perform the following:
- Create *.ui file that describes what widgets should be drawn and how they are laid out (see more details).
- Declare root widgets (or containers) as global variables in the script.
- Load User interface by using the UserInterface() constructor.
- Add root widgets to be rendered in the GUI interface via Gui::addChild().
This is faster and more convenient way to create a GUI.
How to Create Custom GUI Skin#
- Create all required GUI textures (see details on Skin Layout).
- If necessary, create Resource file (RC) where global settings for GUI interface are described.
- Use custom skin:
- If you need to change the system GUI skin (2D GUI), replace files under data/core/gui folder.
- If ObjectGui or ObjectGuiMesh (that is, monitors positioned in the world) is used, specify a folder with all textures, RC file and the default font in the constructor.
Last update:
2023-12-19
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)