Chapter 20 | Virtual CRASH 4


Virtual CRASH 4 is built on the version 3 platform. Indeed, most features are accessed in the same way in version 4 as they are in version 3. Version 4 uses the same physics models as version 3. Below various features new in Virtual CRASH 4 are discussed. It is assumed that the reader of this chapter has read all previous chapters of this User’s Guide, and has reviewed the supplementary training content available at and


New Virtual Tutor Lessons

Virtual CRASH 4 includes new Virtual Tutor Lessons demonstrating new features and functions. The Virtual Tutor can be accessed by left-clicking on the “Help” button in the left-side control panel.


Compatibility with Version 3

Virtual CRASH 4 supports vc3 and vcm files created with Virtual CRASH 3; however, Virtual CRASH 4 files cannot be opened with Virtual CRASH 3. To open vc3 files, simply go to Project > Open, locate your vc3 file in the file window, and double left-click on the file name. Note, in some very rare instances, vc3 simulation files involving default-auto model collisions with primitive box objects (made by Create > Standard Primitives 3D > Box) may result in slightly different results when opened in Virtual CRASH 4 due to some enhancements to primitive box objects. When converting to vc4 file format, always confirm your vc3 simulation results are in good agreement when opened in Virtual CRASH 4. If you are a Virtual CRASH 4 user, and you would like to audit a Virtual CRASH 3 file from another user, it is recommended to simply download and install Virtual CRASH 3 to conduct the audit, as your Virtual CRASH 4 license also works with Virtual CRASH 3. 


New Themes

Virtual CRASH 4 includes a number of new themes. You can change your theme by going to Window > Theme. 


Supported Geometry and Point Data Files

Virtual CRASH 4 supports the same geometry and point data file formats as Virtual CRASH 3 (dxf, 3ds, total station pts), but also includes the ability to import Wavefront obj files. Dxf point cloud files are now also supported. Dxf point file handling has been improved. Pts point cloud files are discussed further below.  


New Vehicles

Virtual CRASH 4 includes 45 new vehicle models. These new models are shown below.


Improved Gallery Browser

The new gallery browser gives you a new way to access vehicles and objects in the Virtual CRASH 4 database. You can use the filter option to select from various vehicle categories. Left-click on a vehicle image and drag and drop into the scene to create an instance of the vehicle geometry object (yellow line shown below). Left-click on the database icon and drag and drop into the scene to create an instance of the vehicle (red line below). Just as in Virtual CRASH 3, you can also search through the vehicle database by going to the vehicles menu in the left side control panel. Using the gallery browser will filter out most vehicles in the database that use the generic vehicle mesh.  


Improvements in CAD Tools

Virtual CRASH 4 comes with a new feature allowing spline curves to be drawn with the curve forced through control vertices (“Curve Fit”). This fit through CV feature can be accessed in the “type” dropdown menu in “misc” menu. In addition, new control vertices can be added by simply hovering the cursor over the lines connecting neighboring control vertices. Left-clicking on the “+” icon will then insert a new control vertex. 

Control vertices can be deleted by hovering the mouse cursor over an existing vertex, and left-clicking the “X” icon. Note this functionality is also available now for the polyline tool.

When using the curve tool, deselecting the “smooth” option in the “misc” menu will convert a spline curve into a polyline shape.


Virtual Reality, 360 degree, and 4K Video

Virtual CRASH 4 includes the ability to create virtual reality, 360 degree, and 4K ultra-high-definition videos.

To learn more about creating virtual reality and 360 videos, see this Blog post:

To render in 4K UHD video, simply use the size dropdown in the animation menu under tools. Note, 4K is just one of many new size formats available in Virtual CRASH 4.


New Multibody Functionality

Convert Multibody to Mesh

Virtual CRASH 4 multibodies come with two new features which can be found in the “convert” menu. 

The first, “to mesh” freezes the multibody into a solid mesh object. All joints are removed as well as rigid body properties. One use of this feature is to merge a multibody shape with a vehicle. For example, below, we converted the multibody to a mesh. Then, we removed physics from the scooter and grouped together the multibody and scooter meshes. We then made the group into a rigid body object, added front and rear axles, and modified the wheel data to match the original scooter’s data. We then increase the roll and pitch moments of inertia to 1e6 to ensure the scooter+rider system remain upright as it moves forward (see below). Using this same method, a stationary occupant can be placed in an occupant cabin of a vehicle model for a more realistic looking visual aid. 

