Friday 28 October 2011

UDK - Building the framework...

So this week I have been looking at developing some of the framework that will exist within my game. This means I have been looking at the various methods within UDK to actually get a spaceship model working as a playable vehicle with fully functioning movement and weapons. It is actually a considerable amount more difficult than one would expect. But I am slowly making progress...



Here you can see a very simple Frigate-style ship which I will be using just to iron out the methods for which to get other space-ships working within UDK. According to several tutorials this requires creating a skeletal mesh for my playable vehicle. Now the main difference between a skeletal mesh and a static mesh is the inclusion of bones from which animations, and much more, can be applied and carried over from Maya/3DSMax into UDK.


Above you can see the Main bone which is necessary for the skeletal mash to be interactable within UDK. With a more complex model I can have bones (and animations) for the turrets and hangar-doors that would populate a final model. Since the objective of this test is to just get a ship working they will be covered in later posts.

Using the ActorX plugin and the command 'axmain' I exported the mesh (applied to the bones as a skin) and then imported into UDK as a .PSK file.



Now the initial issue I faced was that my ships polygonal normals were facing the wrong way, so the ship appeared see-through when being rendered in the content-browser and also in-game, this was easily corrected by jumping back over to Maya and reversing them to face outwards correctly.



Once this was done I began experimenting with PHAT, which is UDK's Physics handler for skeletal-based meshes as once I had placed it within the game world it was non-interactable.
I came to discover that according to various guides, a skeletal mesh requires both a physics set and animation set to also be created for it.


Now the main issue which I have not been able to correct just yet is collision inside of the game world. For the ship to be interactable with the game world and the player it needs to be collidable.


One potential solution that I am having problems getting to work is to use 'Per Poly Collision Bones' however while it appears that collision is being generated it does not seem to be applied as the player model can still pass-through. I am confident this problem can be overcome though.


Further down the line once I have the main issue I am facing sorted out I plan to utilise sockets within the Anim editor so I can apply all the effects necessary for weapons, engines and much more such as camera view etc. Also using Morphs on the mesh itself I can have different ship models that reflect whether it is in fact heavily damaged or fresh out the shipyard.


I have found a number of tutorials that deal with skeletal meshes and the various properties that go with them however I have not found a solution my problem yet so perhaps I am approaching this from the wrong direction.

More on this soon!

No comments:

Post a Comment