Jump to content

Workflow Improvements


Josh
 Share

Recommended Posts

I'm quite happy with the asset workflow in our new editor. The tools for inspecting models, materials, and textures, together with the glTF pipeline, turned out really nicely and are very powerful and intuitive.

However, there are some areas of friction in the basic mapping tools though that people have pointed out, particularly in these areas:

  • Object selection
  • Object creation
  • Terrain editing

Now, because Ultra includes a CSG editor in its core tools, it requires that we do things a little bit differently from other editors, but I believe we can improve its basic functionality. If you haven't seen the Game from Scratch video I recommend giving this a watch:

Although I wish they had gone into more detail on the available benchmarks and the paper I published with NASA, I think Mike did us a tremendous favor by highlighting some of the usability issues in the object creation workflow. Fortunately, the mouse tools are each compartmentalized in their own class, and it's not super difficult for me to adjust the controls.

We will have another session on Discord this Saturday at 6:00 PM GMT (10:00 AM PST). Before then, I would like to use this thread to discuss how object selection, creation, and terrain editing can be improved. This is a design problem, not a programming problem. Once the workflow design is decided, it won't be too terribly difficult for me to make the necessary changes.

Please try to think about object selection, creation, and terrain editing at once, because these three things are highly interrelated, and the solution must consider all three. Although there are other various small improvements that can be made to the individual mouse tools I would like to focus on these three issues because they are so central to the workflow.

So give these a spin in the editor and please let me know in the comments below how you would like them to be improved.

  • 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

Drag & Drop a folder with models would be awesome. So you dont need to open the folder within the explorer.

For object creation you could add it where the center of the viewport or camera currently is. So the user just clicks within the menu entry and it get placed automaticly. 

Also an Gizmo for the moving would be nice

Link to comment
Share on other sites

Like many already said holding a mouse button is not a convenient to create an objects. Maybe creation should have an own tool mode to avoid unwanted actions so it would be just one click to create.

Object select probably should open map tab. Which probably should be Scene tab.

Copy pasting objects should also copy components and properties. atm it would be a pain o do make tile based levels for tactics in the editor for example.

Selection could be an own tool mode so user could able to select a few objects by holding LMB without doing anything else at same time (idk how to call it, same thing that you use on  Windows folder to select few files).

Objects tab is not very user friendly in general - 4 clicks to select one specific object. I would try tabs or icon button row for categories (like toolbar). Probably same for objects. Primitive should have more parameters for creation - optionally position and size. atm i don't even known how to create a brush with specific size since even there is no size  even in properties in a map tab.

Menu component should not close it self if you click on button that do nothing but shows other buttons (like Recent Files).

Tool tip is needed for some buttons and properties so user would know what they do without looking into documentation.

Scripting needs at least basic documentation with things (components names etc.) that you can refer in own scripts and an example how to spawn objects in a editor scene.

Terrain misses a cut tool to make a holes in it.

The editor should open last map at start. Also it should ask about saving changes when you have them while closing the editor.

  • Like 1
Link to comment
Share on other sites

Good discussion! I will respond with some proposals before the meeting Saturday.

Please limit the scope of this discussion to object selection, object creation, and terrain editing. There are other small areas in the editor that can be further refined, but this is the problem I want to focus on first because it is very central to the user experience.

  • 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

Posting this here so my thoughts have been heard before the weekend.

I think the left sidebar should return with the following:

  • Object Selection/Edit Mode
  • Face Selection/Edit Mode
  • CSG Creation
  • Point Entity Creation (Lights, Pivots, Etc)
  • Volume Entity Creation (Probes, NavMesh, maybe even make a new entity that's just an empty volume for triggers so we don't have to make trigger brushes invisible in code anymore.) 
  • Terrain Tool (Sculpting Terrain only)
  • Paint Tool (Vertex/vegetation painting) 

The Object tab would reflect what can be created in each mode. Something I never got used to was having what I can make split up in different categories. I should be able to see every point entity I can create in one menu. I also want to turn Instant Creation off. I also think the paint tool should be different from the terrain tool as I would like to see vertex painting on bushes to add more variety to walls and floors in the future. 

Some of this can be optimized, but just some thoughts when it comes to the 3 creation points.

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

The way Leadwerks worked for translate. rotate, scale, etc was excellent. A graphical gizmo is more than just handy, it provides graphical feedback and allows you to work faster and smarter - especially in 4 views.

Sync between all views