Convert Multibody to Rigid Body Objects

Multibodies can also be converted to “rigid bodies.” When this option is selected, Virtual CRASH 4 will build a multibody-like object from hyperellipsoids and ragdoll joints which are placed in an identical pose as the original multibody object. A new group object will be placed in the project menu consisting of the hyperellipsoid objects, joint objects, and the multibody skin “envelope”. In the figure below, the envelope is hidden and joints revealed. 

We can now connect the rigid body objects to the scooter or other rigid body objects using the joint tools. In the case below, we attach the hands, feet, and pelvis to the scooter. Here we give the scooter a third axle with small wheels in order to move forward and remain upright. 

The joints can then broken at the moment of impact so the rider can move independent of the scooter.

Note, the rigid body object created with the “to rigid body” feature cannot be posed in the same manner as the parent multibody object after creation. The multibody global weight and size input functions are also lost, though individual hyperellipsoid and joint properties can be configured. The rigid body object is also not optimized to deliver fast simulation results as the parent multibody object is, and therefore you may experience increases in CPU time needed to complete simulations using these objects. You may also see differences in simulation scenario outcomes where the rigid body object is used rather than the parent multibody. Note, “auto align to plane” and “optimize” are also unavailable for the rigid body object.


Point Cloud Data

Importing Point Cloud Files

Virtual Tutor: Go to help > point cloud > import to learn more about importing point clouds. 

In order to import your point cloud data into Virtual CRASH 4, you will need to export it to .pts, .xyz, or .txt file format (dxf point cloud importing is also possible). Virtual CRASH 4 will accept point clouds generated from laser scanners, UAVs, and photogrammetry. To import your point cloud file, simply drag and drop your point cloud file icon into the Virtual CRASH 4 workspace (see below). 

One can also import your point cloud file by going to Project > Import (see below). Be sure to select your file type (for example, .pts) from the file type drop down menu.

Once your file is selected, an import dialogue box will appear (see below). Left-click on the input options buttons to access the various pulldown menus. To start, left-click on the “output” button and select “point cloud” as the file type (red box below) from the dropdown menu. You will need to specify the file format of your point cloud file, either (x y z), (x y z red blue green), (x y z a red green blue), or (x y z nx ny nz), where “a” is the intensity or scalar field value depending on what device is used to create the point cloud. Note, comma separated formats are not yet supported.

Below, we see an example point cloud from a scanner.

Below are a few lines of the corresponding (x y z a red blue green) file defining the above displayed point cloud.

Here we see an example point cloud based on drone data.

Below are a few lines of the corresponding (x y z red blue green) file defining the above displayed point cloud.

Once you import or drag-and-drop your point cloud file into your scene, simply left-click on the “file format” button and select the appropriate format from the dropdown menu. Colors may be either in 8 bit format (integers from 0 to 255), or normalized color (real numbers from 0 to 1). By default the (x  y  z  red  blue  green) with 8 bit colors option is assumed by Virtual CRASH 4 (“file format: x y z r g b – color(0-255)”). You can select the units used for your file as well by left-clicking on “source unit” and selecting the needed units from the dropdown menu. You can flip the x, y, and z axes by left-clicking on the appropriate checkboxes. Note, by default, the maximum memory allocation used to display your point cloud dataset will be 8 MB per point cloud. This default setting may result in your point cloud sample appearing sparse due to the limited amount of memory being used for your point cloud data. To increase the memory allocation for your dataset, and therefore density of points, simply left-click on the “select max. memory” button and increase the memory allocation to a larger value using the dropdown menu. A maximum of 768 MB is allowed. When you’re finished making your selections, press “OK.” You will then see your point cloud data load. You can import multiple point cloud files in the same manner with Virtual CRASH 4.

