Josh Posted March 21, 2023 Share Posted March 21, 2023 The one part of the new editor I am experiencing some friction is when I adjust material settings and want to see their effect on a model that uses that material. Switching back and forth between tabs each time you change something is tedious. Leadwerks avoided this problem by opening textures, materials, and models in separate editor interfaces that were designed differently from one another, and Ultra is using a single interface with tabs. Do you have any ideas of how to get around this without making the interface confusing? I'd rather not have a bunch of options like "Open asset in new window" / "Open in new tab" because it forces the user to craft their own UI. I'd rather things just work simply and intuitively by default, without the user even noticing. Do you have any other suggestions to improve the workflow so far? Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Canardia Posted March 21, 2023 Share Posted March 21, 2023 You could do it like in Blender, where you can expand views side by side and choose their content. 1 Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Josh Posted March 21, 2023 Author Share Posted March 21, 2023 Here's a mockup. I don't know if I like it. When you open a material's texture, what would happen? Would it open on the left panel? What if you change a texture setting and want to see the effect on the model? There are some other options: Make each asset open in its own window (one Asset Editor window for each opened file) Make a model editor, material editor, and texture editor window like in Leadwerks Don't worry about this and leave the behavior as-is Leadwerks, for comparison. What I like about this is you can instantly see all the properties for every file at a glance. If you focus on one of these files, you find what you are looking for with a picture, instead of searching for the right file name in a tab. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted March 21, 2023 Author Share Posted March 21, 2023 Here's a quick test. I opened a model in one window and two textures in the other window. Not sure about the tabs, they make things confused and complicated... Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted March 21, 2023 Author Share Posted March 21, 2023 Here we have three items opened with the tabs removed so each asset opens in its own window. I also replaced the window text with the name of the file: Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted March 21, 2023 Author Share Posted March 21, 2023 I uploaded another build that opens each asset in its own window, called "UltraEngine_b.exe", so you can run both and compare. It would be better if a new window was offset from the previous one a little bit, instead of being in the same default position/size but that can be added later. Right now I just want to get this out to you as fast as possible so your input can help steer the design. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted March 21, 2023 Author Share Posted March 21, 2023 Something like this might be better for models with embedded assets, where you can select a material or texture in the tree on the left, and then the properties on the right show the item properties. If you use tabs for a window like this, then you end up with something that looks kind of odd when a texture or material is selected. Since there is no need for any left-side pane for these assets, the window looks quite wide for them. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
reepblue Posted March 21, 2023 Share Posted March 21, 2023 I think having multiple windows is better than tabs. I easily loose what I'm working on and like you said, is annoying to see changes. You currently have no functionality to delete or rearrange the tabs so it's even more annoying. Removing it will also save you work for the time being. Quote Cyclone - Ultra Game System - Component Preprocessor - Tex2TGA - Darkness Awaits Template (Leadwerks) If you like my work, consider supporting me on Patreon! Link to comment Share on other sites More sharing options...
Josh Posted March 21, 2023 Author Share Posted March 21, 2023 I'm thinking the Leadwerks way is probably perfect. It shows everything at once, and it prevents you from opening too many files at once. 1 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
reepblue Posted March 21, 2023 Share Posted March 21, 2023 Agreed. What's not broke, don't fix. Quote Cyclone - Ultra Game System - Component Preprocessor - Tex2TGA - Darkness Awaits Template (Leadwerks) If you like my work, consider supporting me on Patreon! Link to comment Share on other sites More sharing options...
Josh Posted March 21, 2023 Author Share Posted March 21, 2023 Here's a revision. The relative file path is shown in the window titlebar. I also made the menu and status bars span the entire window. This wastes some vertical space the side panel was using before, but the lines looks a lot cleaner this way. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted March 21, 2023 Author Share Posted March 21, 2023 Here's an idea. Add a property grid in the bottom half of the hierarchy panel. When an embedded material or texture is selected, show its properties there where you can edit them and see the effect on the model. 1 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted March 21, 2023 Author Share Posted March 21, 2023 One big difference between glTF and Leadwerks models is all the materials are embedded in a glTF file. You can apply an external material file to it, but its contents will get copied into the glTF, instead of referencing the original material file. So material files are really just for CSG solids. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted March 21, 2023 Author Share Posted March 21, 2023 The best way to describe it is that the tabs make me feel "claustrophobic". Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted March 21, 2023 Author Share Posted March 21, 2023 On the right track now I think: Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted March 21, 2023 Author Share Posted March 21, 2023 This can actually get rid of the need for prefabs because every engine property can be embedded in the glTF. However, if the model is resaved in another program those properties will probably be lost. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
reepblue Posted March 21, 2023 Share Posted March 21, 2023 1 hour ago, Josh said: This can actually get rid of the need for prefabs because every engine property can be embedded in the glTF. However, if the model is resaved in another program those properties will probably be lost. Not liking this idea since I used prefabs for rooms, gameplay elements and light fixtures. Actually, if you can just load multiple scenes into the world as groups keeping all actor logic, that would be great. Quote Cyclone - Ultra Game System - Component Preprocessor - Tex2TGA - Darkness Awaits Template (Leadwerks) If you like my work, consider supporting me on Patreon! Link to comment Share on other sites More sharing options...
Josh Posted March 22, 2023 Author Share Posted March 22, 2023 That's a good point. I think we should draw the line at trying to store other entity types in glTF. However, you can set the mass and other properties of a limb and save that in the glTF file, so it does eliminate the need for some simple prefabs. In my experience 90% of prefabs are just a model with a collider and a setting for mass to make the model physically interactive. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
reepblue Posted March 22, 2023 Share Posted March 22, 2023 If I can create a both solidand concave collision meshes in blender with a unique name like ULTRA_COLLIISION_xx and have the ability to set a universal default mass value for that model within the gltf, that would be terrific! Quote Cyclone - Ultra Game System - Component Preprocessor - Tex2TGA - Darkness Awaits Template (Leadwerks) If you like my work, consider supporting me on Patreon! Link to comment Share on other sites More sharing options...
Josh Posted March 22, 2023 Author Share Posted March 22, 2023 It might not be hard to export the Blender mass value in the glTF file: https://github.com/KhronosGroup/glTF-Blender-IO Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted March 22, 2023 Author Share Posted March 22, 2023 In fact, it probably is not necessary to show a list of embedded materials in the file. That would be designed from the programmer's point of view. It could be more relevant to the end user if the material properties are listed on the mesh the material is applied to: I feel like this approach is designed with the end user in mind, instead of worshipping the code/data and treating the end user like garbage. 1 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted March 22, 2023 Author Share Posted March 22, 2023 When you select an embedded texture in the tree view the view switches over to the texture, and texture properties are shown. This is much better than what I had before: 1 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted March 22, 2023 Author Share Posted March 22, 2023 You can modify each limb's orientation, and all the basic entity properties, and they get saved into the model file: Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Alienhead Posted March 22, 2023 Share Posted March 22, 2023 The Leadwerks workflow as far as material editing and object placement is flawless.. I vote to mimic it all the way! Theres just something about being able to open the model or material up in a separate window, move it to the side.. goto the model in the scene editor then make changes in real time then being able to see it unfold as you change is such a smooth workflow. To be honest, working in the LE editor is a MAJOR positive that contributes to being able to pump out nice scenes IMO. "It's hard to perfect - perfection." 2 Quote I'm only happy when I'm coding, I'm only coding when I'm happy. Link to comment Share on other sites More sharing options...
Josh Posted March 22, 2023 Author Share Posted March 22, 2023 I feel my concern about handling models and materials is resolved nicely. 3 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.