Terrain editing as in Leadwerks - we are missing all the really good stuff. No smoothing or eco painting. In addition, ramp, erosion and other terrain-specific tools would be stellar. Heightmap import needs to be fixed. Right now, it does not work.

Drop to floor/terrain for assets - much easier to level design with drop to floor.

Snap to object - excellent for modular kit bash workflows

Better Undo/Redo

Prefabs and/or grouping

Mike

MSI Dominator Laptop - Core i7 - 8 cores / 3ghz / 32gb RAM / Nvidia 980 GTX with 16gb vram / SSD drives

MSI Dominator Laptop - Core i7 - 8 cores / 3ghz / 32gb RAM / Nvidia 1060 GTX with 8gb vram / SSD drives

Alienware Laptop - Core i7 - 8 cores / 3ghz / 32gb RAM / Nvidia 1070 Ti with 16gb vram / SSD drives

My Patreon page: https://www.patreon.com/michaelfelkercomposer

My music for sale: https://www.tgcstore.net/category/513?format=all&perpage=30&textures=undefined&price=all&order=default&artists[]=87213

Custom synths and sounds - http://www.supersynths.com

Link to comment
Share on other sites

Here are my proposed changes:

Creating an object by clicking on the object type in the create menu (like Unity does) is not a good solution in Ultra for two reasons:

  • CSG editing is a core part of our workflow, and it involves the concept of "the current selected type of object that is to be created". If a 1x1x1 CSG box just materialized in front of the camera when that menu item was selected, it would ruin the user's ability to sketch out a hallway.
  • We want precise placement of point entities, which Unity's object creation mode from the menu does not do very well.

A separate create tool will be added, appearing in the mouse tool buttons before the movement tool. This tool mode must be selected in order for click-and-drag (brushes) or just click (point entities) to start object creation. This tool mode can not select objects, so the conflict between object selection and point entity creation is no longer a problem, and will prevent accidental object creation when you are using other mouse tools.

Objects will no longer be created instantly when you release the mouse, but the outline will be visible. You can then press Enter to create or right-click the mouse and a single "Create" menu item will appear, which you can click to proceed with creation (how old-school Hammer does it). Object types that involve creation parameters (like cylinders) will then show a small window with the parameters you can adjust, and then press OK or hit enter again, or escape to cancel.

If a point entity is selected as the current object type, the blue cross will appear immediately when you click the mouse, if the create object mouse tool is active. The blue cross can be adjusted in different viewports, and when you are ready you can either press enter to create the object or right-click and select the "Create" popup menu that appears.

The object panel will be removed, since the creation parameters are in a pop-up window, and the object type can be selected from the main menu.

For more expert usage, a key combo can be used to create an object while using a different tool. If you have the scale tool in use and you hold maybe Shift+Alt and click the mouse, it starts the creation routine instead of selecting an object. This provides a way for prolific users to quickly create something without clicking back to the creation tool, but still prevents accidental object creation.

I also have been planning to add a little "+" sign button next to the search bar that will allow you to instantly add any object to the scene. When you click this button it would show a pop-up menu with all the available object types, and clicking on one of them would do the instant creation thing without any mouse input. Maybe this will parent the new object to the currently selected node in the scene tree, or maybe it will create it right in front of the camera. Some experimentation is needed here.

For the terrain editor tool, I propose making it so mouse selection only works on terrain. If you click on the empty background or on an object that is not a terrain, nothing happens. The only way to deselect the current terrain is to click on another terrain, or hold the control key while clicking on a selected terrain (normal selection toggling). This will prevent accidental de-selection of a terrain while you are painting or sculpting it. It may also be beneficial to make the terrain mouse tool button disabled if no terrain is selected. Maybe the same should be done for the brush face and vertex tools, if no brush is selected.

  • Like 6

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

4 hours ago, Josh said:

Objects will no longer be created instantly when you release the mouse, but the outline will be visible. You can then press Enter to create or right-click the mouse and a single "Create" menu item will appear, which you can click to proceed with creation (how old-school Hammer does it). Object types that involve creation parameters (like cylinders) will then show a small window with the parameters you can adjust, and then press OK or hit enter again, or escape to cancel.

If a point entity is selected as the current object type, the blue cross will appear immediately when you click the mouse, if the create object mouse tool is active. The blue cross can be adjusted in different viewports, and when you are ready you can either press enter to create the object or right-click and select the "Create" popup menu that appears.

💙

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

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