Once your data is imported, left-click on the point cloud object in the left side control panel to reveal its property menus in the left-side control panel. In the display menu, you can set the point size, point spacing, and point density (“max. points”) (see below). By default, the points are imported at the size of 5.  

As with most objects in Virtual CRASH, the point cloud objects can be translated and rotated interactively with the mouse cursor, or by modifying the position-local and rotation-local properties in the left-side control panel.

Virtual CRASH 4 gives one the ability to control the point display size when rendering still frames or animations specifically in Direct Light or Skylight mode. This is controlled in the “render” menu in the left-side control panel (see below).


Selecting volume of point cloud data

Virtual Tutor: Go to help > point cloud > section to learn more about using the point selection tool on point clouds.

To select a specific volume of points, use the selection tool (see below).

Adjust the bounding box (light blue box above) until you enclose the desired points. The bounding box can be resized, translated, and rotated. Next, press “reload.” Virtual CRASH 4 will reload your point cloud data, only displaying the points within the specified volume. Note, Virtual CRASH will not discard the unselected points. You can readjust the selection volume at any time and reload your data again if needed.

As of the Fall 2018 Software Update, if the “Section” tool is used when the original point cloud file has moved or no longer exists at same location on hard drive, Virtual CRASH will now open the file menu for the user to select the original point cloud file from its new location. Note, when using the “Section” tool, the user should go to the misc menu to re-select the preferred maximum memory allocation. When sharing a .vc4 file, users may also want to share the original point cloud file as well, as only displayed points at the time of saving are stored in the .vc4 file.


The Easy Surface Builder tool

Virtual Tutor: Go to help > point cloud > surface to learn more about using the Easy Surface Builder tool.

You can quickly and easily fit a surface mesh to your point cloud data by using the Easy Surface Builder tool. With the point cloud object selected, select “Plane” in the select type pull down menu (see below).

Next, translate and rotate the Easy Surface Builder plane object to the desired location. Adjust the bounding box dimensions using the translation grips to fine tune the volume of points to be used by the Easy Surface Builder (see below). In this example, there were points created because of the power lines which are filtered out by reducing the height of the bounding box.

Right-click on the surface mesh to reveal the Easy Surface Builder tool options. The surface builder partitions up the point cloud data into a grid and samples the local z positions of the points within each grid cell (see below).

The “function” option allows one to choose between the minimum local z, maximum local z, or average z position within each grid cell. A surface mesh vertex is then created at this z position for the given cell location. All such vertices are then connected via the polygon mesh. Using the average option is a great way to deal with fluctuations in point cloud z position along known flat surfaces such as road surfaces. These fluctuations are commonly observed in UAV-based point clouds. The z variation about the road’s flat surface is shown below. Here the average z position is indicated by the surface mesh visualized edge-on.

One can further accommodate fluctuations by using the “smooth” feature.  The “length segs” and “width segs” options allow one to specify the granularity of the sampling space. You can limit the maximum polygon edge size using the “max. edge length” parameter. Holes due to missing data can be filled using the “cap radius” parameter, which controls the search radius for a nearest neighboring point from which to sample height. Colors from the point cloud are sampled to provide a texture map for the mesh surface. The texture map’s level of detail can be tuned using the “texture size” and “texture-cap radius” options. Like “cap radius”, the “texture-cap” radius feature will sample from the nearest neighboring point within the search radius when no data is available for a given grid cell. 

Note, the local z-axis of the Easy Surface Builder can be rotated to any orientation by using the rotation grips (see below). This can be useful for creating meshes for roof structures, walls, and other surfaces. 

When you are satisfied with your settings, simply press the “create” button in the plane menu in the left-side control panel. This will then create a new mesh object.

Note, if the “remove points” option is enabled, all points used to create the surface mesh will be removed from the point cloud. This is useful in cases where you may not want the z variability of the point cloud visible in your final rendering.

As with any wireframe mesh object, simply go to Create > Physics > Make Unyielding / Terrain from Selection to convert your mesh into a terrain object (see below).

You can now simulate vehicles directly on top of the mesh.

The final animation of this accident sequence can be seen below.


Path Animation Tool

Creating an Animation Path

Virtual Tutor: Go to help > animation path > create to learn more about creating animation paths.

