Ferr2D Terrain Tool

It can be found on the Asset Store here!
And check out the website here!

Ferr2D Terrain Tool allows you to quickly create a 2D level. No tile-sets, no placing tons of objects, no manually tweaking piles of collider objects. Just pick or create a terrain material, and set up a path! Edges switch texture automatically, and colliders create themselves!

1393912--71939--$CreateTerrain1.0.5.gif

Check out a demo of it in action! It’s included with the package~ Actually, make that 2 demos. Everything that’s not the player is a terrain object, even the pipes!

1381546--70343--$GrassDemoSmall.png
Grass Demo

Pipes Demo

We’ve done some testing with people, and so far, everyone has loved it! We’ve made sure the development process is fast and streamlined, so it’s definitely intuitive and quick to work with. I’ve seen people using it for infinite runners, basic platformers, and even fighter games, so it’s also quite a diverse tool!

We’re actively working with this tool on a project (or two ;D) with Simbryo, so this tool is being maintained and upgraded all the time. We’re always looking for suggestions and feedback to make it better, and already have a few cool features heading down the pipeline! Feel free to reach out to me anytime for questions, bug reports, feature requests, whatever! We’ll do our best to accommodate =D

Many thanks to the people that helped me test it, and work out the early kinks! And a big thanks to Kelde, who contributed some of the awesome materials that come with it! (@KaiElde, http://artbyelde.wordpress.com/)

Check it out on the asset store!
Here’s some tutorial videos for the tool.
Or check out the rest of the documentation~!

1 Like

This is so awesome!
Thank you for this nice plugin and keep up the good work.

I will definitely buy this in the future.

Cheers

Absolutely fantastic !!!
6R

Bought it right now, can’t wait to test it :slight_smile:

Man that turned out great, looks fantastic Nick! Congratulations and glad u liked the textures, let me know if u wanna make more screenshots with new enviromentsts, ill make em on the day for this:)

Alright, there are some things I can’t manage to work out. I don’t know if these are bugs or just my stupidity :smile:

  1. So if I use an existent terrain I want to create more Path-Points. I can achieve this by clicking the green points next to the white ones, I figured that out. But the problem is this:

As soon a white one is selected I can’t click the green circle. I have to move the white one far away in order to select the green one. Is there a better way to accomplish that?

  1. If i create my own material I can’t select it in the Selector, also I get this error:

That being said, is it possible to create the Materials IN the Project-Folders with a rightclick and not by clicking at GameObject → Create Terrain Material? This way the created material wouldn’t always be created in your PluginFolder. Would be better to work.

Also it would be nice if you would have a little tutorial for making Sprites in order to use them. What sould one bear in mind while creating a sprite?

Edit: And another thing.

When I try to make slopes like this:

In the Game View it looks like this:

There are some weird artifacts (?) there, when I zoom out the get more spiky and bigger.

1381865--70396--$g32cs7qc.png

I think there is a smooth option that gets rid of those, pretty sure i did that while i was testingit. Havent tried the new version so the white abd green selection u dont know.

Keep in mind this tool is designed for top, left and bottom platforms, not just a fill. If u add seamless textures ontop of that fill, jagged lines will be hidden. It seems u only use a fill material?

I tried that already, didn’t work.

Hm, you’re suggesting seamless textures. I thought a fill-texture is already a seamless texture?

Yes the fill is the ground under the other parts like top, side etc. U are using just a fill here, but u can add platforms ontop and on the sides and bottoms that goes ontop to make a better looking enviroment. I use seamless top textures like the grass u see in the images, they are a separate texture from the fill. This lets u wrap in the rocks i painted like u see. Shoot me a pm if something is unclear:)

Looks very interesting will definitely check it out!

Hi !

Look very interesing !

What about optimisation ?

BTStone, all of those look to be pretty excellent points.

First thing I want to mention is that right now, the tool doesn’t do well with lots of points very close to eachother! Each point will have to be spaced out at least proportionally to the texture that’s on that edge, or you’ll see textures squishing. There is a “Smooth path” option that sets points at the optimal spacing for you automatically, but the general rule for the moment is “less is more”. You won’t notice the smoothing unless you have your points spaced out far enough. I’m am currently working on some code that will fix this, which should make the smoothing feature -way- better, it’s at the top of my list right now!

I actually meant to put in a solution for that! Oops. For now, this one isn’t generally much of a problem with your points spaced out more, but yeah, there are definitely plenty of valid cases where that is an issue. I’ll have a fix for that soon, for sure.

I love that idea! If I can find the right bit of code for it, that’ll be an excellent addition =D

The sprite that I’ve got in there is -super- basic. There’s no atlasing, so you’ll need a material for each different sprite image you use (although you can sorta manually do atlasing by playing with the UV variable), and the “Ferr/Unlit Transparent Vertex Color” shader should be perfect for most cases. Tweak any of the variables to get it to refresh the mesh.

It’s really not the best, but you should see some major improvements to it in an update or two. I’m working on some transparency optimizations and a few other things that’ll make it way faster to draw, so I’ll be using it a lot in the upcoming weeks.

For this, go to the Terrain Material Top, and set Width and Height to 0. I’m probably going to add in some new fill modes for the terrain, “Fill Only”, which would make what you’re doing trivial, and “Collider Only”, just in case.

whew Did I answer everything well enough? Thanks for the feedback, that’s some good stuff =D

1 Like

Thanks for the reply!

I really like the tool. It is a great addition and will be a great time-saver in the future, when we understand every aspect of the tool :smile:
Besides some minor flaws the tool itself is great, well done!

Ferr2D Terrain Tool is actually pretty fast right now! All the expensive calculations are done in the editor; there are absolutely zero calls to Update from the code, so any cost is on the GPU. Just make sure your fill material is not set to be transparent, and you should be doing quite well ;D Keeping your transparent edges narrow would also be a great help, reducing the number of transparent pixels on the screen is always a plus.

Now, with stuff like this, if you’re adding excessive layers and large transparent edges, that can be an issue, especially on mobile. Pixel fill can kill a mobile GPU pretty fast. I probably wouldn’t recommend using lots of layers on mobile, but 2 or 3 should probably be just fine.

Now, I also have a few extra optimizations in the pipeline, separating edge meshes into transparent and opaque materials, and reducing the screen space they take up by tracing their edges into polygons, rather than just quads. It’s not entirely necessary, but it will allow you to squeeze more out of it.

I’m glad you like it, despite the quirks ;D I’m really in love with this project, so you probably won’t be waiting too long for fixes, especially the smaller ones!

I just wanted to know how did you create the Alpha-Channel on your Edge-PSD Files?

I used this link as a base for what I do. I don’t extend the color like he’s doing with Dilate though, I simply add or paint a background color behind them that’s close enough.

It blew my mind when I saw what he was doing there =D I haven’t used anything but PSDs since then! PNGs just don’t hold a candle to it.

…I may try and do a video tutorial on that soon, could be quite helpful.

Thanls for the reply.

How meshes are generated ? Separate object or one big object ? (1rst option allowing more optimisations, as batching)
How drall calls are managed ? One per layer or material ?

A few quick changes based on the feedback! I’ll submit these to the store after the weekend, give myself some time to try and put some additional fun stuff in. If you need 'em now, just message me, and we’ll figure that out =D

1382491--70465--$ContextMaterialCreation.png
Creating terrain materials through the context menu, or create dropdown.

1382491--70466--$FillOnly.png
Two fill modes, for fill only, with no edges involved!

1382491--70464--$BetterButtons.png
Better buttons, sized appropriately, even when zoomed in really close!

If you guys spot more things, let me know!