Improvements to the Terrain Editor

This is great, it allows terrain editing to be so much easier.

2 Likes

Did want to check in since I’m not sure if anyone mentioned it. The selection box isn’t aligned to the voxel grid correctly, it seems to be offset by 2 studs on each axis. I can’t do per voxel edits at the moment because of this.

Thanks for noting this, we have some changes in progress right now that should fix this as well as a bunch of errors/requests that have been noted further up in this thread.

2 Likes

Also to get back to you on this (just realized I hadn’t replied). The flatten tool, we’ll still need to look into. I can probably issue a fix for the keyboard shortcuts so they interact with the lock. Paint tool affects voxels, so anything smaller than a size 4 will still affect the whole voxel.

1 Like

Thanks, with the paint tool, its not that its affecting the whole area of the voxel - it paints up the whole vertical face of the terrain. So the size of the brush is 2/3 but is brushing the whole vertical side face texture of the terrain multiple times that - it almost acts like a ‘fill’ only for the side of the terrain, which would be a good feature ngl

1 Like

Important Update

Hello everyone! We’re rolling out some final features today and will be switching the beta default to on for everyone soon. We plan on going out of beta entirely in a couple of weeks, but for now you can still opt out if you want to. If you have any issues that you’re running into, please report them here, so that we can take a look.

Maximum Region Size

@apenzijncoolenleuk1 @ByGoalZ @Pharao13

We’ve extended the maximum region size! If you use any of the tools with live edit mode off, you will see that they now process your region piece by piece instead of all at once. That way studio won’t run into problems and crash!

Region Text Boxes

@Cronqueror @Bobytoeburrito @TheTeslaModelXFan @grandhappy

Lots of you said it would be easier to adjust region sizes within the tool that you’re currently using, so we’ve made sure to bring back these text boxes.

Scroll Wheel Shortcuts

@Aotrou @TyberiusCorvus @RandomB_oi @grandhappy

Scroll wheel is an important part of your workflows so we’re bringing it back as an option alongside moving the mouse to adjust brush size and height. While using a tool, you can use the scroll wheel to adjust the size. Just make sure you’re holding the appropriate keys as mentioned in the original post.

Brush Visibility

@TheOnlyDnf @LaAeroooo @IdontPlayz343

The base transparency on the indicator for the brush is being increased, so that it is easier to see the brush while using it.

Snap to Voxels Option

@Scottifly @IdontPlayz343

We understand that water operations aren’t always voxel aligned, so we’ve added an option that allows disabling default snapping behavior. Your results may not always be what you expect, as voxel terrain does not allow you to directly define the mesh, but this does have the intended effect of allowing you to be more precise with your placement of water.

Sea Level (Coming Soon)

@ziplocBag @2jammers @Scottifly

Though we don’t have it this week, we’ve decided to bring back the sea level tool soon. We hope this will speed up the workflows of those who work a lot with water.

13 Likes

