Sorry it’s been a while since the last update. I’ve been busy with some other projects lately, but I’m taking a break from those for a little bit to avoid burning out completely, so it’s time for more SAND development.
I’ve started working on rebuilding Eder Kemo, which is a bit of a gear change, but I think it’s a necessary one. Kemo is a good testbed for a lot of the things I need to do in SAND, all rolled up into a single environment: modeling (organic and manmade objects), texturing, terrain creation, animation, game logic (Journey Door), UI design (Linking Book interface), particle effects, dynamic weather and events (like lamps turning on when it’s raining), and even some basic AI (I’m going to give the fish a brain so that they’re not stuck on a fixed loop).
The biggest thing I’m using Kemo to practice with is terrain editing. In Uru, Kemo’s terrain is just a set of giant mesh objects. I could go this route as well, but I would rather avoid the UV and texturing headaches that it entails. I’d use Unity’s own terrain tools, but they don’t support landscapes with holes, overhangs or tunnels. Instead, what I’m working on is creating Kemo’s terrain using a voxel editor called TerraVol (if you’re not sure what voxels are, think Minecraft terrains, but smoother). While perhaps best suited for new, randomly-spawned landscapes, TerraVol does support manual sculpting of the terrain object using a variety of shape brushes, which is what I’m using to develop Kemo’s terrain. The final result will ultimately not be an exact match to Kemo, but with some more practice, I’m confident that I’ll be able to show off something that’s at least pretty close.
In my practice last night, I’ve found that TerraVol is not a tool that I can use for every Age’s terrain, though. I’m not entirely surprised by this; voxels have a limited maximum “resolution”, so getting super-fine detail out of them isn’t going to be possible. As a test, I built a height map of Uru’s Cleft (with the assistance of Paradox, who supplied me with an export of the scene from the PRP files) and applied it to a TerraVol terrain object. Unfortunately, a lot of the detail got lost in translation; at a game-appropriate scale, the volcano was just a big flat-topped cone, and the Cleft was an indistinct slit in the ground. Applying the height map to a standard Unity terrain created a much more detailed result from the same image that very closely matched the original scene, but there is once again the problem of the Cleft being a complex hole in the ground that can’t be created with just a height map.
Fortunately, there are ways to get around Unity terrain’s lack of support for holes and overhangs. They’re not 100% fool-proof, and are best applied in situations where the work to be done is relatively minor, but it is possible. With these work-arounds, I can cut out a hole in the terrain for the Cleft, and then blend in a standard mesh model of the Cleft itself.
Ultimately, terrains in SAND will be built with a variety of tools, possibly even with multiple tools in a single scene, depending on what’s needed. Ages like the Cleft, the Pods, and Minkata, for instance, would work best as standard terrains with mesh-based additions for holes and outcroppings. Ages like Kemo, Gira, and Kahlo, on the other hand, would be easier to build using voxel tools because of their greater three-dimensional complexity, and then use mesh objects to add in detail where needed. The Descent will benefit from the voxel-based terrain tools as well, since I can use it to create the various cave environments, and detail them with modeled features like stalagmites, columns, and curtains.