Gaea Build & UI QoL Suggestions

Hello,

I would like to share a list of features and QoL changes that I have thought of while using Gaea 2.

  • Add the Group Nodes button in the right click context menu.

  • 3D Transform Gizmo for Object node: A 3D view-port transform gizmo to easily adjust an Object node. Including the Z axis.

  • Ability to zoom and pan in the edit Draw node window.

  • Add the “Switch Inputs” button to the Mask node.

  • Set Graph Vars in Build Profiles: I would like the option to set the custom graph variables in specific Build Profiles. For example, a bool switch that either enable or disable specific features or exports of the terrain.

  • Alt-Click to break link - I can’t break the habit of Alt clicking on lines to delete them. Unreal users will be elated.

  • Cancel Turntable Animation - I would like the ability to cancel a Turntable animation in progress.

  • More Screenshot Pass Options - In addition to the Turntable animation, I would like the ability to do a straight screenshot pass in the direction and camera angle of my choosing. I would also like the option to rotate around the center of my camera’s shot, instead of only the center of the landscape.

  • More View-port Camera Options - I would like as much control over the viewpoints camera as possible. I would like to detach it from orbit and Freecam. I would like to be able to change the FOV.

  • Camera Post Process Effects - I would greatly enjoy playing with viewport post processing effects, such as Bloom or Depth of Field. If not native effects, perhaps a change could be made to the Gaea viewport to make the depth pass accessible to Reshade.

  • Standard Screenshot Size / Aspect Ratio - I would like there to be an option in the Screenshot Options menu to take a screenshot in a standard resolution/aspect ration, instead of the view port’s dimensions and aspect ratio. In order to capture a full 16:9 screenshot, I have first to detach the view port and resize the floating view port to full screen.

  • Change a Regions Resolution in the Region Menu - I would like to be able to right-click on a region in the Regions map and select the resolution. It does not feel intuitive having to go to the Build Definition tab and selecting it from that drop-down.

  • Omnidirectional Push Graph - Currently the ctrl + shift shortcut to push the graph will only move nodes to the right. It would be convenient to be able to move nodes left, up, or down as well depending on the direction of the mouse.

  • Confirmation Prompt on Increment Build - I would like a confirmation prompt to appear when clicking Increment Build. I often misclick it being right next to the save button. I then have to save-as on top of my original file, close down, delete the increment build save, and reopen the original to keep all the asset import paths the same.

  • CLUTer Key Behavior - When editing the CLUTer, I want to be able to easily drag a color key to 1 or 0. The current behavior is to delete the dragged color key if the mouse exceeds past either end of the graph by any amount, making it a pain to set colors on either end of the graph. Maybe right clicking deletes a key instead.

  • Keep Atmosphere panel open when clicking on the view port - When I edit the atmosphere or change the sun angle, I immediately want to click into the view port and look at my landscape from all different angles, however clicking into the view port will close the atmosphere panel. Having to constantly reopen it when dialing in small adjustments feels like extra work.

  • Increase Seamless Grid Preview - I love the grid preview feature of the seamless node. It would be cool to preview the tiling just one or two grid sizes larger.

  • Weighted Debris Size - An slider in the Debris node options to weight the size distribution range.

  • Store copied nodes as formatted Clipboard text - It would be nice if Gaea handled copying and pasting nodes similar to Unreal; where all the data of the nodes you just copied are actually copied to your clipboard in a formatted string. When you paste that string into a graph, it is recognized by the program and the corresponding nodes are created. This would be very helpful as it would give Gaea users the ability to copy nodes between projects, and the clipboard is always fast and reliable.

  • Build Report History - It would be nice to have a window in Gaea that pulls the all Report files of your current project, allowing you to compare processing time and size of nodes as your graph grows.

  • Downscale Gate: I would like a node that can lower the resolution of any proceeding nodes. If I am building at 16k, while also outputting an 2K .obj. I want to place a downscale node before the Mesher so it does not try a meshing operation on 16k data, which would likely fail. I need to run a separate build at 4K to get the mesh.

  • Custom Debris shape - I would like the ability to input an Object node into the Debris node for a custom debris shape.

  • Warp erosion flows - I would like some way to warp or add noise to the erosion flows down a mountain.

  • Preserve Global Height and Slope Scale: When working with large terrain definitions, Slope and Height masks become difficult to use due to the extreamly small values required on a relatively flat terrain, and difficult to see at max view port resolution.
    Unfortunately we can not take advantage of the Region workflow to preview or dial in Slope and Height masks of a larger terrain, as those masks nodes are not aware of the true global scale of the entire terrain. Those masks nodes will instead set their values only according to the scale of the currently previewed region. This means any work/values set within a region is inaccurate on the larger landscape. These nodes would need a “Global Scale” option that will pass on the global terrain and region definition and scale the values accordingly.

Thank you,

1 Like

