Vortex Human

Vortex Human allows you to add human characters in Vortex Studio scenes.

The human character can be controlled through a control extension or through a custom extension or script. Vortex Human is based on a subset of the DI-Guy SDK, which provides a way to create scenarios with characters that can be manually controlled or controlled with a Python script. Available human characters, appearances and actions are defined by the Vortex Human Library. Avatars can interact with the environment through a dynamics extension. Activating the appropriate extension adds additional functionality to the Human module.

Note To use Vortex Human, you must install the Vortex Human Library when running the setup.

The Vortex Studio Editor and Player are already set up to use the Vortex Human Module. If you need it in your simulator, you will need to add it to your application setup, to the master node for dynamics and all the graphics nodes for visualization.

The human avatar has collision geometries. The sphere represents 20% of the mass of the human which can be configured in the dynamics extension along with the material properties of the human avatar's feet.

A human is an object that can be added to a mechanism or a scene. Once a human is created in the Editor, the Explorer view will contain the Human object, which is the definition of your avatars, with four extensions inside. The extensions are the Human Control, Human Dynamics, and Human Graphics, with a connection container Human Connections to transmit motion (from control to the dynamics and to the root).

Creating a controllable human adds four additional properties with assigned parameters.

  • Joystick: The joystick is connected to the human to be controlled.
  • Listener: The listener is assigned to listen to sounds coming from the vicinity of the human.
  • Perspective: The perspective is the camera view which is positioned close to the human head to imitate what the human will see.
  • Role: A role is assigned to the human which contains the joystick, listener, and perspective extensions.

Creating Human Avatars

You can create human avatars in your simulations to provide additional realism to the simulations.

To create a human avatar:

  1. In the Toolbox, select Human, then drag a Human or Controllable Human into your mechanism or scene. A controllable human has a joystick, a perspective, a listener, and a role configured by default.

  2. In the human object, you can click the different object attributes to configure the avatar.

The avatar can be configured in the Properties view. In the Explorer view, click the Human, Human Control, Human Dynamics, or Human Graphics properties; then in the Properties view, adjust the parameters.

Controlling a Human

Human avatars can be controlled using the Human Control extension inputs. Controllable avatars can be controlled with an input device like a game controller. The motion is driven by the control, which feeds the dynamics back to the human object. Human Connections set up connections from Human Control to Human Dynamics, then to Human.

Controlling the human, either by script or controlled with a device such as a joystick, is done in the Connection Editor. A controllable human is already set up with the Human Connections, by connecting the Joystick to Human Control and Listener/Perspective from Human.

Human Object

The Human object is the main object of the Vortex Human. When added to a scene or a mechanism, it creates an avatar that can be manipulated. The Human definition object applies the desired human graphic to be displayed, head motion and action to the human. It is an IMobile and exposes the Local, parent and world transform properties.

Head Control allows you to control the head of the avatar. When set, the head elevation and azimuth are used to control the head movements. When not set, the elevation and azimuth inputs are ignored and the head stays horizontally stable. The motion is driven by the dynamics (which is driven by the control).

Gesture allows the human to do a gesture while performing its current action. The gesture happens once.

The Parameter Type specifies the avatar to be displayed. The human character appearance can be changed based on the Vortex Human Data. The human character appearance can be changed using a drop-down list. When a Type is set, the default appearance is used. The Appearance property specifies the character type attribute. For a given Type, a list of appearances are available to modify the appearance of the human.

The appearance property specifies the character type attribute. For a given type, a list of appearances is available which will change the look of the human. The type is based on the DI-Guy database implementation.

Also based on the type, the Head Appearance can be changed, and Hand Item can be set as well. It receives its motion from the Human Dynamics, and then the DI-Guy SDK will animate the avatar. The output transform is updated according to the given motion.

Human Control Extension

The Human Control extension controls how the human avatar in the simulation moves. The Human Control extension defines and applies the desired motion, head motion, and actions to the character.

The inputs Head Elevation Speed Ratio and Head Azimuth Speed Ratio allow control of the head. The initial Elevation and Azimuth are set as parameters and the actual speed is the value of the ratio applied on the matching Maximum Head Speeds properties.

The body motion is driven by the three Body Speeds. The speeds are determined by applying the ratio on the matching Maximum Body Speeds. The three speeds will affect the transform of the avatar and will be transmitted to the Human Dynamics extension.

Depending on the speed ratios, the following action will be selected:

  • When Body Move Speed Ratio, Body Strafe Speed Ratio and Body Rotate Speed Ratio are 0, the Desired Human Action will be played. If empty, the Wait Action will be selected.
  • When Body Move Speed Ratio is positive, the Walk Action will be selected unless the Run box is selected, in which case the Run Action will be selected.
  • When Body Move Speed Ratio is negative, the Walk Back Action will be selected.
  • When Body Move Speed Ratio is 0 and Body Strafe Speed Ratio is not 0, the Strafe Left Action will be selected when the value is negative, otherwise the Strafe Right Action will be selected.
  • When Body Move Speed Ratio and Body Strafe Speed Ratio are 0, and Body Rotate Speed Ratio is not 0, the Turn Left Action will be selected when the value is negative, otherwise the Turn Right Action will be selected.

Action represents the desired action to be applied on the human. An action is specific to the type of avatar. The velocity of the action is directly linked with the velocity value.

Human Graphics Extension

The Human Graphics extension is responsible for displaying the character in Vortex Studio. When added, the Vortex Human will be visible. If no graphics extension is available, the Vortex Human will only be virtual, with no graphical representation. The graphics extension has the parameters for the Cast Shadow and Receive Shadow options.

Human Dynamics Extension

The Human Dynamics extension is required to add physics to the Vortex Human, and the ability to interact within the scene.

The dynamics extension provides the human the capability of falling with gravity, the capability to follow a terrain, to stop when hitting an obstacle, and to detect contact with other Vortex Studio objects. It takes a motion as input, usually coming from the Human Control extension, and computes the motion to be applied to a realistic physical object within the simulation. The dynamics extension allows you to input the mass of the human and the material property of the human avatar's feet. The material property of the human feet is based on the material table used in the simulation (see Materials).

The human is composed of two collision geometries, a capsule for the body and a sphere for the feet, and constraints to keep the human upright. Depending on the action, the body capsule shape will change. If the body capsule touches another object, the Contact Detected output will appear selected.

Available Avatars

The Vortex Studio Human Library provides eight types of characters:

  • Anchor deck worker: A worker on a boat. Contrary to other avatars, this avatar's hand items are available through the Appearance parameter. It provides the actions of a crane signaler.
  • Construction worker (default selection): Generic construction worker. Has several Hand Items and matching actions to give life to your construction set simulation. Its Appearance can be changed to look like a crane signaler, but does not have the full action set of a crane signaler.
  • Child pedestrian (shown as cped_07): Comes with some different appearances.
  • Crane Signaler: A crane signaler. Comes with a set of actions to simulate the signals this worker can do.
  • Explosive ordinance disposal worker (shown as eod)
  • Female pedestrian (shown as fped_07): Comes with some different appearances.
  • Male pedestrian (shown as mped_07) Comes with a variety of appearances such as casual, business, firefighter, EMT, Air Force.
  • Police officer (shown as police_09): Has several appearance such as security guard, navy officer and secret agent, and hand items such as gun, pepper spray and taser.