I made a holographic planet over the weekend, and I have some nice work in progress shots still uploaded. I don’t think I’ll go too crazy in depth here as to my workflow in this post, but I will touch the basics of how these things get hammered out since I have this niche design process down to a science.
1. Basic shapes
I don’t work from any concept art, instead I rely on project requirements and what this needs to be. At this point, I know roughly what it’s going to look like; I have plenty of templates and designs already. This is fine given that this is supposed to mimic a functional user interface that builds around space constraints as well as the data being shown.
This particular project was actually a rework of an already completed model, the planetary scan hologram I did a while back.
Knowing that the commissioner wanted both higher resolution textures, a planet with a higher polycount, and none of the constraints of rendering in real time, I opted for a completely decadent set of sizes. The sphere is a good 8k faces, and the textures are 4096x2048x2 and 2048×2048, with detail scrolling textures of 1024×2048 and 512×1024. The planet is 2048×2048 and 4096×4096. It’s a real texture resource hog if I ever did see one.
The geometry is pretty simple. Two spheres, 3 large planes, 4 small ones, 4 that have scrolling textures, and a pyramid. Since one of the neatest features of these holograms are a slight 3d feel provided by the texture being split between foreground and background and ever so slightly separated, I generate the texture as a complete flattened interface and split the foreground and background as the last step. Although a flattened psd, I give the layers wildly different colors in 3dsmax to make sure everything is going to have the right content and in the right order.
2. Making the holograms
I used to export everything to source first and go through the process of making small changes, saving a vtf, and previewing in modelviewer to slowly make incremental changes. As I’ve learned the max material editor, I found it’s much easier to just apply the psd as the opacity map of a material and just use a solid color for the diffuse. This reduces the ‘change applied/change seen on model’ time to near nil. I start with blocking out reference shapes for any intersections (such as the planet in this case), or baking AO for more complex shapes, so I have a full idea of the kind of area I have to work with.
From there, it’s just hammering out shapes and data that works for the object. In this case, I borrowed heavily from creative commons scientific graphs and wikipedia articles on earth. I try to stay true to relevant items, in this case, the scrolling texture on the left is a modified magnetostratigraphy graph, which is something a sensor might generate if scanning a planet.
3. Ingame and finishing touches
Given the SFM/animation target, I generally go out of my way to make these models easy to animate. In this case, the pointer is the child to a bone in the center of the planet, so simply rotating that parent produces a nice orbit effect. The planet, atmosphere, and outer ring all have their own bones and each can be animated as needed. Everything is centered around -and fitted to- the existing table prop I’ve done, so simply parenting the two root bones works great. The planet (as shown below) was a little bright/neon for my tastes, so I darkened it between this and the video.
I’m a big fan of shared resources, so the minor scrolling textures at the bottom are reused from another set.
I even did some animations. They’re a bit fast and rather raw, but in SFM, it’s far easier to have an existing sequence to work with and modify then it is to make one from scratch. I’m still learning the ropes of the max animation tools, but every set I do is generally better then the last.
Once this project draws to a close and I move on to another art style, I’ll likely fully document the step by step process for these holograms, and hopefully some create and distribute template files.