Smooth Terrain Heightmap/Colormap Importer Release!

Near-photorealistic? There is an extremely limited number of materials that you can use to display colour, some of which are extremely bumpy (rock) or triangular (basalt). You can set material colour, but afaik it changes the colour for all of that material on the entire map. A lot of the materials are barely even able to change colour very well.

Attempting to change “Basalt” to the Color3 equivalent of “Bright red,” I get this monstrosity:

I highly doubt that the generated map would look even remotely like the inappropriate pictures that people may try to use (since it isn’t actually designed as a proper colormap for your heightmap), making the moderation even more ridiculous.

If anyone has done this before the moderation and is willing to show me privately, I will correct myself.

6 Likes

It can work with almost any image, but you have to upload it directly into Studio as a decal. First, your place needs to be published. Then you can go into any decal’s properties and select the file from your computer. Once Moderated, any decals uploaded in that game will now be recognized by the import menu (if you just copy-paste an ID from the toolbox, it won’t work.)

If you’ve seen pixel art built in Minecraft, it’s not hard to imagine how the same principle could be applied to terrain materials and the heightmap importer. You have 21 materials / possible colors to play with. It’s possible to render some photos legibly with only 3.

image

While I understand the reason to moderate heightmap images, I don’t think it’ll prevent people from making inappropriate heightmaps. They’re just going to use one of the many custom ones available(utilizing http service or pasting and parsing heightmap data directly via a module script/plugin)

I understand how it’d look bad if roblox didn’t moderate these, but at the same time I think all it’s doing is convincing the people who want to use it for legitimate purposes that they’re better off using a third party tool

It’s a difficult issue. I think a system that lets more developers that have been around for awhile and have a good moderation record have access to white-listing would help solve these issues. But then again that’s a whole different problem on its own

5 Likes

I was picking on your word choice of “near-photorealistic.” Good luck making terrain photo-realistic with only 21 colors while also dealing with the fact that terrain likes to bend and connect in weird places (depending on the materials used), which would distort the image even more. You’d also have to generate a rather large map in order to keep the quality high, which makes it more unlikely for a user to see the result unless the place creator forces their camera to look at the entire map. Adding on to that, the map changes appearance based on distance.

You would have to put in a lot of effort to make it work well with vulgar images, meanwhile it’s a hundred times easier to just use the equivalent of the brush tool (Terrain Editor > Add)… and that’s allowed for some reason.

3 Likes

I feel like this situation with requiring asset uploads is the fault of myself and others who decided to share some meme images imported into the terrain. My apologies to anyone who feels like this feature isn’t going to be as useful anymore.

With all said and done, I think this change is going to end up opening pandora’s box. There will be an incentive for people to write a PNG parser in Lua and generate terrain data themselves, because it would likely be faster than waiting for moderators to approve the assets.

Given that we can already draw inappropriate content with the existing terrain tools, this restriction should just be lifted and inappropriate terrain should be treated like any other inappropriate UGC that doesn’t go through moderation before upload (I.e. in-game content).

Smooth Terrain has been around for over 4 years now, and I’ve pretty much never seen any inappropriate uses of terrain in that time frame. I hope that Roblox’s higher ups will be willing to reconsider and trust that the majority of the developer community will use this feature appropriately.

This feature is awesome and I’m really glad Roblox added it, but having to wait 17 minutes to use a heightmap and colormap isn’t so awesome.

(cc @GeneralRelish)

46 Likes

I assume that this requirement for images to be moderated before being used in the terrain importer is to try to prevent obscene or offensive terrain being made and shown to players. On first thought, it might seem logical to do this, but it isn’t after some thought.

Developers are easily able to free draw terrain, and make custom plugins to draw terrain (such as heightmap plugins) without any moderation of the terrain they created. Even with the capability of this currently, we don’t see that much obscene or offensive terrain created, especially in front page games. On top of this, this new terrain heightmap importer has a lot of the same functionality of the existing plugins, but is much easier, efficient, and enjoyable to use than the plugins.

Due to the lack of developers who have any intention or need to create offensive or obscene terrain, I believe that the terrain importer shouldn’t have this requirement. I think it will only allow developers to make terrain in a faster and more enjoyable way, while not really affecting player experiences at all. I strongly encourage you guys to change this!

6 Likes

I should add for the benefit of any Roblox staff who might be reading these replies that I’ve academically written a png parser and it would be trivial to retrofit it for a heightmap importer. I would like to not do this because it would be an unnecessary slap in the face to Roblox and I would rather just give feedback. But it is doable. There’s no doubt it would be slower than using the built-in tool, but if it’s faster than moderation (which it will be) it is a net gain for anyone using it.

For the sake of not making people work around Roblox and start to publish tools that explicitly ignore what they want, I encourage the people behind the decision to upload and moderate heightmaps to rethink it.