You can create path animations with Virtual CRASH 4. This new and exciting feature opens up a new world of possibilities. To access the animation tool, simply go to Create > Animation > Animation Path.

Next, hover your mouse over the vehicle you would like to animate. When the vehicle turns light blue in color, simply apply a single left-click. 

As you move your mouse around the simulation environment, you will notice the linear vehicle path rotate accordingly in response. 

Next, left-click along the path you would like your vehicle to follow. Each left-click will create a control vertex (CV) for the animation spline path (red circle below). Issue a right-click to create the final CV and terminate path creation. After the path is created, you can left-click and drag to adjust the position of each control vertex parallel with the x-y plane. 

You can adjust the z position of a CV by left-clicking on the z icon (red circle below) and dragging your mouse to the desired position. 

The position of the CV is shown on the bottom right (red box below). Note, the blue shaded area under the 3D spline path indicates the height of the path above the x-y plane. 

You can create additional CVs by hovering your mouse over the black lines between CVs. A “+” icon will appear (red circle below). 

Simply left-click on the “+” icon and drag the new CV to the desired position. 

To delete a CV, hover your mouse over the CV and left-click on the “X” icon (red circle below). 

To translate and rotate the animation path, use the translation and rotation grips. These can be accessed by simply entering “Restrict To Plane XY” mode. 

Terrain Follow

When building an animation path on top of a terrain mesh object, Virtual CRASH 4 will automatically set the CV heights to intersect with the terrain mesh polygons. When you adjust a CV’s position, its height will be resampled automatically. This helps to construct a more realistic animation, where your vehicle will better follow your terrain using a 3D spline path. The z position icons can be used to fine-tune the CV positions; however, moving the x-y position of the CVs will then cause height resampling. 

Setting Vehicle Orientation

Virtual Tutor: Go to help > animation path > interpositions to learn more about setting animated object orientations.

The orientation of the vehicle can be set any arbitrary point along the animation path. To set the vehicle orientation, simply left-click on the “interpositions” selection option (see below).

Next, hover your mouse over the animation path at the position you wish to input a new orientation. Left-click and hold on either the x (roll axis), y (pitch axis), or z (yaw axis) and drag your mouse to rotate the vehicle about one of those axes. As you move your mouse, you can read off the orientation data in the bottom left (blue box below). Pressing the “X” icon will remove this entry. You can also access and modify the interposition data in the “interpositions” menu in the left side control panel (red box below).  

You can add as many interpositions as needed. Virtual CRASH 4 will interpolate the orientation data between interpositions for a smoothly changing animation. 

An interposition’s location can be modified interactively by left-clicking and dragging the translation grip (red circle below) or by entering in the left-side control panel the distance along the path at which the interposition is to be placed (red box below).

By default, a vehicle’s yaw orientation will automatically adjust to match the direction of the animation path curve. This option can be disabled by deselecting the “follow path” in the interpositions menu. This feature can be set independently for each interposition entry. In the figure below, the blue vehicle has the follow path option enabled, and the red vehicle has the option disabled. 

Virtual Tutor: Go to help > animation path > follow path to learn more about the follow path interpositions option.

Modifying the Path Attributes

By default, the animation path uses a smooth spline cv curve (see below). This can be adjusted in the animation path’s “misc” menu. 

Using the type drop down menu, the animation path can be forced through the CVs (see below). Note, increasing the “steps” value increases the smoothness of the spline path.

Deselecting “smooth” will disable spline fitting, forcing the vehicle to follow the underlying polyshape.

Animation Sequences in Backward Time

Virtual Tutor: Go to help > animation path > sequences to learn more about using animation path sequences.

