Jump to content

Editor workflow discussion


Josh
 Share

Recommended Posts

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?

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

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?

image.thumb.png.54c0c40a108796853502ca59b3c808a1.png

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.

image.thumb.jpeg.005b858cef604344bae4ea1a48056fa9.jpeg

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

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...

image.thumb.jpeg.44af967fb18a583a34d4762d00b02317.jpeg

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

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:

Untitled.thumb.jpg.67b25d901bb423643ae17391e4c3ebba.jpg

 

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

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.

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

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.

image.thumb.jpeg.d04b239dea6a92fba252b2c56e5cea0c.jpeg

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.

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

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.

Cyclone - Ultra Game System - Component PreprocessorTex2TGA - Darkness Awaits Template (Leadwerks)

If you like my work, consider supporting me on Patreon!

Link to comment
Share on other sites

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.

image.thumb.jpeg.6cc4dc8c03f6f72410aa4acca8cc2a8e.jpeg

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

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.

image.thumb.jpeg.dde31298aa3ad3ee337f45adfb39a8ad.jpeg

  • Upvote 1

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

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.

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

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.

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

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.

Cyclone - Ultra Game System - Component PreprocessorTex2TGA - Darkness Awaits Template (Leadwerks)

If you like my work, consider supporting me on Patreon!

Link to comment
Share on other sites

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.

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

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!

Cyclone - Ultra Game System - Component PreprocessorTex2TGA - Darkness Awaits Template (Leadwerks)

If you like my work, consider supporting me on Patreon!

Link to comment
Share on other sites

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:

image.thumb.jpeg.f5c868a6e2c7b9ec33a6731355065b31.jpeg

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.

  • Upvote 1

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

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:

image.thumb.jpeg.bd372960ef9acf7fc646536f2ee89ca8.jpeg

  • Like 1

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

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."

  • Like 2

I'm only happy when I'm coding, I'm only coding when I'm happy.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...