He-he, we’ve got some intersections. (:

Nice list. I only disagree with the confirmation dialogue for incremental saving.

At least, if it’s introduced eventually, give us Ctrl+Alt+S shortcut for incremental saves, I’m used to that from Blender already, some other software also uses it, I believe.

And yeah, I forgot to mention the issues with regions when writing about relative/absolute height, a very important point!

Saw that yeah, lots of good stuff between us, the overlap helps emphasize.
I totally get why an Increment prompt would be annoying. Better that be optional.

Thanks so much for the detailed suggestions, @James_S !

We’ve added all of them to our backlog, some are already in production such as Build Report History – that’s part of the upcoming Build Stack which lets you explore all builds in new ways.

There is a good chance we may not do too many Post Process options, but we’ll see what we can do about opening it up to Reshade. Even so it may not always work. We use some tricks to reduce memory load and faster rendering that prevent normal shader interactions.

@Kosvid - we’ve adopted a new internal rule that when we add a confirmation dialog, we will add a “Do not show again” option in the bottom when possible. So, it should be fine for both kinds of users, I hope.

2 Likes

Since having my expectations exceeded recently with the RGB Mask suggestion, I’ve come back with a bunch more crazy ideas.

Node View Mode with Values: This would be a large node view mode that would show the important node values right on the node in the graph. For example, a constant node on the graph would directly show a value. Perhaps it’s even an editable field. I think this could even work for some slider options, even if the node is large on the graph.

Customizable graph sidebar: I would like to be able to customize the sidebar with any other menu actions I want to be able to one-click.

Focused Node Indicator/Button: I would like a button or some kind of indicator to appear somewhere on the main graph UI when a node is focused. Clicking it will center the graph on the Focused node. This would be helpful for me as it’s easy to forget when/where a node is focused.

Loop Modifier: A modifier that would essentially duplicate a node within itself. This would make it easy to apply multiple passed of Debris with different settings, while still keeping the graph tidy. The node options would need to be scroll-able.

Visibility toggle for modifiers: I would like an “eye” button on the node modifiers that toggles visibility/enabled. This would allow me to quickly and easily compare the results of say a Warp modifier, without having to delete the modifier completely and losing the set values.

Tooltip for Node Wires: Hovering over a selected node connection/wire will show a tooltip, providing the names of the input and output ports. This would be very helpful to identify a connection when either the input or output node is off screen, or if the graph too zoomed out.

Viewport Key binding Sensitivity: I would like the ability to adjust the sensitivity of the viewport controls (pan, rotate, zoom) when using the keyboard controls. This would allow for controllable panning across the landscape for screen recording.

Grass Mask Sim: I would like a dedicated grass mask node that simulates grass cover based on altitude, slope, light, rivers input. I have tough time trying to recreate this myself.

  • To expand on this, a large fraction of my workflow is time spent creating a grass, dirt, rock, and sand masks for use as a landscape layer mask in Unreal. I am constantly experimenting with ways to get accurate and interesting results. Any dedicated layering tools that would help create these masks would be greatly appreciated. Maybe a quick all-in-one node, or perhaps some base nodes with helpful components? Specifically, it is challenging to create a layer mask with the meter-scale fine details needed on an 8K, 16km scale landscape at 4K viewport resolution.

A way to delete Mixer node layers.

A way to delete Unreal node input ports. It’s a pain to have to recreate the node if you have one too many layers. It will error with an empty port.

Synth Behavior: The Synth node Seed should give a whole new arrangement of colors. The Offset value should slide the existing values to the right, while wrapping the end colors back to the front.

HSL Controls in the Synth node.

A bias slider on the Synth node.

An HSL modifier.

Don’t track graph panning in the Undo history.

Do not filter Mixer layers by default.

Ability to pin a Mixer as an underlay.

In-Gaea Bug Reporting: Gotta make it easy.

Ability to set landscape component size and count in Gaea2Unreal: By default, Unreal will create an 8K landscape with 4096 landscape components instead of the 1024 recommended. This causes extremely long import/creation times and poor runtime performance. Without the ability to control the landscape components when creating a landscape with the Gaea2Unreal plugin, anyone importing an 8K heightmap will have a bad time.

Rivers Surface for Preview Chain: Towards the end of my graph, I will split off my height data between the just the terrain (for use in Unreal) and a “Preview Height” for visualizing in Gaea which has the Trees. I want to be able to export my height without the river surface when I build, but I want to always preview in Gaea with the surface on. There is no easy way to split both height options in a node chain. One solution would be having Render Surface set to a variable which could be set to always off in the build settings/profile.

Carry High Resolution Data from File into Region: When working with DEM data from a large file (10,000 x 10,000 px), there is a lot of extra resolution that cannot be explored within a Region as you have to bake the data at a maximum of 8K before opening the region. I want to be able to create a region within a large data set and have that complete data available within that region.

Accidentally deleting nodes pain point: I am running into a pain point when trying to delete color keys within a node (Synth/CLUTer) using the delete key. If I accidentally miss click one of the small color keys, no color keys will be selected. When I hit delete, the entire node will get deleted as it’s the selected node on the graph.

Viewport Terrain Shader -

These suggestions would involve allowing more user interaction with the terrain’s shader.

  • Roughness Input Node: This is a node that would allow the user to input a mask, setting the roughness value for the shader. Specifically needed for anyone creating PBR textures to be able to visualize the roughness mask without having to build and export. Roughness masks are very common in game textures, but roughness details would also give interesting results across a standard landscape.
  • Tri-planar projection: I want to be able to project an RGB input onto the terrain with a mask input.
  • R, G, and B filters on the viewport: I want to be able to quickly view the different channels on the viewport when working with packed textures.

Another set:

Detailed Node Errors: When a node errors, there is an Error field in the node’s Stats window. I’ve only seen it say “error”, but it would be nice if this field gave a more detailed error message. For example, “Failed to allocate memory” if you are trying to create too many trees.

Fog Options: I would like the ability to adjust the fog falloff from the camera and also Z/Height fog falloff. I would like to set higher fog density values. While you can use a custom variable on Fog Density, the viewport needs to be refreshed after each adjsutment.

UI Audio Cues: I would like some audio cues to play for various actions. (e.g. viewport done building, baking complete, node errors)

Graphic EQ modifier: The Graphic EQ node is great and versatile, but perhaps under used. I believe it would make a good modifier.

Categories for Portals: I would like some way to categorize/sort/filter the portal list menu. It can be difficult finding the node I want quickly if there are more than a dozen portals.

Visualize Data on Shrubs: I would like the ability to Visualize Data on the Shrubs node such as Deadflow, just as with Trees.

Distribute Color Keys Evenly: I would like a button that evenly distributes the remaining color keys on a CLUTer or Synth node after I am done deleting a few.

SatMap to CLUTer: I would like the option to transfer a SatMap curve to a CLUTer node so I can make color key adjustments.

SatMap/CLUTer to Synth: I would like the ability to directly transfer the color curve on a CLUTer or SatMap node to a Synth node for export.

SatMap Offset: I would like the ability to offset a SatMap curve to the left or right and have the color keys wrap around.

Synths Export to Unreal Formatting: To import a color curve in Unreal, you need a .csv with 5 columns, (X-position,R,G,B,A). It would be very helpful if this could be set in the Synths export options for one-click export & imports. Currently I have to convert the file and add the alpha values manually.

Viewing Different Node Outputs should be available in the 3D viewport: I like the option in the 2D viewport to view a node’s different outputs such as a River’s River mask or a Debris’ Debris Mask without having to create an FX node just to view the mask. I think this option/menu should be on the 3D viewport menu too, instead of requiring you to open the 2D viewport to access it.

Viewport switches to default node output when editing values: When editing the Debris or River node I want to be able to set the 2D viewport to the Debris and Rivers Mask to clearly see the effects of my changes, but when I change any value while viewing a node’s mask, the viewport will change back to the node’s default output view.

Open Project Folder from the File Menu: I am often returning to my main Projects folder. It would be nice to quickly open it from the File menu.

Resize Exports: I would really like the ability to set the size of Export instead of it being tied to Build Resolution. This would allow me to build at 16K for nice details, but export in 8K, saving me disk space and from having to resize it manually.

Mesher Orientation and Scale Options: I would like options for orientation and scale on the Mesher Export. Having to do it in Unreal is a multi-step/minute process that I have to do every time I reimport.

On-Viewport indicator of Mask or Heightfield render context: The most common question I see is people wondering why their terrain is flat. I think the render context/ terrain underlay needs to be shown somewhere on the viewport or somehow made clearer.

Active Modifier Icons on Nodes: I would like a modifier’s icon to appear on a medium sized node view to show it has an active modifier. It can be easy to forget where all the modifiers are when looking at the full graph. Better for sharing screenshots of graphs too.

Bookmarked Nodes Menu on the left of the graph with connectable pins: Instead of the menu/list of all nodes on the left side of the graph, I would like the option to see a list of my Bookmarked nodes. Where clicking on the node would allow quick navigation to it, but also the input and output pins are there on menu for easy/quick connections without having to scroll across a large graph.

Add multiple color inputs into one Seamless: When working on Seamless textures, I want the ability to send multiple color textures into the same Seamless node without having to create multiple nodes with the same settings.

Sun Azimuth widget rotates with camera direction.

Have Floating Viewport Not Always-On-Top: When using the floating viewport, I don’t like how it is always on top of the graph window, preventing me from using the Taskbar or alt+tabbing between the windows.

Custom Variables feedback: I figured it’s worth mentioning once, but I do not enjoy having to use a custom variable when I want to exceed a slider’s max value. A slider is easy to adjust and dial in values, but a static value field is much more tedious. I would rather the ability to set the min-max ranges of the slider.

Mixer and Mask/Height inputs: I really want to use a Mixer node for easy clean combinations of my landscape’s layer masks such as dirt, rock, and grass. However, the Mixer node will only accept color data for its layers. Any of the of my black and white masks are identified as height data. If the Mixer node can’t be adjusted to allow for mask data, then I would like a node that can convert data from a height context to color context.