[UNIGINE] Rescue helicopter demo


photo

Recommended Posts

Work in progress, preview of rescue helicopter demo:

 


 

Features:

* Open space area (262x262 km)

* Real geospatial data

* Double precision of coordinates 

* Large visibility distance (40 km)

* Urban terrain simulation 

* Dynamic weather and day/night cycle

* Extremely detailed close-up view 

* Advanced light scattering model

* Volumetric clouds

* Supersonic camera speed

  • Like 1
Link to post
  • Replies 51
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Work in progress, preview of rescue helicopter demo:     Features: * Open space area (262x262 km) * Real geospatial data * Double precision of coordinates  * Large visibility distance (40 k

The demo was running on a single NVIDIA TITAN card handling 3 independent Full-HD outputs (with AppSurround engine plugin).

Richard, GREAT to see your interest in UNIGINE engine ! Followed your blog on combat-helo for some years: treamendous work !!!   Also perfect moment in time if you are looking for really large world

Posted Images

very nice,

 

What is the hardware configuration?

Link to post

The demo was running on a single NVIDIA TITAN card handling 3 independent Full-HD outputs (with AppSurround engine plugin).

  • Like 1
Link to post
  • 3 months later...

How are you simulating the flight physics for the helicopter?

Link to post

The helicopter model is very basic at the moment, it is far from being physically correct.

Link to post

Thanks for the response!

 

Will you be including the flight dynamics simulation as a part of Unigine, or will that be something that needs to be coded separately and interfaced with Unigine?

 

We're looking at building a flight simulation product and are curious about Unigine's capabilities in this area.

 

Thanks!

Jim

Link to post

Will you be including the flight dynamics simulation as a part of Unigine, or will that be something that needs to be coded separately and interfaced with Unigine?

Realistic 6-DOF motion flight dynamics simulation will have to be coded separately, as this is a very specific topic not handled by any general physics engine. Nevertheless UNIGINE engine can be used for the large-world rendering part and it provides unique features especially usefull (and mandatory) for flight simulations: double precision, large world background streaming, multi-monitor rendering etc. The Rescue helicopter demo is a very good showcase of achievable rendering quality

Link to post

The helicopter model is very basic at the moment, it is far from being physically correct.

 

When we can expect some downloadable version? I would really like to get hands on that :)

Link to post

Realistic 6-DOF motion flight dynamics simulation will have to be coded separately, as this is a very specific topic not handled by any general physics engine.

Exactly what I needed to know. Thank you!

Link to post

When we can expect some downloadable version?

With 262x262 km database size this might be quite a BIG download...

Link to post

It is intended to use helicopter sim model from a partner company, it will be connected to the IG part powered by UNIGINE via CIGI protocol.

 

Regarding the size: it's 60+ GB now, so it's a bit problematic to share it now. However, we have some thoughts on this after the expo in December.

Link to post

With 262x262 km database size this might be quite a BIG download...

 

Well, 60GB is no issue for us, with full line speed matter of 1 hour, also I dont care if download lasts for example 1 week.  It is bigger problem for hosting site (unigine team)....

Link to post

Since the project is in very active development right now, I see no point in hosting it before December.

Link to post

It's an impressive demo. I'd love to read or discuss the implementation of this environment in Unigine, we're looking to modernize our current game engine.

 

For Combat-Helo we created detailed interior and exterior 3D models (complete with working avionics, as much as is unclassified) for the AH-64D and we've started work on the CH-47F equipped for combat rescue. However we've reached the limits of what we can do with our current engine and looking at the next version of our game.

 

How much of what's been created for streaming in such a large environment will be available off the shelf in the not too distant future? Are these going to be available as a engine update?

Link to post

Richard, GREAT to see your interest in UNIGINE engine ! Followed your blog on combat-helo for some years: treamendous work !!!

 

Also perfect moment in time if you are looking for really large world support: latest UNIGINE SDK release just brought long-awaitet true out-of-the box world tile background streaming capability ! Together with the double precision support this will allow unbounded world sizes. I am quite sure that due to UNIGINE crew work on rescue heli demo as showcase for upcoming I/ITEC simulation exhibition there will be even more short-term improvements within the next sdk updates

 

Would be great if you would join us here !

  • Like 1
Link to post

How much of what's been created for streaming in such a large environment will be available off the shelf in the not too distant future? Are these going to be available as a engine update?

 

As Ulf mentioned, all the technical features utilised in the demo are available in the recent SDK update. The content will be available to customers after the release of the demo in December.

  • Like 1
Link to post

Well thank you Ulf (you made me blush). I understand I have you to thank for pushing to have large seamless world support in the engine, something not done by other mainstream game engines. Generating content is not something we have a problem with. Getting it to fit into a reasonable amount of storage for consumers is.

 

One of my colleagues looked at this engine and he agrees that this is perhaps one of the best general purpose engines we've seen that wasn't tied to creating a specific kind of game. Others have contacted me through my blog over the years looking for this kind of capability too.

 

