Conversion to Unity Game Engine


I’ve been working on converting the scenes from the ORCA project to work in the Unity Game Engine. I’ve written a few Unity Standard Surface Shaders that will map the textures used from version 2.0 (and forward) over to the inputs that are expected by Unity’s PBR based Standard Shading System. The UE4 Sun Temple is looking really nice, but the Amazon Lumberyard Bistro and NVIDIA Emerald Square still need some work. I believe I’m going to have to write a custom shader for the foliage.

The real issue I’m currently having is getting this out. The licences for the ORCA projects allow me to put this work out on a service like GitHub (as long as I properly reference the original work and carry the licences over), but the projects are just to large for that to be a reasonable option. Some of the fbx files are over the 100 MB limit, and there are GBs worth or textures.

I was wondering if anyone had any advice on how to get this out.

As for the work I’ve done so far:

  • Written new shaders to allow proper use of the Textures within Unity
  • Replaced all the Materials in the three scenes to use said shaders
  • Begun work on breaking down the original Outdoor Bistro FBX file into smaller FBX files
    • So far, I've extracted some of the items with Blender. These items are using identical meshes (this FBX file has been setup to duplicate item meshes instead of re-using them), so I have reset their origins to something more functional, and then used Unity pre-fabs to get them back into the scene. This is a really slow process.
  • I have tried to replicate the lighting based on the fscene files. Note: For Unity, invert the light position along the X-Axis to get proper placement.

Another issue I’m currently having is opening the Sun Temple FBX file with Blender. This is one of those files that’s over the 100 MB file limit that GitHub imposes, and the textures only add up to about half a gig, which is more reasonable compared to the other projects.

Like I was saying, does anyone have any advise on how I can get these out while still being able to update them as I make progress with breaking things down and improving their look within Unity?

GitHub has a Large File Storage extension for git for this exact purpose:

Quick intro:

Unfortunately, GitHub’s LFS extension isn’t really a viable option due to their storage and bandwidth limits. While $5 a month isn’t much and it would give me the space extension needed for a project of this size, it would only take one person downloading the assests a few times to use up my monthly LFS bandwidth. What’s even worse is if a download got interrupted and had to restart; looking at the project size, an interrupted download isn’t out of the question. I might not be worried about the project going over the 50 GB storage limit of a purchased LFS packet, but going over the 50 GB monthly bandwidth of a single purchased LFS packet is something I would worry about. I estimate the current project, to use around 5.3 GB of LFS space. That would be less than 10 downloads a month, which wouldn’t be an issue except I already know a few people that would be interested in using this for experimental purposes.

In fact, the entire reason I came across ORCA was because in my previous job, we were looking for high quality environments to run within Unity for an ML experiment. After that, we then used them for another experiment or two.

Here’s the link that goes over the storage and bandwidth limits for GitHub’s LFS: