Thursday, January 28, 2016

Announcing Unreal Engine 4 support

We got Voxel Farm running in UE4. It s not a plugin yet, but we have included an example project that does all the tricky work. More development is required, but I believe this is at a state where others can benefit from it.

I'm already loving how nicely and quicly the voxel content renders. Here you can see the unreal dude on top of our alien biome:



I was thrilled when it took only a couple of clicks to get a good behaving character. Setting up lighting and atmospherics was also very easy. We are not fully exploiting the shading and many other toys in UE4 so it is bound to get much, mucher better.

Been able to just link to our C++ code makes the collaboration between the two engines a breeze. Thanks to that we can run on ARM platforms like iOS.

I leave you with a rather long run of a character over a Voxel Farm terrain. This is a work-in-pogress biome by a new artist that joined our team, Mr. Bohan Sun. You will also note this is only the bare voxel geometry, it is lacking all instanced meshes like grass, shrubs, smaller stones, etc.




I want to thank Alexander Ostman for donating his Voxel Farm/UE4 integration. This became the base of what we are offering today. Drop me a line if you want to get in contact with him.

14 comments:

  1. Amazing, as always. Keep up the great work, my friend!

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. Well done. If he was running on top of a Great Wall of China generated in these mountains, it would be 50% cooler. Or is integration of grammar-generted buildings something that's yet to be done?

    ReplyDelete
    Replies
    1. The integration of grammar-generated buildings/voxels is done. The pipeline between VF and UE does not really care what the is source of the voxels. The part that needs work is the UI in our Voxel Studio tool so you can set rules for the occurrence of buildings. If you want to skip the UI and code the rules yourself, you'd get the buildings.

      Delete
  4. Woot! This is nice to see, been waiting for UE4 support :)

    ReplyDelete
  5. That looks nice already.
    Apart from the C#/C++ interface from Unity, how would you compare the integration with Unreal? Do you expect the same performance for the streaming part?

    ReplyDelete
    Replies
    1. The Unity integration has one additional step where mesh data is marshalled from the non-managed side (C++ DLL) into the managed side (C#). We have not measured how much time this takes, but it does not rank along other more expensive tasks. Performance is determined mostly by generation and building collision meshes, which is the same for both.

      My biggest issue with both engines is they do not appear to support texture arrays. I know it is not their fault, but this is a big deal I think.

      Delete
    2. The marshalling impact is easily understandable. It is interesting that you did not encounter major differences between the engines. I see that you still lack some features, like the texture array ones.
      I think that geometry and "worlds managing" middlewares are the future, and so I do hope that you get more traction on yours for better support from those engines. The real positive thing is that you can already provide some amazing raw results, without having strong dedicated support from their side.

      Thanks Miguel for the feedback.

      Delete
    3. Both Epic and Unity have been very supportive. These guys are really out there to make their products the best. While they have immediate fires to put down (VR, AR, increased competition from each other), I think they get the long term goal is to be the hub for democratic, collaborative virtual world building. Rendering and other forms of middleware are becoming soft problems, with diminishing returns.

      Content is bound to be king. We are entering an age where content creation will polarize between a few star creators and massive crowds of hobbyists and enthusiasts looking to become the next star. That is a lot of content exchanging hands.

      I also think virtual world delivery is bound to become a streaming experience. Before the Net we would have physical boxes with floppy disks, CDs or DVDs. Changing disks in my Xbox One to play a different game feels as ancient as standing up to change the TV channel. Now we have internet delivery taking over, like Steam, but downloadable content are still a primitive form. I really do not need the entire 100 GB worth of content downloaded to see the first scene.

      As for the overal experience in these engines, I'll be candid. In our case being a C++ codebase completely turns the table in favor of Unreal. I felt a bit icky dealing with DLLs and C# wrappers just because of Unity's dependence on managed code. Now in UE4, it just feels like home. Unity is a great piece of tech but the lack of native C++ support is a serious drawback. Not sure what is the plan there, but it is quite expensive to maintain redundant code bases for anyone out there writing middleware and wanting to be close to the metal.

      Delete
  6. Do you have a demo download?

    If I sign up for voxel farm, is the Unreal Project available now?

    ReplyDelete
    Replies
    1. Sorry we have no demos atm.

      The UE4 example project is available now. We are uploading a new version today with a couple of fixes for this project.

      Delete
    2. Demos are out, you can access them here:

      http://www.voxelfarm.com/demos.html

      There is also a 30-day free trial here:

      http://www.voxelfarm.com/trial.html

      Delete
  7. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. Thanks for supporting us! Have you seen the FAQ at our documentation site?

      http://docs.voxelfarm.com/faq

      I believe the second question is what you are looking for.

      The Creator version does not include the Unity or UE4 runtime, which is what you would need to make/run games in those engines. The runtime engine comes with the Indie and Pro versions. The general idea is you can use Creator to create worlds and voxel content, but to use these in a custom realtime application like a game you need one of the other two versions.

      I apologize if this is not clear. You are not the first one to be confused by this. We are working on a new website and product lineup that should help us avoid this confusion in the future.

      Delete