I guess at this rate, it doesn't surprise anyone anymore, but I've actually
dabbled in this.
You can import Cyan's Ages in Blender, and then export them in either .ASE, or .FBX. FBX is the recommended method since it has more features.
Then all you need is import the meshes in Unreal's assets browser.
There are a few problems though, which I'm going to list here.
- First, Blender exports only 1 texture per material to FBX. Even if you did export more, you'd only realize that UDK also only imports one. Cyan's artists rarely used materials with only one texture (which is why Uru looks so good for an old game), meaning most of the time it won't look good in Unreal.
- Then, there is the problem of lightmapping. You need a lightmap UV layer for light to bake in UDK. Meaning you have to re-UV most models.
- Meshes don't have collisions by default. Last time I checked, Unreal was also unable to use exact collisions for static meshes (or it's quite tricky to setup).
There is a Blender plugin which allows you to use convex meshes to create the mesh' collisions, though (it also simplifies exporting to UDK in general).
Now, issues with PyPRP and importing Ages into Blender...
- Unreal uses the TGA image format, while PyPRP extracts textures as PNG. Oooh, look at
the latest features of PyPRP ! It's actually able to !
- PyPRP doesn't do a good job of importing texture informations, UV mapping and texture scaling. Meaning textures are applied horribly to the mesh. Oh wait, sounds like it was improved in the latest PyPRP too. Some infos are still lost, but in most cases meshes are fine.
- Some textures are lost either way because either Blender or Unreal can't import them: texture's names often use special characters such as & or # and... wait... Nope, also fixed in the latest PyPRP release.
- Objects can't have more than 16 materials, resulting in lost material on objects and... Uhh, forget that. The latest version of PyPRP fixed that too.
- Animated textures are not extracted, meaning you can't open them in UDK to apply them to the mesh. Unless... Yes ! There is an option to force the extraction of all textures in PyPRP !
Man, most of the issues with importing in Blender and exporting to another engine have been either fixed or improved. That quite a coincidence
Ok, enough boasting
Obviously, even if you could use multitexturing, etc, you'd still need to fix a lot of objects to make them compatible with Unreal. So, quite a lot of work.
And obviously, Cyan would never allow us to release an Unreal version of their Ages (which is one of the reasons I didn't work more on this).
At some point I also wrote a script to convert Plasma files to FBX. Problem is, meshes look better if edited in Blender first, and UDK doesn't import multilayering anyway.
That's not surprising, I had a look at the FBX documentation: multilayering is barely documented. Their API sucks too.