Jump to content

Search the Community

Showing results for tags 'editor2'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Welcome to UNIGINE Forums
    • News & Announcements
    • Getting started
  • Development
    • Content Creation
    • World Design
    • Rendering
    • Animation
    • Physics, Navigation and Path Finding
    • UI Systems
    • Sound & Video
    • Editor
    • C++ Programming
    • C# Programming
    • Networking
    • Sim IG (Image Generator)
    • VR Discussions
    • General
  • Improving UNIGINE
    • Documentation
    • Feeback for UNIGINE team
    • Bug Reports
    • Unigine SDK Beta feedback
  • Community
    • Collaboration
    • Tools, Plugins, Materials & Tutorials
    • Showcase
    • General Discussions
  • Legacy
    • UnigineScript

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...

Found 22 results

  1. Why benchmarking Editor The less time you’re spending looking at progress bars the better experience you have, the faster you’ll move on with your tasks. Thanks to our customers we have collected a number of high load usage scenarios that helped us to improve overall performance of import, assets, and scene management subsystems. To understand how current Unigine Editor version performs we ran a number of tests inspired by real cases and compared results with some popular game engines. Test cases and methods We tested assets import, bulk nodes operations and asset systems. Detailed description of how the tests were run is provided in the corresponding parts of this article. Here will be described general principles we’d followed during the research: Every test was performed in the default Editors environment, no plugins attached, no settings changed. General criteria of a test completion is the equal result. For instance, some editors compress 8k textures to 2k by default, so we had to manually reconfigure import settings to get the identical 8k texture in every tested editor. If the test ended with an application crash or hang we nullified the result. All measurements were done multiple times to verify values. In order to make the tests closer to the real life, we used parts of the real projects from our customers and some complex enough test assets from open sources. All measures were done in seconds, then converted to the number iterations per hour. All graphs are built with iteration/hour value. Test rig We decided to use a somewhat typical development hardware: CPU: Core i5-9600K @ 3,7 GHz GPU: GTX 1080 - 430.64 RAM: 32 GB (4x8 GB Corsair Vengeance LPX @ 2133 MHz) MB: Gigabyte GA-B360M-DS3H Storage: Samsung 960 EVO SSD Software: All tests were run on Windows 10 Professional (build 17763.503). We used the following versions of the engines: UNIGINE Engine Unity Engine 2019.1.2f1 Unreal Engine 4.22.1 Test 1. Geometry only import The first test files (FBX and OBJ) with polygon count varied from 1 to 13 millions, and number of meshes varied from 1 to 46 000+. It was hard to distinguish a straightforward conclusion due to a different editors behaviour in the performed tests. However, there are some things that can be stated: Unigine Editor loses performance with simple models with low number of stored objects (from 1 to a couple of dozen). We regain speed in extreme loads with thousands of objects in a single model. The more meshes are imported the higher delta of time spent on the process. You may notice that Unreal Editor’s results aren’t represented in all charts. This is happened due to a crash or insufficient RAM volume. The major inference here is that we have to reevaluate our approach to static geometry import, because that’s where the speed was bottlenecked. Iterations per hour and polygon count Test 2. Importing materials Here we checked how fast Unigine Editor handles import of thousands of materials. At first, we verified that the number of objects does not interfere with material import speed: fbx files with 5000 materials and different number of meshes were imported at the same speed in every tested application. The test files can be found here: Here we did our best: in every case Unigine Editor imports thousands of materials much faster than the other contestants. Iterations per hour and number of materials Test 3. Geometry and textures From synthetic test we moved to the more realistic use cases. FBX and OBJ files were divided into two groups: one with embedded textures and another with external textures. Polygon count varied from 100 000 to 10 M, textures number from 5 to 1 199. Most of the models were kindly provided by our customers, so they are representative for real projects, but we can't share them. However, there’s the Amazon Lumberyard Bistro (two OBJ files with external textures) which is Creative Commons (CC BY 4.0) licensed. Importing external textures made it difficult for Unity Editor. All tests were considered to be failed because only geometry with materials but not a single texture were imported. Iterations per hour and number of external textures Embedded textures were handled successfully by all of three tested editors. Unigine prevailed in 3 of the 5 cases, however, increasing the number of textures up to 1000 slowed import down. Iterations per hour and number of embedded textures Test 4. Importing cubemap textures This test was mostly focused on 16k Cubemap textures, but as exclusion we used one 15k texture. All textures were obtained from https://hdrihaven.com. Getting a usable 16k cubemap texture in Unigine Editor is almost 4 times faster than in Unity. Unreal dealt with 15k texture only, bigger resolution caused crashes. However, Unigine experienced issues with RGBA32F EXR and 17k RGB32F HDR textures. We’ll figure out why these files wasn’t processed. Iterations per hour and image megapixels Test 5. Importing 2D textures We used the range of textures from 32x32px to 16k. One test included 400 textures of different size and file format. All files were compressed from PNG, TGA, JPG to the runtime-ready format (DDS). The most noticeable breakaway seen with 4k textures: Unigine workflow brings up to 11 times faster asset processing. Iterations per hour and texture resolution Test 6. Nodes manipulation in Editor By nodes manipulation we mean a number of general tasks every user does in the scene editor: creating instances, cloning, transforming and undoing changes. We used two sets of nodes: 5k and 15k nodes in the scene. Every contestant editor managed with 5 000 of nodes in the scene. Unigine performed much better in the number of undo cases and node transformations. Iterations per hour and test cases Situation drastically changes with 15 000 of nodes. Unreal was dropped out because all cases resulted in hang or crash. We significantly lost in nodes selection, but still prevail in undo. Transform and creating duplicates. Iterations per hour and test cases Test 7. Assets manipulation in Editor Ideologically similar test was performed for the asset system. For the 5 000 assets minor Unigine’s drawback is selection time, while other operations are completed quite fast. Iterations per hour and test cases Increasing assets number respectively scales the required time for operation completion. Iterations per hour and test cases Final thoughts The work we’d done to the moment made Unigine Editor fast and reliable tool for 3D scene building. Of course, the tests showed us further optimization opportunities: massive selection, small meshes import and cubemap formats widening. The major spotlights of Unigine Editor are: Competitive content import system, fastest in a number of use cases Stable scene management under extreme load Effective and reliable workflow with big projects Please share your thoughts on UnigineEditor performance!
  2. Hi, I thing that it could be very useful to have option in Editor2 to just reset physic state (with transformations of affected objects) to state from file. It could be very similar to world_reload but it could be a little bit more performance improvement to world_reload because it could do just 2 thinks which I described earlier. Kind regards, Jan
  3. Edit terrain in Editor2

    Hi, I am wondering how can I edit (paint textures, masks/layers and heights) Terrain via Editor2 (just Terrain object, not TerrainGlobal object). In Editor1 it was an Edit button for edit terrain, but in Editor 2 is missing. Another question is if I can use TerrainGlobal object in Unigine Starter ? Or it needs Landscape Tool which as I assume is delivered in higher version of Unigine (Unigine Sim) ? Is there any other way to import heightmap/maybe just map into TextureGlobal (or I can do it only via Landscape Tool) - to generate terrain ? Thanks, Jan
  4. Main loop in Editor2

    Hi, I am implementing custom modules into engine as addition into code of main class: main() { ... Unigine::Engine* pEngine = Unigine::Engine::init(UNIGINE_VERSION, argc, argv); while (!pEngine->isDone()) { pEngine->update(); pEngine->render(); pEngine->swap(); } ... } which works well in game mode, but it holds at pEngine->Update() method in Editor2 (runned as argument -video_app auto -video_vsync 0 -video_refresh 0 -video_mode 1 -video_resizable 1 -video_fullscreen 0 -video_debug 0 -video_gamma 1.000000 -sound_app auto -data_path "../" -engine_config "../data/unigine.cfg" -extern_plugin "Collada,Editor2" -console_command "config_readonly 0 && world_load \"xxx\""). It's going through pEngine->Update() after closing Editor2. How can I make this loop: while (isDone() == 0) { update(); render(); swap(); } to work with Editor2 ? If is not possible then do I should try to move my implementation into AppSystemLogic ?
  5. Generate terrain in Editor2

    Hi, Where I should create terrain data for generated terrain object via Editor2: in "assets" folder or just in "data" folder ? As I see all generated references points into data folder but when I create it in data folder then I don't have access to created terrain data via asset browser. Thanks, Jan
  6. Hi, In last Unigine version (, when the editor2 is opened this message is shown repeatedly in console: TreeModel::remove_item(). Item with the provided GUID not found in the model! This is not a critical issue, but it's always good to reduce noise in console to detect other problems. Thanks.
  7. Hi, I thing that it could be not auto reloading script files from assets (I thing that they are also copied into data folder). This is not required because WorldExpression have option to reload script file, and this place could do it (you have to press button manulally) In the case of global script you have to reload world to see changes so this files could be reloaded in the time of reload_world command. Kind regards, Jan
  8. Hi, In big projects validating assets at Editor2 startup takes a time. I think that it would be helpful to have option to run Editor2 (project) without validating to speed up starting time. Such option could be available in SDK browser as option of "Customize UnigineEditor Options". Kind regards, Jan
  9. Hi, I observed that Editor2 (SDK 2.6.1) crashes at the moment of applying edit of NodeReference by Apply button in editor in the case of using nodes from such NodeReference somewhere in UnigineScript in update function e.g.: void update() { ... nodeFromReference.getWorldPosition(); ... } Here nodeFromReference is not nulled at this time so I can't prevent it. As I see is a Editor issue.
  10. Hi, I observed that in some cases changing a param for properties inherited from node_base crash Editor2. This happens if you have multi-level inherited properties like this: To crash editor I do following: 1. Edit global param value in Properties panel (not instance at Node level), 2. Save world, 3. Reload world by world_reload cause freeze of Editor2 (crash it). But it will works if you first reload world: 1. Reload world by world_reload, 2. Edit global param value in Properties panel (not instance at Node level), 3. Save world, 4. Reload world by world_reload - this time Editor2 will be not freezed.
  11. Remove physics shape crashes Editor2

    Hi, In my case I cannot delete Physic shape from Rigid body. It's crashes Editor2 e.g.: I cannot replicate this problem at new scene. But it stays for me even without any implemented code or script. It's happens even for a new world. So it may be related with my updating project for new version of SDK.
  12. Hi, As I see Editor2 is a very good base to create projects. But there are some issues and problems with UnigineScripting which crashes/freezes Editor2. This make a difficult to prototype/work with Editor2. I think that you should focus to fix some issues, make a lot of tests of UnigineScripting integration with Editor2 and improve it to prevent crashing/freezing Editor2.
  13. Hi, I observed that Editor2 crashes when I get runtime error e.g. make some operation at not existing object. I know that I should protect it in the code. But it is possible to just display error in console of Editor 2 instead crash entire Editor 2 ? Thank You
  14. Hi, I observed that custom properties (inherited from node_base or surface_base) are unloaded from Editor2 (they disappear from property hierarchy panel) in the case of error in script file (when you reload world with error in script). To load it again it is necessary to restart Editor2. Please fix it ASAP.
  15. Hi, I observed that properties (node properties with attribute version) not working with Editor2 for property file, eg.: <?xml version="1.0" encoding="utf-8"?> <properties version="0.01"> <property name="xyz" parent="node_base"/> </properties> This property will be not visible in Properties panel in Editor2.
  16. I observed that selecting PlayerPersecutor node in Editor2 which have provided Target Node slow down performance below 4 FPS in Editor2 during transforming this node (moving). This happens only when you have opened Player Pesrsucator properties in Parameters panel.
  17. Hi, Test scene looks like (all nodes): I observed that when I make error in UnigineScript file eg. like that: int init() { Node node = notDeclaredFunction(name); } test.cpp (guid://dd963586682183e918186d544de6871dc2fc17e8):13: Interpreter::parse_expression(): unknown token "notDeclaredFunction" in "notDeclaredFunction( name)" expression World::loadWorld(): can't load "test.cpp (guid://dd963586682183e918186d544de6871dc2fc17e8)" world script which stops loading a world so my scene become black: it's clone my player (PlayerPersecutor nodes) in Scene (1) each time I reload world: and after a few times it's crashes Editor2 (below I provided top of my stack trace): and the error: I don't have source code of the engine to tell where exactly is the error. But I think that the problem is, that created player is not destroyed in the case of error in UnigineScript. This should be fixed ASAP.
  18. Hi, I observed that debug mode for Edit Content in SDK browser not working: always starts project via main_x64.exe file (not main_x64d.exe). But it loads Editor2_x64d.dll debug version of plugin.
  19. Hi, I observed strange thing with Unigine scripts in Editor2. You added asset folder (to data folder, existing one). So from this moment we have 2 duplicated Unigine script files which are exactly the same, but works differently: To see changes via hot reload by world_reload command it is necessary to edit script file from data directory. That's fine. The only problem is that when I load or reload world in Editor2 then the script file from data directory is replaced by script file from asset directory. It is error prone and very uncomfortable. By mistake it is really easy to lose all changes in script file. Please FIX it to operate just on one Unigine script file (from asset or data folder).
  20. Hi, I observed that Editor2 crashes from time to time when I modify fbx file stored in asset directory. Step to reproduce: 1. Save fbx file somewhere in asset directory. It should be automatically loaded into Editor2 (you will see it in logs - if no, then you should activate windows with Editor2 by clicking somewhere in it or you can just import it). 2. Make changes to fbx file by external application (I do some changes with skeleton, bones and skin) and save this file (it should be the same file as in point 1). 3. Give focus for Editor 2 by clicking somewhere in it. It will reload automatically changed fbx file. At this moment from time to time Editor2 crashes. If will not crash for you then you should after point 3 repeat again from point 2 then 3 ... 2,3,2,3, ... Usually it is enough to do it once, twice or just a few times to crash Editor 2. Thank you
  21. Hi, I observed that Editor 2 crashes after deleting reference to mesh (not existing, deleted mesh file - as a workaround to reimport it) from NodeReference (opened to edit): (fortunately change it is working correctly, Editor crashes only when I try to delete a reference).
  22. Editor 2 Plugins support

    Hi, Is the plugin system supported in Editor 2? Some of these plugins are very useful for us, and looks like they can only be used in old Editor. Regards.
  • Create New...