No cookie for

VR-Forces 4.3 Simulation Model Set Enhancements

In VR-Forces 4.3, we’ve made a number of enhancements that are not immediately obvious, but are still very useful if you know how to take advantage of them. In this post I’ll share some tips on how to make use of the improved Simulation Model Set (SMS) management that is part of VR-Forces 4.3.

For those who don’t already know, a Simulation Model Set (SMS) in VR-Forces is the set of configuration files that defines the entities and objects available for creation in a scenario. This includes everything from their names and type enumerations to their behavior logic and physical movement dynamics. An SMS is typically modified using the VR-Forces Entity Editor tool.

VR-Forces ships with some preconfigured SMSs with hundreds of objects to use in scenarios, however, it is quite common for customers to add specific models, or to modify the shipped VR-Forces models to suit the needs of various projects.  In the past, this was most often done by editing the default SMS in VR-Forces directly, or by copying it wholesale and making edits to the copy. Both of these options lead to significant upgrade work when moving to a new version of VR-Forces where parts of the default SMS were edited, since the changes have to be merged.

To improve the experience, and to help in many other aspects of SMS management, we’ve implemented a new SMS management system within VR-Forces 4.3. The key aspect of this new system is that it allows one SMS to include one or more other SMSs, and extend them. Importantly, the new SMS only needs to contain the minimal set of files specifying the changes it is making from the SMS which it is including.

VR-Forces 4.3 ships with three different SMSs:

  • Base SMS: This SMS contains basic objects that are generally needed for any SMS used by VR-Forces. This includes waypoints, routes, many tactical graphics, and some additional required object configuration. This SMS alone is typically not useful for simulation, since there are no entities or aggregates defined in it.

  • Entity-Level SMS: This SMS includes Base SMS, and adds many entity level simulation objects. This is the equivalent of the default SMS from VR-Forces 4.2 and earlier.

  • Aggregate-Level SMS: This SMS includes Base SMS, and adds aggregate-level simulation objects. These are objects simulated at the unit level, and are part of the new Aggregate-Level Simulation feature that was introduced with VR-Forces 4.3.

Below are some example use cases, and how you can accomplish these with the new system. Many of these use cases are geared toward Entity-Level simulation, but can be applied equally to the Aggregate-Level SMS for aggregate-level simulation.

Adding One or More Entity Types

If you simply want to use the shipped SMS, but add a few additional entity types of your own, you can create a new SMS that includes the EntityLevel SMS from VR-Forces. Your new SMS would have only the .entity files that define your new types. All the sysdef files, platform (.ope) files, and other configuration files would be used from the shipped Entity-Level SMS, and would not be duplicated in your SMS.

Modifying A System for all Default Entity Types

Perhaps you are using the entity types configured with VR-Forces, but you want to make some modifications to the configuration of a specific system for all these entities. An example of this may be turning off terrain collision checks for aircraft to boost performance. This can also easily be done using a new SMS.  In this case, you would again create a new SMS that includes the EntityLevel SMS. In your new SMS, you would copy in the sysdef file from EntityLevel SMS, keeping the directory structure and filename the same and modify the parameters that you wish.  Now, when starting a new scenario with your SMS, any entity that was referencing the sysdef file in the original SMS will use the modified one in your SMS instead.

Creating a Minimal SMS with Only Your Entity Types

In some cases, you may want to have a minimal SMS with only the entity types that you desire, and not include the ones from the shipped SMS. We’ve made this easier too, by splitting out the VRF SMS into various components. There is an SMS shipped with VR-Forces called Base.SMS. This includes only the basic configuration necessary for VR-Forces to function, such as waypoints, weather objects, and other object types that are referenced directly from the system. If you make an SMS that includes this SMS, but does not include EntityLevel SMS, you will get only these objects, and then you can configure the entity types that you desire in addition.

Altering non-Entity Parameters

The SMS in VR-Forces includes some configuration that is not entity type specific as well, such as the scripted tasks (Lua scripts), physical world parameters and communication model settings among others. These can also be modified in an SMS that includes the shipped VR-Forces SMS so that you can use your specific configuration without having to modify the default VR-Forces settings. For example, you may want to make an SMS that includes a set of scripted tasks which you want available in some cases, but not in others. In this case, you would use your new SMS for any scenarios where you wanted these tasks, and use the shipped SMS for the other cases. It is worth noting that when you save a new system level scripted task from VR-Forces, it is saved into the SMS you loaded, rather than any SMS that was included by the one which was loaded.

Of course, you may also combine techniques from each use case as well as some additional features. For more details on how SMS inclusion works, and the specifics of using this feature, take a look at section 5.3 of the VR-Forces Configuration Guide.

I hope this has demonstrated some of the flexibility and convenience that is now supported with VR-Forces.

MÄK RTI Performance Blog 5: Bundling and Compressi...
MÄK at LAAD 2015

By accepting you will be accessing a service provided by a third-party external to