Much like the kinematics tool, when an animation path is created, a default set of sequences is used as a template. These sequences are easily deleted or modified. The sequences for the animation tool by default are evaluated in “backward time”, therefore in the default templated sequences, the vehicle is first assumed to decelerate over a distance of 16.404 ft at a deceleration rate of 25.919 ft/s2. This implies an entry speed of 19.882 mph going into this final deceleration sequence. Going backward, the next entry is of type “speed change”, which is an instantaneous speed change that is useful to animating collision events. The speed change here is -3.107 mph. This implies an entry speed of 22.989 mph (3.107 mph + 19.882 mph) going into the speed change sequence. This backward evaluation continues on until the first sequence type “reaction” which has a duration of 0.8 seconds. The implied initial speed of the full animation sequence based on this backward-time evaluation is 32.161 mph. Virtual CRASH 4 gives a unique way of viewing the sequence types used as well as the animated speeds via the speed graph which is plotted on top of the animation path. The speed values are shown at each position where the transition occurs from one sequence entry to the next (red boxes below). The graph is shaded yellow for uniform motion, red for deceleration, and green for acceleration.     

The sequence entries can also be visualized within the simulation environment by left-clicking on the sequences selection option.  

New sequence entries can be placed on the animation path simply by pressing the “add sequence” button. Use the “type” dropdown menu to select which sequence type is to be used. Note, as you change any of the input parameters to the various sequences, your animation results update in real time. 

Synchronizing Animation Paths

Virtual Tutor: Go to help > animation path > collision to learn more about how to set up an animated two-vehicle collision sequence.

Below two vehicle animation paths have been created in order to animate a t-bone collision. Each animation path has a “zero” entry which is as a reference point to synchronize animation paths. To adjust these points, simply left-click and drag on the “0” icon (red circle below). 

Adjust both icons to ensure the vehicles intersected at the proper location. Notice, this will modify the “distance offset” (Virtual Tutor: see help > animation path > distance offset) parameter for each animation path. Using the “t0” icon lets you adjust the “time offset” parameter.

Left-click on the t0 icon and drag your mouse right to input a time offset for your vehicle’s animation path. This is very useful to help synchronize complex interactions between multiple objects. Note, as you drag your mouse right, you’ll see the relative positioning of your animated objects update in real time, helping the fine-tuning process. Using the t0 offset feature on the red pickup helped simplify making the three vehicle collision animation sequence shown below to be made. 

Virtual Tutor: Go to help > animation path > time offset to learn more about adjusting the time offset parameter in animation paths.

Animation Sequences in Forward Time

You also have the option to evaluate sequences in “forward-time”. This is analogous to the process of working with Virtual CRASH simulations, in which driver inputs are defined in a time-forward manner. Below, we’ve removed all prior defined sequences and used the “evaluate” drop down menu to select “forward”. 

To give our car an initial speed, we can simply use the “speed change” sequence type to instantly give the car a speed of 25 mph (see below).

We next define a uniform speed sequence in order to have our car drive at a constant speed over a fixed distance or time interval (specified by the “use” dropdown menu). Note, in the figure below, the speed in and the speed out of the yellow shaded uniform motion segment is 25 mph. 

We can continue adding as many new sequence segments as needed. Here, after the initial uniform speed segment, our vehicle then accelerates at 5 ft/s2 over a distance of 50 feet, thereby increasing the speed at the end of the acceleration sequence segment to 29.282 mph. The car then decelerates for 72.29 feet and then resumes traveling at a constant speed of 22.395 mph. Of course, animated impacts can be created in forward-time evaluation in the same manner as in backward-time. 

Rigid Body Properties

Virtual Tutor: Go to help > animation path > interact with physics to learn more about rigid body interactions with animated objects.

Animated objects keep their rigid body properties. This means it is possible to simultaneously animate vehicle motion (not using the vehicle dynamics engine) while simulating impacts with rigid body objects such as vehicles or multibodies. This is a great option in cases of very large mass differences between interacting objects; however, keep in mind, because an animated vehicle is constrained to follow the exact path selected with the exact speeds determined by the animation sequences inputs, Newton’s 3rd Law will not be enforced on the animated vehicle. 

You can also attach trailers to animated objects (see below). The trailer will be subjected to simulated trailer coupling forces even though the car is being animated. 

Below we see the rope tool being used to pull another car using the physics engine. Again, the blue car is animated.

Suspension Effects

Virtual Tutor: Go to help > animation path > spring effect to learn more about adjusting animated vehicle suspension effects. 

