June 27, 2013 Leave a comment
My exploration has continued to go off the expected tracks. For some unearthly reason I decided that my first goal would be to port a character model from Halo to the UDK. Well, I’ve learned a lot through my experimentation. The first thing, of course, is to get the model. I downloaded a low-poly model of the Halo 3 version of the Master Chief from Halomaps. The great thing about downloading a tagset for Halo: Custom Edition is that the model comes with a bitmap. A lot of the 3D models on that site are better quality, but lack textures.
So, using conversion utilities also downloaded from Halomaps, I converted from the Gearbox formats to 3DS and TARGA formats for models and bitmaps respectively. The models come pre-skinned, so all I have to do is load in the texture. Of course, I also have to do any rigging I need. Thus, I re-learned rigging in 3dsMax this week. Strangely enough, the vocabularly is ambiguous when it comes to this process. To my knowledge, rigging refers to either the creation of the skeleton OR the application of vertex weighting to a mesh. Similarly, skinning can mean vertex weighting OR texturing. Very strange.
I used one of the skeletons that Epic provides, because it means that you can use the animation sets already in the UDK. I got my Master Chief model in-game finally. There is a lot of boilerplate scripting that goes into creating a new player-character. I also had to fix an (apparanetly prevalent) issue in which any character model (even the examples that Epic provided) would float above the ground. According to online forums, all I had to do was move the origin of the mesh down. Well, little did I know that there are actually two “origins” to a skeletal mesh. One is for the bounding box, and one is for the mesh. It took me a good hour to figure out that I was changing the wrong origin.
Then I moved onto creating a weapon because the MC I imported looked absolutely swell (except for a few errors in the rigging). I found a great tutorial that explains all the steps, and introduces a way of animating the first-person arms separate from the weapons, and then combining the two meshes using scripts. That way you can change the model of the arms or the weapon independently from each other, and don’t have to re-import the first-person arms for each new weapon. The weapon (a MA5C assault rifle) was breeze to rig and import ingame. The arms were a bit more a struggle.
It took me a little while to realize that I don’t have to use the first-person skeleton provided by Epic, because I’m not going to be using any of their animations. By that time, I had already skinned the arms to their skeleton, though. Because of weird transform issues with 3dsMax’s skinning, I kept getting this seemingly-unfixable error when I imported the arms:
It didn’t help that the tutorial I was watching used ActorX to export animations rather than FBX. Well, I realized that instead of trying to fix this utter mess (into which I had poured hours of work), I should just hop over to Halomaps and grab a pre-rigged, pre-textured, ready-to-go set of first-person arms. And that’s where I am right now.