As the sole artist working on EDNA, in order to develop worlds quickly I needed to come up with some tools that would allow me to quickly create large environments for testing. The end goal of the project was also to have procedurally generated worlds, so developing these tools was a good step towards that goal.
The primary script is intended for rapidly creating a floating island and populating it with objects. You start by selecting a top and base for each island and using a slider select the base height. This is done with blend-shapes to keep small gradient at the top edge of the base consistent.
Next is basic rotation controls, which cut out the time of using the rotate tools to adjust items (the random rotations in the top photo were done manually.) By selecting the base shape, that then sets the rotation adjustment value to the correct angle for the specific shape.
The shape selection also affects the rotation of the child objects such as the craters. These objects are pulled from an editable list of prefabs and spawned at random. To ensure no weird cases where an object is hanging off of the edge of the island, each prefab casts a ray down to ensure it’s still on solid land. This takes a little bit of extra prep on the prefabs to set the corner points, but it saves a lot in the long run.