The path animation tool works by coupling the vehicle model to the path animation node (the blue dot observed on the animation path) using a damped spring joint. This path animation node acts much like catapult, forcing the vehicle to follow the desired path. This spring coupling gives the freedom needed to allow the vehicle to pitch and roll in response to lateral and longitudinal accelerations as the vehicle travels the animation path. Suspension effects, that is pitch and roll, can be enabled by using the “spring effect” slider in the sequences menu, which can be tuned from 0% to 100% (default setting is 100%). At 0%, the vehicle will not change pitch or roll angle in response to lateral or longitudinal accelerations. Note, even when spring effect is set to 0%, the wheels will continue jounce and rebound in response to the terrain. Also note, with spring effect set to 0%, the vehicle will exactly follow acceleration progression indicated by the sequences inputs of the path animation tool, including abrupt step-wise transitions from one acceleration sequence input to the next; however, if set greater than 0%, the spring coupling between the vehicle and animation node will effectively cause smooth (not perfectly step-wise) acceleration transitions over a few hundred milliseconds time interval as the vehicle transitions from one acceleration sequence input to the next. As always, use the diagram tool or report dynamics output to ensure the desired vehicle behavior (speed, position, and orientation versus time) is within an acceptable tolerance for your use case. 

The vehicle suspension properties can be further modified as usual by going to the vehicle’s axles menu.

Animate to Simulation

Virtual Tutor: Go to help > animation path > mixed with physics to learn more about starting simulated motion at the end of the animation path.

Finally, you have the option to begin a simulation at the end of an animation path, where the simulation’s initial conditions are set according to the animation path’s final dynamical values. This opens up a whole new way of using Virtual CRASH. Below we see an animated rollover sequence. Setting the final sequence entry to “off”, the simulation sequence (in the red box below) starts where the animation leaves off. Here we see the car’s simulated rolling motion as a natural continuation of the animated path.  

In the example below, the two vehicles are animated along their pre-impact trajectories. The animation path ends and simulation beings for both vehicles just prior to impact (in red box below). The two vehicles then collide. This feature is a great way to animate vehicles following complex pre-impact paths, yet maintain the accuracy and realism of Virtual CRASH simulated impacts and post-impact motion.

Wheel Control on Animated Paths

Although an animated vehicle’s orientation and positions are determined by choice of animation path inputs, the wheels of animated vehicles can be controlled to steer or rotate by using the familiar simulation input controls such as the fast control icons. For example, in the figure below, the vehicle is following an animated left-turn path. The vehicle’s steering fast control icon is used to enter a steering angle prior to the left-turn. The timing of the steering input can be controlled in the exact manner as in simulations; however, the steering angles themselves have no effect on the animated motion of the vehicle as that is determined completely by the animation path properties. Adjusting the steering angle in this way can enhance the realism of an animation. 

Braking and acceleration controls can also be used (again, with no actual dynamic effect) on an animated vehicle. This can be useful for modifying wheel rotation rates or creating tire marks on the terrain (see below).

Virtual Tutor: Go to help > animation path > tracks to learn more creating tire marks in animated paths.


Google Earth Import Tool

Virtual Tutor: Go to help > google maps > insert to learn more about using the Google Earth import tool. 

With Virtual CRASH 4, you can now import Google Earth aerial photos with terrain elevation data directly from the Virtual CRASH user interface. In order to access Google’s terrain elevation data, you will first need a Google API key. It is highly recommended for users to obtain the needed API key before using the Google Earth feature. 

Google API Key

To access the Google Earth import tool, simply left-click on Create > Google > Google Maps. 

If you do not already have a Google API key set up, you will see the Google Settings prompt appear (see below). 

In order to use the Google Earth tool, you will need an application programming interface key (“API key”) from Google. If you do not already have a Google API key set up, please carefully follow the steps in our Blog post:


In some instances, depending on your version of Microsoft Internet Explorer or Edge browser, you may see the warning at the top of the Google Earth display window (see below) “You are using a browser that is not supported by the Google Maps JavaScript API. Consider changing your browser.” Virtual CRASH uses the Microsoft web browsers simply for the interactive Google Earth image display. This message is not related to Virtual CRASH functionality, but is simply a notice to users of Microsoft web browsers. 

