Blog | Practice with Path Animations | Part 2
In our Part 1 of our Practice with Animations, we reviewed working with backward time evaluation. It is strongly recommended to review this Blog post before continuing.
In this post, we’re going to review working in forward time. Our objective in this exercise is to set up a t-bone crash using forward time evaluation.
Unlike backward time evaluation which mathematically evaluates sequence entries in reverse order (like the kinematics tool), forward time is analogous to the process one goes through to create simulations, where one specifies sequence entries which are mathematically evaluated forward. One can even use the “off” sequence type as the final entry in forward evaluation, and have simulated motion begin at the end of an animation path.
To start, download the file found at this link. We’re going to animate the staged collision RICSAC 2. The Blog post reviews simulating RICSAC 2.
Open the vc4 file. You should see the following:
Let’s start with Vehicle 1. Left-click on Create > Animation > Animation Path to select the path animation tool, then left-click on the brown vehicle.
This will automatically attach the vehicle to an animation path. Right-click to end the path. You can also continue left-clicking to add control vertices to your path. We’re going to add control vertices next.
As mentioned in Part 1, when an animation path is first created, Virtual CRASH gives you a default animation template to start with, assuming backward time evaluation. We’re going to modify all the default settings. Let’s start by changing the evaluation type to forward.
Next, set the distance offset value to 0 ft. Remember, the distance offset is the distance from the first control vertex and the “zero” sequence entry. If you do not have a “zero” sequence entry, then the distance offset is the distance between the path’s first control vertex and the point where the first sequence entry will begin (note, this can be positive or negative). Highlight all the sequences and left-click on “remove sequence” to delete the default sequences.
Switch to the top-down ortho view mode. Move the first control vertex to the start position of your animation path. More the final control vertex to the point of rest. Insert additional control vertices by hovering your mouse over the animation path, left-click on the “+” icon to create a new control vertex, hold the left-mouse button and drag the control vertex to the desired location. You can create abrupt changes in curvature by creating two neighboring control vertices in close proximity.
Set the spring effect parameter to 0%.
Next, add a speed change sequence type. Set the velocity to 31.5 mph. The speed change sequence type abruptly changes the animated object’s speed by the specified velocity value. Note this speed change can be positive or negative. You should now see the vehicle moving along the animation path.
Next, add a “uniform” sequence entry. The initial “speed change” sequence entry instantly starts the car at the desired speed, while the uniform sequence entry indicates that it is to travel at that speed for a specified distance (use:distance) or time duration (use:time). Here we’ll use the distance option. Increase the distance value as needed so that the uniform sequence segment extends from the first control vertex to the area of impact. This will be fine-tuned later.
Now insert a second speed change sequence entry. We want to abruptly decrease the car’s speed due to impact. Since the pre-impact speed is 31.5 mph and the post-impact speed is 14.4 mph, the speed-change sequence velocity (change-in-ground-speed) needs to be -17.1 mph.
Next add a “deceleration” sequence entry. Set brake lag to 0 seconds. Here we just want to make our car decelerate uniformly to rest. Increase the “distance” input parameter until the deceleration sequence segment length overshoots the desired point of rest. Next, increase the “acceleration” input parameter until the red deceleration graph indicates the vehicle will come to rest at the desired location. If the distance value is too small, then the car will not decelerate enough to bring it to rest, and you’ll see the car continue moving along the animation path after reaching the end of the deceleration sequence segment.
Next, follow the same procedure for vehicle 2. Note, the speed change for vehicle 2 is -8 mph. You may find it easier to hide vehicle 1 and its animation path first.
Now we need to modify vehicle 2’s orientation as it moves along its post-impact trajectory. Expand the interpositions menu in the left side control panel. Left-click on “add interpositions” to insert an initial interposition on your animation path. Note, this automatically sets the yaw, pitch, and roll values to 0 degrees.
Add another interposition. Left-click and hold on the yellow dot, and drag your mouse forward along the animation path, and set the interposition near the area of impact. You can also set the interposition’s distance from the start of the animation path by hand using the “distance” input value. At this position, yaw, pitch, and roll values are again set to 0 degrees.
Chose the interposition selection type, then hover your mouse over the animation path. You should now see “X”, “Y”, and “Z” icons. Left-click on the “Z” icon, hold, and drag. Notice the car’s yaw angle changes and a new interposition is automatically entered into the interpositions menu. This is an alternative way of inputting interpositions without using the “add interposition” button. Left-click on the yellow dot to position the interposition or use the “distance” input in the left-side control panel. Here, we’re simply inputting an interposition just after impact so we can fine-tune the post-impact heading before the vehicle 2 slides to rest.
Finally, enter the fourth interposition at the end of the animation path. Rotate the yaw angle to match up to the rest orientation indicated by the diagram.
Selecting interpositions 2, 3, and 4, disable the “follow path” option, in order to improve the interpolation of vehicle 2’s post-impact yaw angle between interpositions. Recall, the follow path feature will automatically determine a vehicle’s yaw angle according to the curvature of the animation path, which one typically wants enabled during normal driving motion.
Here, we switch back to object selection type in order to insert a few more control vertices into our animation path to better match the implied trajectory from the forensic evidence. We also fine-tuned the distance of the uniform motion segment so that it terminates closer to the cg position at the moment of impact. Because the uniform motion sequence segment is the first segment in the animation path, one can also simply adjust the position of the first control vertex to bring it closer to the point of impact.
Note, since interposition angles are defined with respect to the animation path, as more control vertices are added to change the shape of the animation path spline curve, you’ll need to update the interposition angles.
Now, unhide vehicle 1, and review the overall behavior. Here we see the uniform sequence segment for vehicle 1 needs some adjustment. We’d like the position of vehicle 1 at the moment of impact to be adjusted such that its volume is penetrating the volume of vehicle 2. Note, because vehicle 1’s deceleration segment begins after the uniform segment, adjusting the uniform segment’s length will imply we need to adjust the deceleration segment length acceleration value in order to ensure that vehicle 1 comes to rest at the proper position.
Now we see that vehicle 1 arrives at the area of impact before vehicle 2.
The easiest way to correct this is to simply insert a time delay into vehicle 1’s motion. First, adjust the time slider to place vehicle 2 at the moment of impact, then left-click on vehicle 1’s animation path and go to the sequences menu. Using the “time offset” slider, user your mouse’s scroll wheel to adjust the time slider to delay the arrival of vehicle 1. As you increase the time, you should see real-time updates to the animation at the selected time, showing how vehicle 1’s position changes with respect to vehicle 2 at that instant. Continue adjusting the time offset until you’re satisfied with the synchronization.
In the video below, we fine-tune the animation path and orientations of our vehicles.
Using the EES tool, we’ll impart crush damage to our vehicles. This is demonstrated in the below video:
Finally, we make some small adjustments to the roll angle of vehicle 2 and the pitch angle of vehicle 1 to increase the overall realism of our animation.
Remember, as explained in Part 1, you can further enhance the realism of your animation by increasing the spring effect above 0%; however keep in mind that doing so will cause your vehicles to change speeds gradually over a few hundred milliseconds rather than abruptly when the speed change sequence entries are executed. This is illustrated in the next two figures comparing the Pinto’s velocity versus time without (top) and with (bottom) spring effect enabled.
Below we see the final animation.
When to use the zero sequence type
As we worked through this animation, you may have noticed as you adjusted the uniform sequence entry, you had to also readjust the deceleration entries as well, since the distance input values for the sequences are all measured starting from the end of the prior sequence entry to the end of the new sequence entry. One way to speed up the fine-tuning process is to use a zero sequence entry near the point of impact. When an animation path has a zero sequence entry, the distance offset value will the distance between the first control vertex and the position of the zero sequence position. Additionally, distances for sequences before the zero point are measured backward along the animation path. Sequences after the zero point are measured forward along the animation path. This allows you to adjust pre-impact distances will out altering the post-impact segments, and vice versa. The figure below illustrates how it works.