Manage Solutions
- New Solution
- New Solution Wizard
- Custom Solution Templates
- Scene Templates
- Open Solution
- Save Solution
- Clear Solution Cache
- Solution Report
- HMI Report
- Organize a Solution Using Folders
- Reusable Solution Libraries
- Update the Solution Icon
New Solution
Create a New Solution
A new solution with all the basic elements can be created via Startup Panel item or menu "File" > "New Solution" or Toolbar item.
In the "New Solution" dialog that appears after selecting one of the above, you can set basic information for your solution using two items: "Create new solution" and "Solution Settings."
Create new solution
| Name | Solution name |
| Solution Template |
Solution template to use for the solution (There are several for different purposes, such as Empty, 2D Basic, and 3D Basic.) |
| Platform Name |
Target platform |
| Location |
Save the location of solution (Use the [Browse...] button to select the location to save the new solution.) |
| Create directory for solution |
Create a folder to save the new solution. |
| Create with default State Machine |
Include a GlobalStateMachine in the new solution. (This item can only be set if "Empty" is selected in the Solution Template.) |
| Is Shared Library |
Set it as a Shareable Component Library (SCL). |
Solution Settings
| Width/Height | Display/RenderTarget/2D Camera size |
| Units | Width/Height unit |
| Pixels/Inch | Resolution |
| Clear Color | Set the Clear Color. |
| Color Depth |
True: The Color Depth set in this option will be applied to the Render Target. False: The Color Depth of the selected Solution Template will be applied to the Render Target. |
Once you have completed configuring the solution, click the [ Finish ] button to create the new solution.
To configure more solution details at solution creation time, use the New Solution Wizard by clicking "Next >". About details, please refer to New Solution Wizard.
New Solution Wizard
When a new Solution is created as shown in the previous step, it is possible to use the New Solution Wizard. Here, important parts of the solution can be configured:
- Mange the Data binding source.
- Manage the import of .fbx files.
- Manage the import images.
After clicking "Finish", the solution will be created with a configured Data binding source, including the imported .fbx and image files.
In the ImportView of the "New Solution Wizard", it is possible to delete selected items before they are imported.
Additional settings
Set the Data binding sources and Include Path to be included in the new solution.
[File] is set to the Data binding source that is prepared in advance in CGI Studio Scene Composer. You can also set any file.
Import FBX
Set the FBX file to import when creating a new solution.
Use the [Remove from Import] button to remove the FBX file to be imported.
Import images
It is possible to cancel the creation of a new solution at any moment by using the "Cancel" button. There is the possibility to finish the process of creating a new solution with the Wizard at any step by hitting the "Finish" button. If this option is chosen, it will be necessary to do all the successive configuration and importing manually.
Please note that if the name of a file to be imported contains characters that cannot be used in Scene Composer, an alert message will be displayed and the import operation cannot be performed. For more information on character strings that can be used, please refer to "SceneComposer Names Validation Rules".
Custom Solution Templates
Default Solution
Any created solution can be set as a template solution:
- Create a new solution, name it (example: "MySolutionTemplate") and archive it as a .zip file.
- The .zip file will be added into the Solutions folder. Usually, this folder can be found in the directory <cgi_studio_root>\bin\SceneComposer\Data\Solutions
- Add the new default solution to the XML file "solutions.xml" which can be found in the same folder.
- Write "<Solution Name="My Solution Template" File="MySolutionTemplate.zip" IsDefault="True"/>" and save the XML file.
After restarting SceneComposer, the added solution can be used as template whenever a new solution is created. It will be accessible in the "Solution template" field from the "New Solution" panel.
Scene Templates
A scene created by the user can be set as a template by checking its IsTemplate property. This property is located in the [ General ] category in the Properties panel.
The dialogue used to create new scenes allows the user to select an existing template or import. If there are many scenes - 2D or 3D - created as templates, any of them can be selected and used as a template.
Scenes with the property item Is Template set are indicated by an orange frame on the icon. This makes it easy to identify them as scene templates.
In addition to scenes, the icons of controls and other elements that can be used as templates are marked with an orange frame as shown above.
Imported Scene
- A scene created when importing (FBX, GLTF, Smart Importer) is an imported scene.
- An imported scene cannot be edited, only renaming is possible.
- The user can create a scene based on an imported scene (using the imported scene as template). This can be done by right-clicking on the imported scene in the Solution Explorer panel and choosing Add Scene From Template.
- If the Imported Scene is overwritten (updated) by the SmartImporter, it will also be reflected in scenes created based on the ImportedScene.
Template Scene
- A template scene is a scene that can be treated as a template by setting the scene's IsTemplate property to True.
- The user can create a scene based on a template scene. This can be done by right-clicking on the template scene in the Solution Explorer panel and choosing Add Scene From Template.
- Changes to the template scene will not be reflected in scenes created based on it.
Open Solution
Open an Existing Solution
Open an existing solution via menu "File" > "Open Solution" or Toolbar item.
-
It is possible to open a solution in SceneComposer by dragging the .scs file on "Solution Explorer" or "Scene Tree" panels.
Select the .SCS file associated with the solution in the "Open" dialog.
Recent Solutions
The "File" > "Recent Solutions" menu option contains the last five opened solutions with the most recent displayed first.
Convert a Solution
Since the format of binary asset files generated by SceneComposer differs from version to version, it is required to convert existing solutions for an upgrade to a new CGI Studio version.
Open a solution to convert it into a new SceneComposer version. The "Solution Conversion" dialog will ask for confirmation before converting the solution:
Confirm the solution conversion by using the "Convert" option and the solution will be converted and placed in the same folder. After selecting the "Converted copy" option, the solution will be saved in a location chosen by the user.
All the old solution shaders need to be aligned with the new solution shaders. The "Convert Shaders" dialog allows the user to choose if the shaders differences will be solved automatically - by using the "Replace" button - or manually - by using the "Skip" button. At the same time, the user has the possibility to select those old shaders - placed in the upper part of the panel - which has to be replaced with the new solution shaders and shader programs - placed in the lower part of the panel.
Finally, a message dialog with the result of the conversion is displayed:
If the conversion process encountered some errors, they will be displayed in the "Errors" section of the "Conversion Results" dialog.
Additional outputs:
- A conversion log file, named "ConversionLogFile.txt", can be found in the solution folder.
- An archived file named like the solution and the conversion date is created. It can be found in the solution folder and contains the original solution before the conversion.
Save Solution
Save a Solution
A solution can be saved via "File" > "Save Solution" menu or Toolbar item.
Save a Solution in a New Location
A solution can be saved via "File" > "Save Solution As..."
Select the new location for the solution in the "Save As" dialog.
after pressing "Save", the solution is saved in the selected folder.
Clear Solution Cache
For an opened solution the Scene Composer uses a solution cache, which is stored in %appdata% directory of the user. In some cases, clearing of the solution cache might fix some problems (e.g. working in teams on the same solutions) and free up some space.
By clicking on "Clear Solution Cache" in the File menu the cache of the currently opened solution will be cleared. The solution itself will not be modified.
Solution Report
View the Solution Report
A solution report provides data for all vertex buffers and bitmaps available in a solution. It can be inspected as well as saved into a CSV file.
The "Solution Report..." menu opens a "Solution Report" dialog.
The "Save Report..." button opens a dialog asking for the name and a saving location for the report.
HMI Report
Introduction
The HMI report can be presented in the browser as a set of HTML documents. The documents that make up the report are interlinked and can be navigated using the navigation bar. Other output formats are CSV and Excel. The information provided by this report can allow you to answer several questions regarding your solution. These can include, but are not limited to:
- How many bitmaps are loaded in my solution?
- How many of these bitmaps are actually being used within my solution?
- What is the biggest/smallest bitmap within my solution?
- What controls/widgets/behaviors/texts are contained in my solution, and where are they used?
The HMI report will be presented in the browser as a set of HTML documents. The documents that comprise this report are interlinked and can be navigated by using the navigation bar.
Generating the Report
Upon opening Scene Composer and loading your solution, click Report within the main toolbar. Select the HMI Report... option to display the HMI Report dialog box, in which you can customize several aspects of your report.
| 1 |
Customize the sub-reports included in the generated HMI report. Check the checkboxes for the items to be output. For details on each item, see Report Content. |
|
| 2 |
Styling file |
This will specify where to retrieve the custom .css file to apply to HTML the documents. If left blank, a default styling file will be used. |
| Report Output Path | This is where you specify the output location for the documents. | |
| 3 |
This option specifies the format of the output report. See Output Formats for more information. |
|
After selecting the report’s output path, style file, and contents, press the Generate report button to proceed with generating your report.
Report Content
Report Sites
Report Options fill generate the following report pages:
- Bitmaps
- Bitmaps(summary): An overview of all the bitmaps within your solution. Contains data on bitmap averages, largest and smallest bitmaps, referenced pixel formats, and the frequency at which said formats are referenced.
- Bitmaps Details(detailed): Contains a paginated display and search bar for visualizing available parameter information for all bitmaps. Entries can be sorted by column.
- Used Bitmaps(summary): An overview of the referenced bitmaps within your solution. Contains data on bitmap averages, largest and smallest bitmaps, referenced pixel formats, and the frequency at which said formats are referenced.
- Used Bitmaps Details (detailed): Contains a paginated display and search bar for visualizing available parameter information for all bitmaps. Entries can be sorted by column.
- Unused Bitmaps(summary): An overview of the unreferenced bitmaps within your solution. Contains data on bitmap averages, largest and smallest bitmaps, referenced pixel formats, and the frequency at which said formats are referenced.
- Unused Bitmaps Details(detailed): Contains a paginated display and search bar for visualizing available information for all bitmaps. Entries can be sorted by column.
- Bitmaps(summary): An overview of all the bitmaps within your solution. Contains data on bitmap averages, largest and smallest bitmaps, referenced pixel formats, and the frequency at which said formats are referenced.
- Texts
- FontsandStyles: Contains outline of how often particular Fonts and Style are used.
- Translations: Contains outline of how often particular translations are used.
- FontsandStyles: Contains outline of how often particular Fonts and Style are used.
- Controls
- Controls: A list with the 30 most used controls (if available) and how many times each control was used in all scenes.
-
- Also includes a list of all controls and how many times each control was used within all available scenes.
- Also includes a list of all controls and how many times each control was used within all available scenes.
-
- Controls: A list with the 30 most used controls (if available) and how many times each control was used in all scenes.
- Behaviours
- Behaviors: A list of all behaviors and the scenes in which they are used. Also includes the scene type, behavior name, and the name of the entity associated with the behavior and a list of all behaviors indexed first by name, then by the scene in which they are used.
- Widgets: A list of the 30 most popular widgets (if available) and the frequency each widget was used in all scenes.
Also includes a list of all widgets, indexed by widget name and each scene in which said widget was used.
- Behaviors: A list of all behaviors and the scenes in which they are used. Also includes the scene type, behavior name, and the name of the entity associated with the behavior and a list of all behaviors indexed first by name, then by the scene in which they are used.
- Scenes
- 2D Scenes: A list of all 2D scenes within the solution. A table will be created for each scene showing the quantity of each of the following elements:
-
- Bitmaps
- Controls
- Render Nodes
- Text Nodes
- Widgets
- Bitmaps
-
- 2D Scenes Details (details): A list of all 2D scenes in the solution. A table will be created for each scene containing the names of the following elements:
-
- Bitmaps
- Controls
- Render Nodes
- Text Nodes
- Widgets
- Bitmaps
-
- 3D Scenes: A list of all 3D scenes within the solution including the number of vertices and triangle of each 3D scene.
- 2D Scenes: A list of all 2D scenes within the solution. A table will be created for each scene showing the quantity of each of the following elements:
- Annotations
- Annotations: A list of all annotations in the scene, for any node whose annotations property is set.
- Annotations: A list of all annotations in the scene, for any node whose annotations property is set.
- Rendering
- Rendering: A list of all effects that are used, and how often each effect was used within the solution and a similar list is also provided for text caching strategies and a list showing which text caching strategies are associated with each node, as well as the name of the scene in which said nodes can be found.
- Blending: A list of each blending combination effect and how often they have been used and a list of the blending combinations indexed by combination type, scene type (2/3D), scene name, and then by the entity name associated with the blending combination.
- Rendering: A list of all effects that are used, and how often each effect was used within the solution and a similar list is also provided for text caching strategies and a list showing which text caching strategies are associated with each node, as well as the name of the scene in which said nodes can be found.
Output Formats
- Excel: Basic Excel tables will be generated under selected path under in reports_excel. The particular sites will be accessible as excel pages.
- HTML: Html pages with navigation and basic sorting and filtering will be generated under the selected path in reports_html. The particular sites can be accessed through the navbar.
- CSV: CSV files will be generated under the selected path under in "csv". The respective pages will be accessible as csv files.
File Structure
HMI Reporting binaries are located within the Reporting folder of the bin directory (bin/Reporting).
- images - The various icons required to generate the html report.
- js - Utility scripts and other dependencies (i.e. jquery).
- styles - The available CSS files.
- logs – Contains logs that describe potential errors.
- doc - Contains a developers guide for the Python pipeline.
- scripts - Contains the Python scripts responsible for generating each subreport.
- apy.py - Contains several helper functions for computation purposes.
- driver.py - Contains the driver logic that generates the report.
- setup.bat - Script that install the necessary Python modules (dependencies).
Standard HTML Assets
HMI Reporting assets for HTML pages like css, icons, and js are available under /bin/ HMIReportAssets.
Using the Command Line for Report Generation
CssFilePath is an alternative absolute css file path.
ReportList is a list of sub-reports that should be generated separated by #.
Organize a Solution Using Folders
Solution Explorer Panel
SceneComposer organizes the solution in folders. Via "View" > "Solution Explorer" the "Solution Explorer" panel can be enabled, which displays the folder structure. This panel reflects the structure of the folders on the disk.
A new solution comes with a default structure of folders. The main "Solution" folder contains the following folders:
- Animations: Animations can be put into this folder.
- Controls: The folder for all Controls used in your solution.
- Resources: This folder is for Bitmaps, FBX, Fonts, PSD and other imported resources.
- Scenes: This is the place for all 2D and 3D scenes.
- State Machines: State Machines are best placed into this folder.
Filtering and Searching
Solution explorer provides a filter area where the object types that will be displayed in the panel can be filtered.
By pressing the small arrow from the left upper side of the panel, the filter area becomes visible.
Use the Search edit box on the top of Solution Explorer to search for different items in the solution.
Multi-Selection of Objects
For multi-selection of objects, press the Ctrl key while left clicking all the desired elements to select.
When the last desired element is selected the Ctrl key can be released.
After the multi-selection operation it is possible to copy, move or delete all selected items as desired.
Copy, Clone, Rename and Delete Items
The Solution Explorer Context menu allows cloning, renaming and deleting content.
-
Imported scenes and animation can only be deleted.
Clone Items
"Clone" will make a copy of the item and add it to the same folder as the item selected. The name of the copy will be the name of the item suffixed with a number.
It is possible to specify the number of clones to be generated, simultaneously, for an item. If this number is greater than 1, the name will be read-only and generated automatically.
Rename Items
"Rename" activates the "Rename Field" where the name of the item can be modified:
- Enter the desired name in the text box.
Delete Items
Delete items by using the "Delete" option from the context menu of the selected item in Solution Explorer or Scene Tree.
Delete Items without Dependencies
If the item to delete is not used in the solution, the "Delete Items" dialog simply lists the items to be deleted:
Delete Items with Dependencies
If the item to delete is used in one or more scenes of the solution, the "Delete Items" dialog will list those dependencies and asks for a resolution strategy:
The default resolution strategy can be selected, which can be overridden for specific dependencies. The following resolution strategies can be applied:
- None: The "OK" button will not work until a specific strategy will be selected.
- Replace With: The selected usage item will be replaced with a different item selected by the user.
- Delete Usage Item: The selected usage item will be deleted. The element will not be part of the solution anymore.
- Replace With Null: The application will use the null value where the dependent elements are used.
- Remove Array Item: If there are many elements which are contained in an array (for instance, a Camera inside a Camera Group), the selected item will be removed from the array.
- Delete > Replace With Null: When this resolution is selected the application will try to delete all the dependencies. If this does not succeed, the dependent objects will be replaced with null so they will not be used anymore by the items proposed for deletion.
- Replace With Null > Delete: When this resolution is selected the application tries to use the null value where the dependent elements are used. If this is not possible every dependent element will be deleted. It will not be a part of the solution anymore.
Move Items and Folders with Drag and Drop
Items and folders can be moved via drag & drop.
Items can also be used by dragging them directly into appropriate panels.
If an object is dragged from one folder to another folder where the same type of object is placed under the same name, the object, which is going to be moved to the new folder, is renamed by adding a numbered suffix.
If a drag operation is performed between 2 panels and the target item is part of a multi-selection, all the selected items in the target panel will be affected. For example when 2 groups are selected in the Scene Tree panel and a billboard is dragged over one of the selected groups, a billboard will be added to both selected groups.
Reusable Solution Libraries
Shareable Component Library (SCL) Usage
The main goal of a shareable component library (SCL) solution is to make all the resources from a particular SCS solution available to be used in other solutions. A SCL is an archived file containing SCML/binary files and some meta information. SceneComposer provides the possibility to reuse any part from a solution that is exported as a SCL.
It is possible to set a new created solution as a shareable component library (SCL) by using the "Is Shared Library" checkbox from the "Create new solution" dialog. After the creation of the new solution, the "Export SCL" option will be available under the "File" menu and it will be possible to export the solution as a shareable component library (SCL).
To export a solution already created as a shareable component library (SCL), first, choose the SCL "Library Type" from "File" > "Solution Options" > "General Configuration".
The SCL name can be the same with the SCL solution or it can be modified. Second, after the solution has been saved, the "Export SCL" option will become available under the "File" menu. On this way, the solution can be exported as a shareable component library (SCL) in any place selected by the user.
If an older imported/converted solution already contains a .scl file with displays, the error will be showed in Problems panel. In this way, the user will be noticed and will be allowed to correct this situation.
After the export of the solution as a SCL solution, the content can be used in another solution after it is imported via "Solution Explorer" panel where a "References" node is available. When right click on the "References" node, the "Add Reference" from the context menu allows the user to select the SCL solution.
After selecting an SCL solution, a dialog will appear prompting you to choose a save path format.
However, if the path of the selected SCL solution is located within the Solution folder or the Scene Composer folder, it will automatically be saved as a relative path. In this case, the dialog explained in the below will not be shown.
In this dialog, you can select either a relative path or an absolute path. If you choose to use a relative path, you can further specify the reference base from the following two options:
-
Relative to Scene Composer
-
Relative to solution
If the selected SCL solution exists on the same drive, the relative path option will be available, as shown in the figure above.
If the selected SCL solution exists on the same drive, the relative path option will be available as shown in the figure above.
However, if the selected SCL solution is located on a different drive, it cannot be converted to a relative path. In such cases, the dialog will display only the "Absolute Path" option.
After this step, all the available nodes will become visible under the "References" node in the next panels: "Solution Explorer", "Imports", "Toolbox", "Render Targets" and "Templates".
Another way to import the content of a SCL solution is through the "Solution Options" panel. Here is a specific section - "References" - where all the imported references are visible and other references can be added.
When an external application needs to access some SCL objects, it is mandatory to know which is the SCL name.
SCL name is like a namespace and it is used to access the SCL items from outside (//$NAME$/Controls/MyControl) and also for the Candera name ($NAME$##Controls#MyControl).
Control of SCL Items Visibility
It is possible to control the visibility of the SCL items at the destination by using a flag for scenes, animations, etc. This flag is available in the "Properties" panel. It has three different options:
- Inherited (the element, if it is a leaf, will inherit the property of the parent)
- Public (the element will be available as a reusable/shareable resource)
- Private (the element will not be available as a reusable/shareable resource)
All the available elements can be used in a new SCS or SCL solution. The leaves will inherit the desired type of visibility of any node just if the flag is set after the selection of the node in Solution Explorer panel. If this operation is done by selecting the node in any other panel, the item visibility will not be inherited by its leaves.
-
The referenced content of a SCL solution is available only as read only. No modification can be operated on it. If a modification is needed the user has to operate it on the referenced solution. After the modification has been done, the solution has to be saved and exported, again, as a SCL solution.
Update the Solution Icon
The solution icons displayed in the "Recent" section of the Welcome to Scene Composer screen can be updated.
How to update the Solution Icon
Select [ Update Solution Icon... ] from the context menu of the solution name displayed at the top of the [ Solution Explorer ] to set the current Scene Composer screen as the solution icon.
The updated Solution Icon will take effect after restarting Scene Composer.