Categories
February 2021

Day 22 – Many Small Lessons

02/03/2021 – One of the exciting things about the Freespace Achilles fighter project is that it’s really pushing the bounds of what I know and forcing me to think intensely about how to accomplish things. It also is full of rather grim Maya learning experiences. I’ll start with the goods: click the render below to go to a p3d that contains the Achilles in both its open and closed configurations:

So what happened with the lower fighter? Well, the plan had been to better showcase my work on the internal missile bays and with the animation by having the two ships side by side. However, there’s a catch. Part of dealing with Maya is that it’s important to regularly clear history on an object – Maya remembers everything that has been done to an object and shows you a projection of what would result of that. This gives you an unprecedented ability to ctrl-z your way out of a disaster, but it can also lead to what can only be described as ‘chaotic’ behavior and regular crashes. However, deleting history also involves deleting the connections within the Maya file structure that define animated movement.

Add to that, I wanted to bake the glows and ambient occlusion into the texture for the p3d preview. However, Maya has an upper limit for how many objects it will allow you to unwrap onto the same sheet at once, so I need to merge all of my subobjects in order to unwrap them. And I had a bunch of missiles and energy weapons in the file that had already been unwrapped and textured that I wanted to not re-unwrap, despite the fact that they were all mixed into the file structure along with the objects I wanted to merge together. On top of this already complicated problem, I also had set up the big wings such that there was no way to unlink the missiles from them at all – that’s why they’re not there on the folded up version below.

Another thing that happened to make all of this even more challenging was regular crashes attempting to clean up the mesh, linked primarily to a huge number of extraneous verts that I had inadvertently added. And as you can see, all of my efforts to unwrap the Achilles and duplicate it within the scene were for naught, because sometime between creating the duplicate, posing the duplicate, and freezing transformations, the unwrapping somehow got lost. I had unwrapped the original completely and mirrored it, and confirmed that the unwrapping for the complete object was working – after all, the top fighter looks fine! I’m chalking that one up to an unfortunate Maya bug. Instead of tilting at that windmill for another few hours, I decided to keep moving for the rest of the week. To sum up that unfortunate series of events, here’s a list of lessons learned:

  • Extra verts added through a subdivide can be painlessly removed by bandboxing an object and just deleting. Maya won’t remove anything required to define an edge
  • Maya’s Multi-cut has options to delete at various origin planes – for example, when trying to cut the fuselage in half I tried to use the cut-YZ plane button, except that targets the middle of the object, not the x=0 YZ plane. The way around this is to use it to target as close as possible the actual x=0 plane and then merge the resulting verts together.
  • However, we can also take advantage of this behavior from Multi-cut. All I really want is exactly half of the fighter, so if I have overlapping geometry as long as it’s centerpoint is at x=0, the cut-YZ plane button is going to work perfectly without any workarounds needed.
  • Never attempt to Boolean together complicated geometry as Maya will regularly vanish your geometry altogether instead of combining it.
  • Always cleanup and merge any geometry before attempting unwraps, as the automatic layout tools don’t know what to do with zero-length edges that cleanup will often generate when fixing nonmanifold geometry.
  • Since transform nodes are preserved when combining objects, you can combine multiple objects that animate around each other and preserve the object hierarchy. Be sure to always animate transform nodes, and never geometry itself, because you can drag and drop new geometry onto transform nodes without having to redo animation work.
  • Never ever parent geometry to geometry

The split tail is pretty much done, though there’s a bit more to be done at the intersection of the lower aft hull and the split tail. The next big steps are going to be redoing the wings, and then likely unwrapping and texturing the two big gun pods. One of the regular crashes that occurred while attempting to unwrap last night was with one of the big guns, as it is composed of many subobjects for various panels. Until next time!