Inspired by the Astroneer Terrain Deformation Tool
A complicated walk-through of how to build a simple model.
If you’re not familiar with Astroneer, I’ll summarize it for you:
It’s a survival space game in which you have been left on a planet with only your backpack, a shielding hub in which you can hide from storms, and your wits. With those, you are expected to research technology, harvest resources, and work your way back into space, opposed by the lack of oxygen and other threats of being in places man has never trod.
Also — it’s really cute, with an art style which really doesn’t look like anything else and a voxel world engine which lets you build and dig in pretty amazing ways.
I’ll just let the designers speak for themselves for a moment.
Yeah, very much like that.
Development has been kicking along pretty well with relatively frequent updates and a surprisingly solid community. The strength of that community was sorely tested last month when Paul Pepera died; one of the four founders of System Era and perhaps the strongest driver of the art style was no longer with them. Needless to say, it’s been a blow. But one that the company — perhaps more importantly the individuals — have been able to absorb and still move forward.
That’s a testament to their cohesion and obvious love for someone who established this grand project, this journey that they’ve set off on together.
That was last month. This month, members of the team are back on the horse and doing livestreams where they develop the game in public, just like they have been since the beginning of the project.
I’ve been very interested and invested in Astroneer since it was announced and I played quite a bit even in this extremely early alpha state. There is fun to be had.
Adam Bromell, another founder and artist at System Era set up a regularly scheduled stream to have the community watches the did a little remodeling on the Terrain Deformation Tool, the bulky not-a-gun that the Astroneer carries around everywhere he goes. I missed it live, but lucky for me Twitch can sometimes be cajoled into saving such things.
Yes, that’s a video that’s a little over three hours long. This is the sort of thing that you watch when you are fascinated by a number of things going on, from the nuts and bolts, nitty-gritty of building a game asset, to hearing about future developments in a game you really enjoy, and watching someone who is legitimately worthy of your admiration for their strength of character. It’s a rare mix.
Being me, I’m sitting back, watching Adam work with 3DS Max, wrestling with matching up vertex points between the edges of meshes, manually crafting transitions from one part of an impinging object to the next, and generally doing all the stuff that has literally kept me from wanting to be a 3D modeler in any context for very long time.
Until I discovered parametric modeling. (Yes, I was late to the table.) Having a few parametric modeling systems in hand, I wondered if I could sort of “model alongside” Adam as he went about adding anchor points in module points to the TDT. So I pushed the video off to my second monitor, pulled up Fusion 360 on the main, and started sketching.
This is eventually what popped out. But it took a lot of work to get along the way to here.
Fusion 360 has what I think of is one of the most educationally useful abilities in a modeling system, and that’s the power to roll back every action to the beginning of your model and then hit play to watch it step through every bit of construction geometry, sketch, and texturing which ends up with something like this:
You can see all of the renders and the fly arounds over on my Google Photos album for this project:
I’ll be making reference to various pictures and bits of the construction video as we go.
One thing to note about the original Astroneer TDT is that it is very chunky. The art style that they’ve chosen for the game is reminiscent of low poly construction but is actually quite high-res, with smooth curves and smooth integrations. The thing that seems to throw the majority of first time viewers is the extremely flat shading, with a lot of attention to simple textures without the complicated bump mapping and such that we’ve become accustomed to as “videogame graphics” over the years.
For my own exploration of the idea, I wanted to start with something a little more comfortable to me when it comes to parametric modeling. Something more squarish. Given the design of the original, in retrospect that seems a bit of a copout, but keep in mind I was sitting here watching someone far better at modeling than me tinker with something that already exists. There’s always a little trepidation when you start thinking about that.
So — square body.
There was no question that I was going to fillet the edges so that the box had a more rounded profile, and that’s one of the advantages of working with parametric modeler. You can start with very broad shapes and shave them down mathematically; not in the way that you would with a volumetric modeler (though those techniques are quite useful in and of themselves) but by applying procedures to a shape which have well defined results. I also decided to give the front bottom side of the body a manual bevel, just to give it a little bit of visual interest. In retrospect I probably should have made it a little bit bigger.
The next step involved creating the construction geometry for the barrel — and I explicitly wanted a more gun-looking device than the original TDT. Because I like guns. In Fusion, it’s often very important to use plane construction in order to make a surface on which to create a sketch. Constructing those planes can give you some incredible flexibility later, when you can come back and change one of the sketches from which that plane was generated and all of the geometry which was built off of it changes immediately without having to be messed with.
I started with a simple line on one of the default reference planes just running right through the origin from the front of the gun all the way to the back and beyond because I knew I wanted that whole thing to be a core piece of the visual. Once I had that line, it was easy to construct a plane perpendicular to that line at the endpoint and use that to draw the circle which would then be swept along the line as a whole and outline the barrel. This is really one of the core construction mechanics that I used in this model at almost every turn. If you’re looking for good practice on doing your sweeps, here it is.
The “business and” of the barrel is really just a single loft, built off the circle which got swept down to make the barrel as a whole and an offset plane from that circle. If I wanted the end it to be a bit longer and further back, it was trivial to simply change the offset for that plane, which would change the location of the sketch for the second circle which was lofted, and everything would just work. I through a little bit of a chamfer onto the edge to give it some structure and then I had to take a moment to think.
Traditionally, my urge would be to actually make the inner diameter of the barrel hollow, all the way back to the gun body because, after all, it’s a hollow tube, right? But just for giggles, I tried something different. I created a unit sphere in the center of the circle at the end of the barrel, dragged it out until it looked about right for the inner diameter, and just cut it right out. I just scooped it. Then I applied a glossy black texture to the inside of that cut sphere’s face, sat back, and took a good look at my work.
It was awesome.
When you turn it, the light moves appropriately. Reflections are excellent. The sense of depth is really nice. It really does the job.
This is important for a couple of reasons, but the biggest one for me is that all of that geometry which would have been inside the barrel and effectively never seen, by anyone? Doesn’t exist. The only wireframe that exists is just that hemisphere at the end, and even that can be ridiculously simplified if your poly count is tight. That’s a huge deal.
Plus — It just looks really good.
Once that little bit of business was out of the way, I moved on to doing a little bit of architecting on the back of the barrel (really just in-setting a circle to give it some dimension), before moving on to the piece that I knew would be surprisingly harder than expected: the under grip.
See, it is deceptively simple looking. If I tell you how I did it right now, your immediate thought will be, “that doesn’t sound so hard.” And you’d be right. Everything hard looks easy once it’s done.
The under rail is effectively a single sketch which controlled the line of curves, and really it started as a square sketch which I applied the sketch fillet to a couple of corners and moved them around until they look right, and then I used the trick of creating a construction plane from the line normal to its direction, put a circular sketch on that plane, and swept it along the length. It sounds bloody trivial.
In reality, what ended up happening is that once I had the sketch and sweep finished, I realized that the shape just didn’t feel right. It was too long, the front end attached to far up the barrel, and it just wasn’t good. Luckily for me I could simply activate the sketch, grab some of the curves and literally move them around, grab the endpoints and move them along the central axis without fear that they would come loose and unbalance my sweep, and eventually I ended up with something that felt right.
Pointedly — feeling right is not being right. I’ll illustrate with a renderer that came from earlier in the design process.
Look very carefully at the bottom of the barrel where the under rail attaches. Do you see that little bit of white plastic peeking through the gray metal of the barrel? That’s an artifact of sequencing. See, when I originally created the under rail, the fans on the barrel didn’t exist yet, so when I extruded the under rail all the way up “to object” and specified the cylindrical barrel as where to stop, it did exactly that. And then when I went in and sketched some fins which would attached to the barrel and be a circular pattern around it, it did exactly that.
Leaving the under rail extruded all the way through the fin and by an accident of geometry clearly visible peeking through the top corner of the side fin. And really all of that only became truly visible once I applied textures — because as you can see in the assembly video, I was working on effectively on textured, monochromatic geometry.
If you take nothing else away with you today, take the idea that you should at least apply some sort of different color to every single body that you’re working with when you created, no matter what your CAD/modeling system of choice is.
Compare to this version:
Again, parametric modeling helped make fixing this problem easy. All I really did was move the sweep and extrude from before the fins existed to after the fins exist. Because it was definitionally set to “extend only so far as that object,” and that object then included the fins it only extended that far and no further.
The fins themselves are a pretty simple construct. I just dropped the sketch right on the standard ground plane which runs right through the middle of my barrel (making things really easy), drew a quick little polygonal shape with a two-point rectangle and a couple of lines for the angle at the front, extruded them symmetrically, dropped a chamfer on a couple of edges, and moved on to the really cool part, a circular pattern of the body taking the end of the barrel as the axis supplier.
Circular patterns are the bomb. You can use them for all sorts of ridiculous things, but in this case they just mean that you only have to make one fin, and then you can put as many of them around the barrel as you want. No muss, no fuss, extremely low complexity, Bob’s your uncle.
Then it was time for a couple of truly simple cylinders, just stuck to the side of the body and underneath for the rail. The first step of that was, again, building a construction plane offset from the side of the body, so that when I did the extrude from the circles they would be at the same outer extent without having to think about it. The smaller one on the side was simply extruded to the surface of the body, but the one below couldn’t be done like that. It’s larger than the rail. It had to be extruded up to an actual measurement — which in this case was the actual center plane of the gun.
The one on the top was done exactly the same way.
All three “modules” received the same radius rounding on the edge, just to make sure that things had a visual cohesion. It’s really easy to want to go with custom chamfers and radii on every edge, but if you do that the piece ends up looking like it’s ridiculously haphazard. It doesn’t look like it was put together from random parts, which you might think is what you’re doing, it just looks like nobody put it together at all. Things have a sort of consistent regularity unless there is a pressing reason not to. Always keep that in mind when tinkering with the details of a thing, because otherwise you can be sitting there scratching your head for an hour wondering “why doesn’t this look — right?”
Then came the bit that I am particularly proud of: the handle.
No, really. I am stupidly proud of this thing.
It starts off easy enough. A couple of more cylinders on the front of the body, a sketch which sets the diameter of the soon to be brushed aluminum grip that comes up, but you’ll notice that there is a bit of construction line inside the circles on that sketch. There’s actually two lines, but one is harder to see than the other. One is locked to being horizontal from the point of view of the sketch, and what the other is dimensioned to be an angular offset from the first line. This is important because I knew that I didn’t want the grip to go straight up and down. Straight up and down would be easy, you just create an offset plane from the vertical plane and away you go. I knew I needed to make a sketch line to sweep along which was not vertical and I needed some way to construct that geometry.
Enter the construction line.
One of the options for constructing a plane is to take a line and determine at what angle the plane is turned to that line. Well, that’s perfect. I took my angled construction line, constructed a plane which was 90° turned in relation to the global axes, and suddenly I had a plane which I could sketch a simple series of lines on to define the shape of that grip.
Once I got there it was easy. Just a matter of sweeping that inner circle along the path on that plane and done.
But Hark! I know what some of you are thinking. “He didn’t finish it? He only built part of it. He only made the right side of it!”
That’s correct. I knew that I wanted to build an actual grip that went on this bar. I knew it needed to be just one simple conceptual shape. So I did the smart thing: I used mirror.
Mirror is one of the greatest things in the world. You never have to worry about making opposite sides exactly alike. You never have to worry about things not matching up. As long as you construct your geometry with an eye to eventually mirroring it across a given plane, you are golden. I knew this would get mirrored to the other side, so I just built one connector and one pipe which went up to the side.
And that’s when things get really interesting
You can see the first cut at the handle at about 25 seconds into the video. You will notice that it is a cylinder. More accurately, it’s a cylinder with a little bit of radius on the corners — and that’s it. That’s the sum total of the grip. That looks nothing like the picture that I just showed you.
I decided to play with a part of Fusion that I generally don’t get into:
The Sculpt environment.
I could talk about Sculpt for a long time, giving you all the details about BReps versus T-Splines (and you really should know, it’s good stuff), but the short version is that Boolean representations describe volumes and are generally what we get when we extrude and sweep and generally tinker around with the Model environment, and T-Splines are a more surface modeling-oriented world, where objects are made up of curved surfaces which intersect at corners with three lines — thus the name.
The important thing to know is that Sculpt let you create more organic shapes, shapes with soft curves and just more things which come across as less mechanical. In short, perfect for a rubber grip.
Unfortunately, working in the Sculpt environment takes you out of the Model environment where all of your history, step-by-step, is captured, and if I had been thinking about it at the time I would’ve gotten some intermediate images taken from the screen so you can see how I took a relatively simple cylinder and turned it into this.
Short version, I converted the BRep into a T-Spline object, which actually changed it into three separate surfaces, one for each end and one around the cylindrical center. I deleted the end objects, grabbed a couple of lines which existed along the length of the remaining surface, pushed them upwards which created the finger grip areas and the smooth curve, used some of the modification tools to simply close the resulting hole on either end of the grip, let the system auto fix any weird geometry which resulted from me not knowing what the heck I was doing, and then completed the form which gave me a beautiful grip design so that I could convert it back to a BRep object like the rest of the model design.
It sounds like I engaged in a lot less flailing around that I actually did. There are some strange things going on in the Sculpt environment, and it’s something that I really need to spend more time learning about. But this turned out awesome.
Seriously, I’m ridiculously proud of this.
That is pure sex right there.
The rest was just applying some texturing, deciding on colors, and digging out the latest Operation BSU badge experiment which was inspired by one of the greatest TV shows of all time — Supertrain. Putting the badge on the gun was actually easy; I just imported the object from the project it lived in, stuck a joint on the back and onto the center of the circle which defined that face, they mated up, and I didn’t even have to resize the thing, shockingly. It just worked.
In some of the earlier renders you can see that I had a decal there instead of the previous BSU logo. Designs change.
So there is the rundown on this model. If you would like to see it in 3D, with full rotational control — I would suggest staying away from the version on Sketchfab. As much as I love Sketchfab, and I do, for some reason it really doesn’t like the FBX files that you can generate from Autodesk 360. I’m not sure whether it’s a problem with the materials as described in the FBX or whether it’s a problem with the way that Sketchfab imports the data, but it doesn’t turn out well. OBJ doesn’t turn out the materials at all, which is a total bummer.
Luckily, A360 has an online 3D viewer that will show you the object with proper lighting, proper textures, proper colorization, and just works.
Well — kind of works. The link works, anyway.
If you enjoyed what you seen here, and you would like to get more of it, check out my other Medium posts, my Google+ Tech Collection, or my YouTube channel. Feel free to leave a comment, ask questions, or even hire me to work on your multimillion dollar project, bringing my incredible (as in it probably shouldn’t be credited) understanding of 3D printing and 3D modeling to bear on your problems.
Or just ask me about your personal problems. I’m really quite easy.