Mirage 3.0 is out now

That’s right! The next ver­sion of Mirage if final­ly out in the wild. It’s been a lit­tle while since 2.1.

Ok, it’s been well over a year, but it was worth it! Version 3.0 piles on a lot of new fea­tures, includ­ing improve­ments to object dis­tri­b­u­tion, rock gen­er­a­tion, heightmaps, and more.

Object Layers

The Tree Distribution pan­el is old news now, and has been replaced by Object Distribution Layers. The new sys­tem lets you have mul­ti­ple lay­ers of objects spread over the terrain.

These objects can be any group of mesh­es you want, but Mirage sets four types to orga­nize your scene more eas­i­ly: Trees, Grass, Rocks and Props. While the first three are self-explana­to­ry, “props” can refer to any oth­er kind of object (fences, posts, etc). The types aren’t only for dec­o­ra­tion though, they also enable dif­fer­ent set­tings relat­ed to them. For instance, a rocks lay­er has an option to clump rocks at the bot­tom of the mesh (to sim­u­late rocks rolling down). Trees and grass can be grouped in clus­ters the same way it hap­pens in nature.

There are new fea­tures for all types too. The “Optimize for Camera” option lets you pick a cam­era and lim­it objects only to the areas that are vis­i­ble to that cam­era, and “Use coor­di­nates” lets you lim­it objects to a spe­cif­ic rec­tan­gu­lar area. Speaking of lim­its, you can now set min­i­mum height/slope val­ues too. If you find the lim­its of dis­tri­b­u­tion too harsh, it’s now pos­si­ble to soft­en them using the “feath­er” option (kind of like apply­ing a blur fil­ter to dis­tri­b­u­tion). The old “Autoscale” option has been replaced with “Relative scale” that lets you set the objec­t’s scale rel­a­tive to the size of the ter­rain (tip: the slid­er goes to 100%, but you can type val­ues up to 500%!). 

Finally, there’s a new ran­dom set­ting that adds and sub­stracts from the object den­si­ty ran­dom­ly. The objects’ rota­tion can be changed and ran­dom­ized as well. You can find these set­tings in the “Variation” tab (did I men­tion the UI got a lot bet­ter too?):

Distribution lay­ers can also be export­ed as Splat maps, Python lists or CSV files. These files con­tain the loca­tions of each object on the terrain.

Rock Generation

This release also brings a whole new fea­ture: Rock Generation. You can gen­er­ate rock mesh­es, both low and high poly. Low poly rocks are auto­mat­i­cal­ly styl­ized when their poly­count is low­er than 100 faces. You can gen­er­ate mul­ti­ple rocks with ran­dom­ized scale, and option­al­ly have them added to a new dis­tri­b­u­tion lay­er auto­mat­i­cal­ly. All for the price of one click.

Like ter­rains, rocks also have their own fea­tures. You can tweak the shape, ratio, gen­er­al defor­ma­tion and both coarse and detail rough­ness. Optionally the rock can also have cracks and crys­tals on top.

Rocks can also be baked auto­mat­i­cal­ly into a low poly mesh. Mirage will cre­ate the orig­i­nal high poly rock, the dec­i­mat­ed mesh ver­sion, the tex­ture image and the cycles mate­r­i­al. It will put them in posi­tion, set all the set­tings and bake them. If you’re not total­ly hap­py with the result, you can also tell Mirage to only set up the bake so you can then tweak things to your lik­ing before hit­ting the bake but­ton. Supports tex­tures up to 8K, as well as auto­mat­i­cal­ly tri­an­gu­lat­ing the final mesh.

And there’s always more…

You can now gen­er­ate ter­rains as heightmaps instead of mesh­es. You can export heightmaps up to 4K, option­al­ly split­ting them in sev­er­al images (up to 64). The split­ting option is also avail­able when using the export heightmap but­ton from the tools pan­el. Heightmap input has also received new fea­tures, you can now gen­er­ate ter­rains from STRM (.hgt) and Gridded ASCII (.asc) files. These files are con­vert­ed to PNG inter­nal­ly, so they can be used with the dis­place mod­i­fi­er, so you can also use Mirage to con­vert those files to PNG heightmaps.

A lot of work has gone into refac­tor­ing as well. The code is now more mod­u­lar and a lot more man­tain­able, which is impor­tant as Mirage has already grown to +5,000 lines of code (and will con­tin­ue to grow further).

There’s also a con­ve­nient but­ton in the addon pref­er­ences to open the documentation.

What’s next?

I’ve been think­ing of doing small­er, but more fre­quent releas­es instead of doing bom­bas­tic releas­es every blue moon. That would pre­vent the release from drag­ging on too much, and it’d be bet­ter for every­one. That’s why the next ver­sion will be 3.1 (and not 4). Targets for that ver­sion will be Hydraulic Erosion (which I’ve already start­ed work­ing on) and a cou­ple oth­er new Terrain Features.

You can check the changel­og for the full list

All the posts you can read
ArticlesAddon, Blender, BlenderMarket, Mirage, Python02.09.2018