So far I like the look of these terrain tools however I have some quality of life suggestions and more importantly a few bugs specifically regarding brush sizes. I’ll quickly rapid fire some QoL requests before getting into the bug report:

  • Disable mouse movement scaling while the hotkey is held if the user changes the brush size with their scroll wheel, until the hotkey is released and pressed again.

    • As someone with motor control issues, I rely on the scroll wheel keybind to quickly and effectively change my brush size; however I often find myself ending up with sizes I am not expecting due to minor movements to the mouse while I am scrolling.
  • Have the terrain brush land at certain increments (the same way the camera system in-game does) instead of the linear scaling I assume is currently happening.

    • I will explain later how this is contributing to some bugs but for quality of life it ends up giving users inconsistent results. The voxel grid is a grid and from my experience tends to play best with integers. When using the scaling shortcuts, having to go back to the terrain editor menu and fine-tune the numbers I land at seems counter-productive to the intent of the shortcuts in the first place. Much better to land at preset integers then fine tune to specific numbers when needed instead of ending up with unexpected results from brush sizes that don’t properly align with the voxel grid.
  • Clearly display the region handles interactions with the model resize increment, or have them align 1 to 1.

    • It took me a long time to figure out that my building increment was affecting the behaviour of the terrain tool drag handles considering that when the increment is set to one stud for example, the terrain tool does not resize regions by one stud. However on the reverse, if I have the increment on my model tool set to a large number such as 128, the terrain tool certainly resizes on a much larger increment. I think this behaviour is good however I think it needs to be communicated different to the user as right now it is confusing and leads to unexpected results when working with both terrain and parts simultaneously.
  • Let users define their own shortcut key.

    • This is a pretty straightforward request but I am personally not content with the B shortcut. Not only is this counter-productive to users who use tablets for terrain sculpting (which it lends itself to rather well, by the way!) but generally can only be an improvement for those who are used to other workflows and may not be keen on relearning a common gesture with an uncommon keybind.
  • Add an anchor indicator at the current mouse location when the user activates the scaling hotkey.

    • This is something that other applications (such as blender and photoshop) currently do and is important to let a user see how they are scaling the brush relative to a fixed point. At the moment, it is hard to gauge the sensitivity of the brush scaling with mouse movement due to the lack of reference point and often leads to situations where the brush unexpectedly becomes very large or very small due to crossing that median threshold without knowing where it is.
  • Add a small deadzone to the center of the mouse scaling anchor (previously mentioned.)

    • This one is simple, having a small area that you know will set your brush to the smallest size (1) is exceptionally useful for quickly making adjustments. Currently, I find myself often ending up with brushes that are slightly larger than the smallest brush size which drastically changes the behaviour. I tend to use the smallest size for painting accents and the difference between trying to scale the brush to the smallest I can through the mouse movement keybind vs using the textbox is night and day. Although the textbox will display “1” with the former, it is clearly larger and affects a much larger radius than it would if done through the latter.

Now that I’ve made my QoL suggestions, I’d like to make you aware of two bugs affecting the terrain scaling shortcuts!

  1. When using the B + Mouse Movement shortcut, the cursor does not accurately reflect the size of the brush. I wish I could provide more information about this issue however unfortunately I do not know what to look for :frowning_face:. I’ve attached a video to demonstrate, the cursor offset is an issue with my recording software and is not reflected in studio. I exclusively used the keybind mentioned along with manually setting the number in the textbox to demonstrate it is an issue with the keybind specifically.

  2. When scaling the brush with B + Scroll Wheel, the brush’s internal size value can underflow. It is not reflected on the brush’s visual indicator however if you scroll down even after the smallest size is reached you will notice you have to scroll up quite a lot more until you see any change start to happen to the brush’s visual indicator. Releasing the keybind resets this behaviour. This one isn’t as harmful to workflow as the previously mentioned issue however may still lead to unexpected behaviour where the brush does not properly respond to scaling if a user wants to scroll down to reach the minimum brush size then adjust by scrolling up from there.

If there’s any more information you’d like me to provide about these bugs or suggestions, feel free to let me know! I’m always glad to elaborate. Cheers!

7 Likes