Should you see this warning, simply left-click on “Dismiss” and continue with the image import process described below.

Note, if this warning is visible in the Google Earth image preview window, failing to press “Dismiss” will cause the warning to also appear in the imported image if the region selection option is not used.

Google Earth Interface

Using the Google Earth interface, enter the address of the location you wish to download. 

Using the “Map Type” dropdown menu, one can select from roadmap, satellite, hybrid (satellite with road labels), or terrain map image options.

By default, Virtual CRASH 4 will download the image shown within the display window; however, using the “Region” option allows one to specify the specific region of interest using a box selection tool. Simply left-click on “Region” and then left-click on the box control grips to adjust the selection area (Virtual Tutor: Go to help > google maps > region). Virtual CRASH 4 will partition the selected area into a grid and download and mosaic the needed images from Google using the highest quality images possible. You will likely need experiment to understand the tradeoff between image resolution quality and selection area size given hardware limitations on displaying large amounts of high resolution images simultaneously.

Terrain elevation data may be used by left-clicking on the “Elevation” dropdown menu (Virtual Tutor: Go to help > google maps > elevation). The selected area will be partitioned into a grid of either 50 x 50 cells, 100 x 100 cells, or 150 x 150 cells, depending on which option is selected. Google’s terrain elevation data will then be used to set the point height for each cell. Virtual CRASH 4 will then construct a 3D wireframe mesh based on this grid. 

Once you are satisfied with your options, left-click on the save button (disk icon) and Virtual CRASH 4 will download and then display your data automatically.

Once saved, you will see the folder of image files and terrain mesh object in the project menu. Either can be hidden or frozen as needed. Note, as with any mesh object, you will need to select Create > Physics > Make Unyielding/Terrain from Selection to convert the Google Earth terrain mesh into a terrain object (in the image below, the mesh is labeled “google map002”) if you intend your vehicles to drive on top of it. The process of converting the Google mesh into a terrain object is shown in the video below.

The resulting terrain is shown below.

Opening the images folder, we see individual image files for each tile in the mosaic. Like any image imported into Virtual CRASH, these can be hidden, translated, or rotated. Below, two of the images in the mosaic are hidden, as well as the terrain mesh. 

As with any mesh object in Virtual CRASH, the vertices and polygon faces can be modified as needed. In the case of the resulting terrain mesh, one may wish to make adjustments to the individual road vertices.  

An example simulation using this scene can be found below:

Note: Google Maps Elevation data measurements are based on a variety of sources, including space based instruments, and are known to have large differences with respect to direct ground instrument measurements, which can easily exceed a few feet. Care must be taken when using Google Maps Elevation data, especially when using the resulting terrain surface for vehicle simulations. For the most accurate simulation results, it is highly recommended to use direct scene measurements (total station, laser scanner, or drone based) to build 3D simulation terrains for your accident scene, and overlay or substitute the resulting terrain mesh from your direct measurement on top of the Google Earth based mesh. Additionally, while it is well know that aerial imagery from Google Maps generally provides reasonably accurate representations of various scenes, it is highly recommended that the accuracy of Google Maps aerial imagery products be verified using direct scene measurements as well. We do not, nor cannot, guarantee the accuracy of Google Maps products, as these products are based on Google’s proprietary data and methods. To learn more, visit: We remind all users of Virtual CRASH brand products that in using Google Maps products, you are subject to Google Map API’s terms of service, which can be found here:


Total Station Data

Importing Data

Virtual Tutor: Go to help > point array > import to learn more about importing total station data.

Importing Total Station data has been significantly improved in Virtual CRASH 4. You can import pts files as described in Chapter 16. As of the Fall 2018 Software Update, you can also import csv (comma separated files) and txt files (see below).

Simply drag and drop your file into the workspace, or use Project > Import. Once opened, you will be prompted to enter information about your data (see below).

You can also import Total Station data stored in DXF format. Just drag and drop, and use the dropdown menu to specify point data (see below). 

Once imported, you will see a single “point array” object in your project menu. This object contains all of your total station data. Go to the “points” menu in the left-side control panel to review the point list. You can specify point number, label, and position. You can also hide individual points. 

