Here's an image of a Flyff model I converted to Unity as a prototype. I used ATools to convert the 3D models to COLLADA / .dae files, and dragged those right into unity. As you can see, the bones and the animations work (even though it's not a .gif) and you can equip items so the hand bones and it's as if the character was holding it. It was not that simple though, there were 3 main problems that I faced:
- It could just be ATools that was creating the problem, but Flyff models don't use "normals", which are widely used in a lot of modern games, especially in Unity. This isn't a problem in the Flyff engine because they render textures on both sides of the model and they sacrifice all advanced lighting techniques. Unity however, uses texture culling to only display the texture on the correct side of the normals, allowing the lighting engine to better calculate where to shade. I solved this problem by creating a custom shader that does not cull any of the textures. As you can see, I sacrificed the lighting. Here is a picture with culled textures.
- Animations imported from separate armatures will not work together. In order to solve this I imported the models into Blender, saved them as .blend files, and appended the actions for each armature to the "master" file.
- The third problem is that you can't just replace the meshes of the player model with the meshes for armor pieces and expect it all to work. I still have not figured this out, but I'm assuming that using a script to copy the bone arrays to the new model will fix the issue.
So I feel the first two problems can be somewhat avoided(maybe more of the second rather than the first), by created PostProccessor scripts to allow Unity to read custom .o3d, .chr and .ani files. Is there anyone that is able to give me some insight on where to start?
Thanks.