Hello, thank you for the feedback:

  • Yup, playing around with this, that does feel off. Will try to get a fix in soon.
  • This is correct, brush sizes should like land on integer increments, so I will be adjusting this to match.
  • I’m not sure what you mean here, I don’t think we visualize this elsewhere. We align the snapping 1:1 and rounded to the nearest voxel-based increment when snap to voxel is one. When snap to voxel is off, we use the exact snapping.
  • I know and I agree, unfortunately the only way to make shortcuts customizable is through PluginActions and they don’t support anything more than hotkeys. So checking for a custom key being held down must unfortunately still be done through UserInputService. This opens a whole different set of problems, including that shortcuts only work while the viewport is focused, which is most certainly not ideal. These are definitely shortcuts we want to make customizable if/once this becomes possible within Studio.
  • Not sure I know what you mean by anchor. Do you mean a 3D gizmo that shows you where something is being scaled from?
  • Also not entirely sure what you mean here. Do you want a simpler way of reaching a size of 1? (Aka having the shortcuts be less finicky as already state above?

As for the errors:

  • Interesting, will look into that. It did feel like something was slightly off, but wasn’t able to pinpoint it…
  • Yeah, that should not be happening lol

Thanks again for the input!

4 Likes

Whoops! Seems I misunderstood the nature of the Snap to Voxels slider :smile:. Considering the slider is off for the other tool types by default I had assumed that was the case for the region tools and didn’t consider it. Knowing that makes the behaviour make much more sense!


I’m not familiar with the terminology but “anchor” in the sense of a reference point to show you where your mouse movement is relative to. Considering the terrain cursor is in 3D space and is often unreliable as an absolute reference I was thinking along the lines of a dot or point in 2D space where your cursor is at the moment you hold down the hotkey. With blender’s scale tool, this is shown as the object’s origin with a line between your cursor and the origin.

In other design applications, especially 2D applications (such as Paint Tool Sai and Photoshop) they display this information a bit differently through a static information window.


However, I feel the 3D nature of the terrain brush might work better with some version of the former. To boil it down without any of the specific suggestions, I feel that the issue is that it is too hard to get an accurate idea of how you are scaling the brush using only the highlight (which doesn’t properly portray the size of the sphere due to the lack of depth) and would benefit from an additional outlet for this information.

TL:DR; A 2D indicator to complement the 3D cursor!


That is unfortunate, though it is good to know it is due to a limitation and is being actively kept in mind. Here’s to hoping eventually we will see support for this!


This is definitely a case of making the tools less finicky as I stated before, you’re right! After taking a look in studio just now it seems the behaviour I described is already implemented without me realizing it. In the video in my previous post you can see my cursor suddenly snap to the smallest size at around 13 seconds which I think I may have misunderstood the root cause of while I was encountering it during my project.


Thank you for being so receptive! I use these terrain tools extensively as part of my workflow and it is heartening to know that the people behind it genuinely want to deliver the best they can. I’m excited to see the features delivered, I only mentioned my pain points with the new tools but things such as the material picker have improved my productivity tremendously!

4 Likes

Where did the Sea level button go?

2 Likes

The sea level tool is disabled at the moment, so you can use the fill tool as a replacement.

Otherwise, just wait until the next update.

3 Likes

So I was able to go ahead and fix the issues you were having with scroll wheel. That being said, we have decided to hold off on adding a complementary 2D UI to the brush scaling. Seeming as we are continuing to work on making terrain and terrain tools better as a whole, you may see these requests addressed in a future update. At least for now (with the bugs being resolved), these shortcuts feel a lot better to use. Once again, thank you for taking the time to be so thorough with your requests and bug reports, it helps a lot!

1 Like

It’s annoying to do, but I did find a quick fix to this. After using the fill tool to fill the area in question with water, you need to re-paint the walls containing the water, that should make the voxels not combine anymore.

1 Like

I think I have used this long enough to have some opinions on it, but I’ll keep it short and simple.

  1. I really love the functionality improvements of the tools themselves.

  2. I do not like the merging simplification of the tool selection UI and the UI functionality at all. I’ve opted out of the beta most of the time for this reason alone. The tool selections just don’t make a whole lot of sense from an ease of access perspective, unless you exclusively use the shortcut keybinds, which some people do not. I personally prefer the older UI layout of the tools by far as it felt like I didn’t have to search through each tool for a specific functionality and then take extra time to click that specific subtool I’d guess it would be called now. If there is a way in the future for us to at least have a setting so that we could keep that more detailed unmerged UI that would be great.

4 Likes

Thanks for the change!

One feature I realised that is missing is the “replace to air” option using the new paint replace tool.

For Example,
Back then (iirc) I was able to target a specific terrain material and replace to air, this feature is now gone, hopefully you can bring it back!

3 Likes

All of this, and STILL don’t have the ability to Copy and paste terrain from one experience to another??

This specific error should have been fixed as of the most recent update, if not, then please let me know.

1 Like

We’re glad that you enjoy the functionality improvements!

We shuffled around and combined tools, both to simplify the experience and to provide extra access to shortcuts as you have already pointed out. The primary goal was to give terrain artists an easier way to avoid using the UI entirely, so they can spend more time actually building terrain. Is there any specific set, and/or sequence of actions that you’ve found take longer with the new UI? As for searching for options, I figured that it would be relatively quick to get used to the new system, but that may also just be me. Is there anything that was particularly hard to understand and/or find?

Took me a while to figure out why this is different from the Subtract/(Now Draw) tool, but I see what you mean. I’ll go ahead and make sure this functionality is available.

1 Like

Unfortunately Studio doesn’t currently support writing instances to the copy clipboard from a lua plugin, so there isn’t a good way of making this work. We’re looking into alternatives that should at least simplify the process of moving Terrain between places files, even if it requires more than a simple copy/paste.

3 Likes