Importing Uru Ages into Unreal 4

If you feel like you're up to the challenge of building your own Ages in Blender or 3ds Max, this is the place for you!

Importing Uru Ages into Unreal 4

Postby Yali » Thu Feb 12, 2015 8:19 pm

I just subscribed to UE4 and so far I was able to create a Riven quality room in under 20 minutes by messing with some assets and materials. I'm essentially trying to create K'veer in UE4 as its my favorite location in Uru and the Myst series. To begin, I'm trying to import MOULa's version of K'veer after seeing Andy Legate import Uru ages in UE3 a few years back.

What's the easiest way to do this? Would any of you know or have knowledge in Unreal?
User avatar
Yali
 
Posts: 168
Joined: Tue Oct 02, 2007 7:59 am

Re: Importing Uru Ages into Unreal 4

Postby Luna » Thu Feb 12, 2015 10:33 pm

I don't have experience with Unreal but to get Uru ages into a different engine you basically need to :

1. Use PyPRP importer to import it into Blender 2.49. http://www.guildofwriters.org/wiki/PyPRP_Age_Importer
2. Fix anything if necessary
3. Export it to a format the engine understands. (Unreal probably can use obj file or 3ds)
Code: Select all
long longestTimeWithoutPlayingMoula = (new Date()) - (new Date(2014, 9, 26));
User avatar
Luna
 
Posts: 204
Joined: Fri Oct 08, 2010 12:21 am
Location: Il y a encore des pommes.

Re: Importing Uru Ages into Unreal 4

Postby Sirius » Fri Feb 13, 2015 2:58 am

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 ! :P
- 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 :roll: :twisted:
Ok, enough boasting :D



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.
User avatar
Sirius
 
Posts: 1506
Joined: Mon Jul 26, 2010 4:46 am
Location: France


Return to Building

Who is online

Users browsing this forum: No registered users and 0 guests

cron