24 Likes

To add on to this, with a PNG parser in Roblox Lua, you can also just render the image in bricks. Really, if power users want to get around the filter, they will, at least initially.

21 Likes

If that is an issue, you can decrease the size of player characters so the “hills” look as tall as mountains.

Edit I really like this new feature by the way. Thanks Roblox.

1 Like

There are so many things someone can do in terms of creation of something that is not allowed on Roblox, without going through the moderation system. There really is no reason for this specifically to be moderated, it’s essentially the same as moderating a game every time they add a part incase they built something inappropriate.

8 Likes

Since a good chunk of my points have already been iterated through here, I’ll be brief. Here’s my issues with the terrain importer being moderated, and here’s why it shouldn’t be:

  1. Terrain heightmaps are literally just a temporary image purely used to generate terrain. They shouldn’t even have to go through the pipeline that a regular image being uploaded to the site would have to go through.
  2. If a developer was really that determined to get around the moderation system to make something inappropriate, they could easily just hand-craft something out of the terrain, or build a model, or use viewports like @Maximum_ADHD stated, or… you get the point here.
  3. If I have to wait 1+ hours to simply generate terrain from a heightmap, that not only slows down my workflow by a ridiculous amount, but it also entices me to just use a custom PNG parser like @Dekkonot mentioned. At the end of the day if I need to generate terrain, I’m going to do it as quickly as possible as to not waste time while developing. If we all had to wait 1+ hours every time we went to add a new script, we’d all be irritated, right? Same thing here with the heightmap terrain generator.

Please remove the need for moderation when we go to generate terrain from heightmaps. If a user generates something inappropriate from the heightmap generator, why can’t the game simply go through the same moderation pipeline than any other game with inappropriate content goes through?

26 Likes

Thanks so much for bringing this new feature :heart:

Imgur
Imgur

7 Likes

If you do this your terrain will look very low quality, the size of each voxel will appear bigger, and the textures would still be in normal scale so your characters will just look small - especially if you don’t rewrite the camera because it will still be at the original height.

5 Likes

A brilliant feature, well done. The implementation may have to be tweaked regarding the moderation aspect which I found tedious on waiting.
I’ve found a good website that generates Heightmaps from Google Maps which is very convenient, however one of the issues I am resolving for my current development regards the sizing constraints when you put into practice the 16384 studs (assuming 1 stud = 1 foot for my game development) then this is approximately 5 kilometres, which is in reality a small distance when you’re working with the likes of an airport.

My resolution so far has been to divide a 40km x 40km heightmap (yes, this is the scale I’m actually trying to achieve, effectively 131,000 studs each direction) into 5km squares of 16,384 studs and singularly upload each heightmap. Obviously, an extremely painstaking task not to mention this has no colormap. I suggest either creating a localised work environment for heightmap uploads which circumvents moderation and an easier way to colormap / texture larger areas.

1 Like

Default Roblox scale is 1 stud = 28cm according to their settings. 16384 studs is about as far as the render and physics engine can go without floating point imprecision affecting game-play so it is not a good idea to go past that. You might want to consider changing your scale because at 131,000 studs rendering becomes extremely jittery and physics become less accurate.

1 Like

@kylerulez09
This can be done in a different way, but not with terrain. Divide your map into 8192 stud pieces. Create a sector for each piece and make it so when a player is within one sector, the neighbors are rendered as well (LocalTransparencyMultiplier). Now for the actual imprecision fix, you will have to shift the entire map and the character every time the player walks over 16384 studs from the last shift. Yes it might cause lag, but the only way to fully avoid float imprecision is not to leave the 16384 unit distance in the first place.

You obviously don’t have to shift the non-rendered sectors immediately and you can decrease the sector sizes and shift offsets so that less objects get moved, but as I said at the beginning, it is impossible to move terrain so you have to create triangle terrain.

1 Like

Gotta love the height map importer. But since I know this in the beta stage. and of course their are some bug’s that I found, either the map wont load. Or the map look’s way different from what I wanted.
But since this a new tool. We just need keep reporting more bugs. To perfect this tool each time.

1 Like

You can’t forget that Roblox is a game designed for minors and roblox is doing a good job in keeping their safety but again there may be some moderation problems.

The moderation is not the only issue here. The heightmap importer is worse than the existing plugins which have a much higher maximum resolution. With images being capped at 1024, it’s impossible to easily make a 16k stud map without losing details, uploading multiple heightmaps or using a plugin that will let you use a 4096x4096 image.

The other obvious issue with moderation is that having to wait even a day for a gui image is usually not an issue as it doesn’t directly incapacitate your workflow, while this literally disables you from using an entire map for up to 2 days.

5 Likes