Plant Factory review
- Lack of topology control
- Lack of control with imported objects in the node graph
By Torbjörn Olsson, Dec 15, 2014
Plant Factory is a plant making tool by E-on Software that allows artists to create plants of all kinds from the smallest grass to the biggest oak trees and everything in between. It uses a node based system for generating plants as well as some innovative ways of controlling the shape of your plant in the viewport. It integrates with E-on’s Vue software but can also be used to export plants to your favorite 3D package complete with a full rig if you so desire.
When I first saw the videos of Plant Factory I was immediately intrigued by its workflow which seemed to blend both a procedural and a very artist friendly approach to making any kind of tree or plant – complete with wind animation.
The first thing I noticed when opening the software was that it comes with very few examples and barely none of them are very common except for perhaps the palm tree. There is a section when you load a plant that at first glance looks like an ordinary category but when you click on it, it points you to buying plants which almost reminded me of micro-transactions in “free-to-play” games. The prices at writing vary from around $15 to $50 so they aren’t what I would call cheap but that would depend on how much your time is worth. It was a bit disappointing to see but I was still excited about the interface and how you go about creating trees.
Distributing your plantsFirst I want to get a fairly hotly debated topic surrounding Plant Factory out of the way as it may or may not affect your purchasing decision. I’ll spare you most of the story but let’s just say that when Plant Factory was initially launched, there were severe limitations on how you could distribute your source or exported plants to other people. This caused quite a stir and E-on has mostly addressed this with the latest version, 2014.6, but there are still some limitations.
The rules now are that you are allowed to sell your plants but it must also be available on E-on’s Cornucopia website where they sell additional plants. It can also not be sold at more than 1.5x the price you sell it at elsewhere and you must specify in the filename that it was created with Plant Factory. In fact, the filename must start with “PlantFactory” and in the file’s description you must include “Created using E-on Software PlantFactory”.
This applies to exported meshes as well but the source Plant Factory file must be available on Cornucopia – meaning people who buy the Plant Factory file can change your nodes as they see fit and you have no say in it. You can’t just sell or give away the exported mesh. The EULA also specifically mentions static meshes, you are not allowed to sell or give away animated meshes. All this applies even if you just want to give your Plant Factory plant to a friend. You have to go through Cornucopia in that case as well, although it’s integrated as an option within Plant Factory. Whether this sounds like a big deal to you or not I’ll leave to each individual reading this review. (Note: more information regarding plant distribution limitations can be found on E-on’s website)
You can go about creating trees in three different ways in Plant Factory. The first option you have is to just load a preset and use random seeds to generate variations of the plant very quickly – but as I mentioned there are very few presets that come with the software. You can load a preset and fairly easily modify it to get it to look like the plant you’re after. The few presets that do exist do cover the different types of plants, like flowers, bushes and trees.
The second option is similar, but instead of just loading the preset you get to draw the plant in the viewport. Say you want a palm tree that bends out over a beach, you have full control of the curvature of the main stem as you draw it out in the viewport while all the palm leaves will populate themselves automatically according to the rules set up in the preset. You also have the choice to draw out the leaves yourself from the stem and modify their orientation in the viewport. In both the first and second option you can modify its node graph to easily adjust its settings. There’s also a tool called “Prune” that lets you manually cut off specific branches in the viewport making you feel like a digital gardener.
The third option, and the most time consuming and perhaps daunting one, is to build one from scratch using the node graph. As with any system, it takes a little bit getting used to how it handles certain things but overall I’d say it was pretty easy to learn. It didn’t take me more than a day or two to feel comfortable with it. One of the key nodes is the loop node. With trees, for an example, you get a lot of repeated elements: The main trunk spawns branches, those branches spawn smaller branches and so on. Using the loop node you can set how many levels deep you want branches to spawn. This allows multiple branches to spawn and inherit properties from the previous node so that branches get smaller the more they branch of. After that you can add a node to add leaves or any other object. Any setup using nodes only you’ve created can also be recreated – once saved — using the drawing a plant in the viewport feature I mentioned earlier.
While overall I give high marks to how the node system is set up, my main gripe is with its curve editor. Pretty much every parameter can be controlled by a curve – like the radius over the length of a branch for an example. So the curve editor is important in the creation of each element of the plant. One of the gripes I have with it is I haven’t found a way to restrict moving the vertices on the curve up/down or left/right. This makes fine adjustments a bit of a pain. There’s also some lacking features when controlling the vertices’ tangents – like the fact that all tangents have to have the same interpolation.
Perhaps the biggest problem the curve editor has caused me is when trying to make round petals that don’t have any sharp edges. I’ve noticed this issue on the included presets too when you zoom in. From far away this isn’t a big deal but the closer you get the bigger the problem gets. You can solve it with an opacity map but ideally I’d like to see this addressed in the software.
Another criticism I have is how little control you have over imported objects. There is an import object node but it only has the most basic features such as transform. There’s no way to spawn children from an imported object and I don’t quite see why this wasn’t included. This pretty much forces imported objects to only be added at the very end of a graph. It also lacks “Axis Perturbation”, a feature that other nodes have that allows you to add a bit of random noise (akin to putting a noise modifier onto an object in 3DS Max) to each object that is created. This would have been handy to create a bit of variety. It’s certainly very handy on the nodes that has it.
Overall I would say the ease of use factor is really good while also allowing the user to customize almost all details easily through the nodes. I always feel in control and I can create plants very quickly, and create variations of those plants at the touch of a button or by drawing it in the viewport. This is praise I can’t give many other plant generating tools out there. Using the node graph I can take nodes from one preset and combine it with nodes from another preset – one of the many advantages of a node based system for any creation tool – or just modify nodes a bit to get one preset plant to look like what I am after.