You can also create new points and add them to your point array by using the “create” button in the “points” menu (Virtual Tutor: Go to help > point array > create point).


Total Station Surface Builder

Virtual Tutor: Go to help > point array > triangulate to learn more about creating surfaces from total station data.

Once your points are imported, you can create a connected triangular mesh to be used as a terrain mesh object simply by going to the “triangulate” menu in the left side control panel, and enabling “triangulate” (see below). Note, in this example, “receive projection” is enabled, which texture maps the surface using the Google Earth image below. “add corners” is also enabled to create a completely filled rectangular surface by placing surface points at ground level far from the original point array set. This is useful for point sets which are sparse which can result in gaps in the resulting mesh. 

Note in the example above, point 3 should not have been used in the surface building process, as that point is from shooting a light pole high in z. This point can be separated into a new point array object simply by left-clicking the point name in the point list, then pressing the “detach” button (see below). Multiple points can be selected at once and all moved into a new point array in the same manner (Virtual Tutor: Go to help > point array > detach).

With point 3 detached, the surface building process correctly excludes that point.

Point arrays can be merged by pressing the “attach” button in the “points” menu. Then left-click on the point array you would like to merge with (Virtual Tutor: Go to help > point array > attach).

As with any 3D object, the point array can then be made into a terrain surface by left-clicking on Physics > Make Unyielding / Terrain From Selection. 

The point array can also be made into a mesh object by left-clicking on “to mesh” in the “tools” menu. Once this option is used, the point array will lose its special point list functions, and the point array will be converted into a simple mesh. This can be useful to modify properties of the surface polygon faces for example. 

You can force a new polygon edge to be created between two points within a point array simply by pressing the “connect” button in the “points” menu, left-clicking on the first point and left-clicking on the second point (Virtual Tutor: Go to help > point array > triangulate). 

Once the second point is selected, you will see a new edge created (see below). You can continue left-clicking on other points to connect them, or right-click to terminate the connect feature.  

You can also force your total station surface to intersect with variable height contour polyline paths and shapes to help build complex surfaces. The polylines can either be set to have uniform height, or you can specify the height along the polyline path. In the example below, a simple line segment is drawn. The feature is enabled by simply left-clicking on “pick node” then left-clicking on the line object. The surface mesh is then forced to intersect with the polyline whose height is fixed to 7.229 feet (Virtual Tutor: Go to help > point array > paths).

You can see an example simulation using this environment below. 


The Smart HUD

The Smart Heads Up Display (HUD) is a great way to display vehicle data and time on your final animation file. This feature was shown in the video above. Each vehicle can have its own HUD object. To create a HUD object, simply go to Create > Helpers 2D > On-Screen Dynamics Info and left-click.

Once selected, hover over the vehicle for which you wish to enable the Smart HUD feature. Left-click on the vehicle when it turns light blue. You will then see the Smart HUD box display near your vehicle. The Smart HUD object has an entry in the project menu. In the “misc” menu, you will find the Smart HUD attributes which can be modified. You can customize the entries in the “text” field to display time (“{t}”), speed (“{v}”), and path length traveled (“{s}”). The brackets “{“ and “}” are necessary to display the numeric values. 

All other text displayed in the text field can be modified as needed. In the example below, the path length data was deleted, and more descriptive text was added. The Smart HUD fill color and text attributes can also be modified as shown below. The Smart HUD box can either be stationary, or dynamic to follow its parent vehicle. The follow feature can be enabled by selecting the “follow target” box. 

An animation time box can be created by simply creating a second Smart HUD object for any vehicle within your scene. Simply delete all of other data in the “text” field by the Time entry. Then just park the Smart HUD box where you would like it to remain in your animation. 

As of the Fall 2018 Software Update, users can control the number of decimal places to display in the “Dynamics info” and “On-screen dynamics info” tools. To change the number of decimal places, use the “:N” after the variable name. For example, to show vehicle speed to 2 decimal places, use {v:2}. Note, you can change the displayed variable name before the numerical value as well. For example, the default “v” can be rewritten to “Speed”.

© 2016 vCRASH, Americas, Inc. All Rights Reserved