Things I want to know is how does the accuracy stand up when traversing such a large world with regard to have a cockpit model in front of the camera? Is it just using doubles or is it done through camera relative rendering? In our helicopter project the cockpit is rendered at the origin in it's own world, then we match up the lighting for shadowing. The rendered cockpit is then blended over the world camera. This has the advantage that world objects such as foliage never intrude into the cockpit space, rendering is rock solid and allows us to do clever things with optical sensors when blending the pilots view with sensor feeds presented in a monocle. I noticed none of the footage in the helo demo was from the cockpit pov which suggests it's a wip. But the sort of thing that stands out to me as implementation is a big deal.

Link to post

Is it just using doubles or is it done through camera relative rendering?

 

Both. All rendering is done in a camera relative fashion internally, but nevertheless double precision coordinates are required for water-tight and accurate object world position specification far away from world origin.    

 

The rendered cockpit is then blended over the world camera. This has the advantage that world objects such as foliage never intrude into the cockpit space, rendering is rock solid and allows us to do clever things with optical sensors when blending the pilots view with sensor feeds presented in a monocle. I noticed none of the footage in the helo demo was from the cockpit pov which suggests it's a wip. But the sort of thing that stands out to me as implementation is a big deal.

 

I think UNIGINE supports general cockpit overlay rendering via WidgetSpriteNode (supports transparent background, so outside world view would shine through). Simple alternative approach for avoiding outside world cockpit penetration is to use very large material polygon offsets for cockpit elements (This is e.g. used in the Sanctuary demo for the candle object).

 

Well knowing that you did all kinds of low-level shader/render-sequence customizations in the Leadwerks engine this is something which is not that easy to achive in UNIGINE (as this wasn't a key design target).

Link to post

It's an impressive demo. I'd love to read or discuss the implementation of this environment in Unigine, we're looking to modernize our current game engine.

 

BTW found somewhere some blog posting on engine requirements for flight simulator development...so just my personal feelings on UNIGINE aspects afterwards

 

Pick something that can deliver the following:

 

  • double precision floating point math

     

    available

     

  • fully flexible shader and lighting system

     

    flexible lighting yes, but shader programming is quite hard as more or less undocumented, auxiliary buffer rendering support usable for special effect rending e.g. IR heat view.

     

  • animation blending and tween classes out of the box

     

    available

     

  • AI navigation and path finding

     

    simple path finding available, but not that powerfull in comparisson to other AI toolkits

     

  • Multi-threaded rendering and streaming of geometry

     

    very good multi-threading support (rendering,physics,sound,file loading, world streaming, async scripting), full terrain heightmap/texture streaming since summer, full-fledged world node file  streaming since last SDK

     

  • Vegetation layers

     

    Yes, via combined WorldClutter/ObjectGrass rendering. No individual tree placements, but density mask guided, so not too user-friendly, but very efficient especially for large terrains

     

  • 8+ layers of terrain texturing

     

    Not yet, but ongoing discussion and community requests. Seems like UNIGINE is going to provide a much more powerfull solution not too far in the future

     

  • No cascaded shadow maps

     

    Ongoing discussions and request, but current implementation not really well suited for flight simulators yet.

     

  • Actor level scripting

     

    Powerfull UNIGINE script, although powerfull script debugger is missing

     

  • Native code for plugins (for headtracking or other gadgets)

     

    yes, via C++ plugins. Plugin interface can be exposed to UNIGINE script for easy usage.

     

  • Support for n terrain (or world) objects

     

    Yes, also used for Rescue Heli demo (see this post)

     

  • Volumetrics of some sort (fog/clouds)

     

    Yes, as shown in Valley and Rescue Heli demo. ObjectSky 3D volumetric clouds, ObjectBillboards 3D clouds with realistic lighting material, ObjectVolumeBox/Sphere for patchy fog effects, etc.

     

    New FieldAnimation object could be used for very nice local rotor downwash effects on grass and trees.

 

So altogether: not too bad :) Hope this helps

Link to post

That's beyond helpful ulf, I can see why you earned the Hero moniker :)

 

As you say, not too bad. I don't want to hijack the thread but I do appreciate the detailed response. I'd like to delve into the shader pipeline a bit and see just how flexible it really is. Undocumented I don't mind so much, after the current engine I'm using I'm used to mystery lol (shouldn't laugh, it's been a source of frustration). I only have access to the basic evaluation, before we make any further decisions we'll want to actually compile some test code.

 

For simulation, path finding isn't a big issue. So long as you have the basics such as some kind of ground physics entity, raycasting and functions to return a set of objects within a specified bounding box then all the tools needed to create some basic mobiles.

 

I'll be sure to look through some of the other threads.

Link to post
  • 2 weeks later...

This is extremely interesting to me.

 

How much variation of objects are there?

 

For example in a real world map there will easily be 1000s of unique types of objects/buildings/vehicles in a single scene.

How does it cope with this?

Link to post

This is extremely interesting to me.

 

How much variation of objects are there?

 

For example in a real world map there will easily be 1000s of unique types of objects/buildings/vehicles in a single scene.

How does it cope with this?

 

We have thousands of unique objects in world and no problem at all. For example Unity3d was crashing and memory leaking in far less demanding scene....

Link to post

We have thousands of unique objects in world and no problem at all. For example Unity3d was crashing and memory leaking in far less demanding scene....

 

Is there anything special you have to do in order to cope with lots of objects?

Link to post

Is there anything special you have to do in order to cope with lots of objects?

 

So far performance is OK, so only out of box Unigine features.

Link to post