How do you wrap a 2D image around a sphere? Well, the most familiar way to me is what 3ds max calls spherical mapping; you’ll have seen this if you’ve looked at a 2D atlas. The top and bottom poles of the sphere get a much larger area of the image than the middle of the sphere. Without correcting for this in some way, the top and bottom seem very pinched. I found a way of correcting for this, for a (horizontally tileable) texture in Photoshop. You can download a little action I made to help with this here. I’ll try and illustrate what you get from it with an image:
Top left – front view of sphere’s geometry with yellow UV seams at poles; top right – UV layout; bottom left – a cheap 2D grid texture I photoshopped together using my action; bottom right: the resultant sphere with texture applied. Although the grid on top and on the sides doesn’t match up, at least the scale is relatively consistent, which for most textures will be the most obvious thing if standing out.
Another way of mapping spheres, with less distortion, is using a cube map. This is just 6 images representing the positive and negative of the 3 axes – front, back, left, right, top, bottom. I’m probably going to use this method for a static “spherical” environment of a star-field, to indicate far off, where there is no geometry. It’s very cheap on modern graphics cards, and you can generate them in 3ds max easily using an existing environment. Here’s a quick test I did in the engine:
The cube map starfield was created in about a minute using a pflow system in max. It is apparently possible to generate a “real-time” cube map starfield texture procedurally, but I doubt my skills will be up to it in the near future. I’ll probably just create something prettier in max and photoshop, or maybe not use cube maps at all and go with pure geometry.
In the above image, the planet is a geosphere (triangles and no geometric poles) with spherical mapping using the method above with a PS generated texture. Obviously the lighting and shading are really dull at the moment. The vertical poles look pretty good, except when the LOD mesh kicks in – probably a UV interpolation issue. Not yet sure whether to go with procedural planets, moons etc, or bitmaps. I’ll leave it to when I really want to overhaul the graphics!
Here are a few prototype ships for the game. I tried to keep everything quads (for unwrapping and zbrush sculpting mainly), and each object as few separate elements as possible. The poly flow is a bit awkward in places, so they may need to be scrapped completely in future. Each ship is between 300 and 700 polys – obviously future iterations might be higher detail, but I’m thinking it might be possible to optimise this game for mobile devices – assuming I finish it before phones come with graphics cards.
I’m not sure on the limitations of the engine because I still haven’t decided on an engine. I’m looking strongly into Ogre 3D, because it’s free and open source, and shouldn’t take too long to get to grips with the workings of the useful features (unlike something like Unity I presume).
Render done in 3DS Max/ Mental Ray, with generic ceramic material from autodesk. The distances between ships aren’t equal, so shadows look a bit weird. I think the ships should be roughly around this relative scale. The bottom row is just the ships above, rotated 180 degrees around vertical axis so as to get a good view.
Well it’s been a few days since my exams finished, and despite a hectic new lifestyle of sunbathing on the beach, I’ve had time for some drawing. I came to it a bit scared – you can see my progress from never having designed a spaceship up to having drawn 80 or so ships. Drawing and design has never been my strong point though, from perspective/ drawing a straight line, up to anything more advanced!
There are a couple of stations and things in there as well. I found it tricky to think of novel designs, and I’m sure some of these will seem derivative from films, games etc. I initially thought I’d do about 10, so I surprised myself with how many unique concepts I could come up with. I will probably need to visually unify the various ship factions, such as giving the enemies a distinct style so as to be easily recognisable, so more design may be inevitable.
I’ve started modelling a few of them in 3dsmax for importing into the game engine, so expect an update with renders soon! I’d love to know which ships you think are the better ones.