Little Victories, Large Post

Lets be honest…I’ve been an X-Plane dev for many years now. I started back in v5 as a tinkerer and here we are on the brink of v10. There are moments though as a dev where you think, “Wait? Did I really just do that?” Admittedly, as many of these did I just do that moments are because you’ve done something rediculous…like nuked your entire scene in Blender before you had a chance to save when you meant to erase just a few vertices. Erase ALL is inexplicably evil and when you’re keyboard quick, its often over before you realize what happened. A string of expletives later, you a dig through the tmp folders hoping to god that there is a last blend save that you can refer to. More often than not, especially if you’ve already quit blender, its too late and you’re back to square one. Then there are the times where you realize that you’ve built your entire aircraft in Plane Maker to the wrong scale so you sit there with a calculator (hopefully an advanced one where you can set up constants as letters) and scale each value to the proper proportions. Believe me when I say that a lot of things happen…most of the time its sudden and temporarily painful. Ask any X-plane dev and they’ll tell you, disaster comes with the territory.

Then you have the did I just do that moments where the answer was staring you in the face for hours. A new train of thought later and the results are better than what you could have hoped for. Yes, I may be waxing poetic a bit, but I had one of those this evening, and I’ll get back to it momentarily. I’ve actually had several over the past week. I’ve just started really getting into texturing the 3d pit of the 777 and its already been an experience. Some of those moments are just learning new facets of the tools that we rely on to do our work. Some of it is realizing that I can bypass some of the export limitations and achieve greater resolution in my object file for more precision in the geometry where it is needed. Some of it is finding new software to help out what used to take much longer to achieve. Others are techniques conceived in conversations with my colleagues to get past those brick walls that we inevitably run into every now and then. I’m always amazed that the small stuff is harder than the big stuff. I know that some of you are waiting for ‘thee to get to thine point’, and yes, I know that my rambling probably isn’t the most interesting thing going on in cyberspace.

I suppose that my point is that even after years of playing around with this, the sim and the development process still has the capacity to frustrate and surprise you. This evening’s puzzle was how to texture the gear handle knob. Its a semi translucent piece of plastic or acrylic. I found that it is not a straightforward process because most of the light scattering happens below the surface. In the right circumstances, this object can appear to be illuminated from within below the surface. While its likely that you could hand texture the knob to some degree of convincing success, I wasn’t convinced that a simple texture was going to be the solution. How the mesh is unwrapped is nearly as important as the material used to render out the texture. Its shaped like a wheel yes? Okay, so what do we do? You can treat it like a hub and wheel situation with two disjointed pieces. I’m not a fan of the texture split for solids like this. Spherical unwrap gets closer, but there are fiddly bits where the effective texture resolution is zero on the wheel due to the unwrap. Long story short, the wheel ended up being unwrapped as a hub projection with a series of concentric rings radiating from the center. Unfortunately, this solution ultimately cut out the easy photoshop option. I had to dive deep into materials and try my luck at achieving the appropriate level of internal refraction. Lets just say that for hours I struggled with this. Nothing that I did ended up looking convincing. Achieving that perfect, to quote the ever quotable James May, “boiled sweet” look was looking increasingly more and more distant.

So after dinner and a drink, I’m back with the same problem. More test renders and hours pass and I’m still no closer to finding a solution. After some research and digging online, I came across a great website. The Blender Open Material Repository turns out to be a great resource for materials. I’d recommend it to anyone having material and rendering issues. I found an acrylic glass material that I felt I could adopt and modify to serve my needs. Those aha moments, well, analyzing this material’s attributes couldn’t have been more helpful. The render bake went more or less well, followed by some touch ups in photoshop and finally I felt that I had a reasonable base…plenty of diffuse illumination throughout, nice strong highlights where they needed to be etc. Never one to leave anything well enough alone, I took some ideas that Josh had during a conversation today to heart and well, can I say little victory? Imagine if you will a semi transparent doughnut inside another semi transparent doughnut inside another semi transparent doughnut. The result is going to allow you to see specular highlights from within the external mesh. Done carefully, you end up with a transparency gradation that mimics some of the refraction that happens inside the actual handle knob. Victory or not, the fact of the matter remains, this ended up being alot of work for a gear handle. I could easily have gotten much more done on the cockpit today had I just left it and let it fester for a while.

This small victory…literally at just 3 cm in diameter, is one of many that I’ve had, and one more checked off in a line of ideas that haven’t been had yet. Some you arrive at easier. Some are a little more involved. This knob was was especially involved. My whole story may seem a bit anticlimactic, perhaps a touch anecdotal, and in the grand scheme of the cockpit, it really is. However, small victories like these propel developers in new directions. New ways of thinking about things are vitally important. It makes the end result of what we’re working for that much better. And thats why I’m posting. In the name of innovation, small as it may be, it all builds on itself. If I can spread some innovation around, then I’ve done my job. If people can inspire innovation in me, then they’ve done their job. Having said all of this, I am going to attempt to keep this kind of blog posting alive. It gives all of you a sneak peak into some facets of the process. I get to tell a little bit more of my own story in hopes that maybe the community can get to know one of their fellow devs a bit better.

So a little long winded? Most definitely. Informative, insightful, or helpful? I hope so. And as you probably guessed…a little preview of tonight’s small victory. I for one am looking forward to seeing how this gear knob acts in the sim’s lighting.

Gear Handle



About this entry