Praxis3D converter
2020
A tool for converting various assets to be used in Praxis3D game engine. It currently supports conversions of maps (along with all the assets) from ProjectExodus exported scenes, allowing Praxis3D to import maps from Unity and Unreal Engine.
Features:
- Windows platform, x64 bit, C++17
- GUI written in Microsoft C++/CLI
- Texture and model loaders, supporting multiple formats
- Combining of multiple materials into single files
- Error logging and console output
- JSON importer and exporter
Detailed description:
GUI - Microsoft C++/CLI is used for graphical user interface. A new thread is spawned for converting, to not freeze the main window. The progress of convertion is reported via the progress bar and all calls to the GUI from a different thread are made using invocations, to be thread-safe.
Importer - Imports a JSON Exodus project including all contained resources. The assets can be loaded from a separate directory, allowing resource sharing between different projects.
Exporter - Exports the scene to JSON files that are used in Praxis3D engine. Additionally, a directory hierarchy is created for all resources. Assets can either be copied/exported, or only the scene JSON file can be exported (for instance, if the assets were not changed, except for the scene itself).
Models - Separate model files are copied over, while vertex data of geometry nodes are loaded and exported as regular model files.
Textures - Regular materials (albedo, normal, etc) are copied over. Additional materials (roughness, metallic, height, ambient occlusion maps) are combined into one (RMHAO) map that is used by Praxis3D engine.