Using Immersion Studio

Overview of Immersion Studio

Connect a TouchSense Device

Specify the Output Device to Use

Create a Project

Add an Effect to a Project

Modify and Test an Effect

Test an Effect on a Button

Linking Effects to your Application (Sample)

Customizing Effects in a Retail Game


Overview of Immersion Studio

The challenge of programming for force feedback is not the act of coding, it is the act of designing touch sensations that appropriately match your gaming events and environments. Designing touch sensations requires a creative and interactive process where parameters are defined, experienced, and modified until the sensations are just right.

To let software developers best take advantage of the new creative medium of feel, Immersion Corporation has produced and interactive and intuitive environment for feel sensation design. Immersion Studio is a fully animated graphical environment for rapidly adjusting physical parameters, feeling sensations, and then saving them as "touch resources" which can be automatically loaded and executed by your application through IFC. Programmers craft tactile sensations by stretching springs, manipulating surfaces, placing liquids, and adjusting other intuitive physical metaphors that represent each associated tactile phenomenon.

Immersion Studio supports all consumer TouchSense products, from tactile feedback mice to force feedback joysticks, wheels, and game-pads. If you have multiple devices attached to your system, Immersion Studio can switch back and forth, allowing you to feel your effects on every device.

Figure 1. Immersion Studio

Immersion Studio allows you to edit TouchSense effects. Here it shows three windows: the top left is the effect Template window, it contains all template effects supported by Immersion Studio; the left bottom is the Buttons window, which allows you to assign an effect to a button; at the right is the Project window, which that contains the document being edited.

Immersion Studio is fully compatible with all Immersion TouchSense force feedback products. Another important feature of Immersion Studio is that it empowers end users with the ability to edit the "feel resource" using the same intuitive animated graphical controls used by the game designer. In other words, Immersion Studio allows game players to tweak the feel of their games from home. Imagine adjusting the pop of you laser gun, the rumble of your V8 engine, or the swish of your tennis racquet. It is almost as fun to edit the feel using Immersion Studio as it is to play the actual game. This can only be done if the game developer uses Immersion Studio to produce the force feedback effects .

Features and Benefits

· Intuitive Graphical Metaphors: Adjust force feedback parameters using easy-to-understand, editable, pictorial controls. See a waveform, feel a waveform . See a spring, feel a spring . See water, feel water .

· Fully Interactive and Animated: Adjust parameters by simply dragging the pictorial control points, adjusting sliders and dials, or typing in numbers directly. Feel the resulting sensations in real-time as you manipulate controls.

· Fully Customizable Sensations and Numerous Preset Examples: Create your own custom sensations or use one of the many predefined effects (e.g., Lasers, Cannons, Mud, Slippery Ice). You can save, copy, modify, or combine them to create a library of your favorite touch sensations.

· Seamless Integration with IFC: Immersion Studio saves your sensations as Immersion Foundation Classes (IFC) resources and provides a Dynamic Link Library (DLL) that automatically loads the resource, instantiates and fills all the necessary IFC structures, and executes your specified effects in your application.

· Simplifies Programming: Immersion Studio handles all of the complex and tedious bookkeeping – you never have to acquire or enumerate devices, track coordinate frames, or set axis masks. Immersion Studio takes care of all that for you!

· Easily Modify Effects from your Applications: Parameters for existing Immersion Studio effects can be easily altered directly from your application with the provided effect structure pointers. For example, changing the direction of your cool, Studio-generated Vector Force effect from North to East is as simple as a ChangeDirection call to IFC.

· Combines the Audio and Haptic Worlds: Immersion Studio allows you to play sound effects in concert with force effects to produce a more accurate sensation of how the effect will be felt in a game or application.

· Develop Efficiently for Different Environments: Immersion Studio allows you to choose among several device editing modes (tactile feedback mouse, full force feedback mouse, or DirectX). Immersion Studio will adapt its user interface based on the chosen mode. Joysticks, for example, usually have more buttons and that is reflected in the DirectX editing mode. Immersion Studio also supports multiple TouchSense devices attached to your system, allowing you to choose which one you want forces to go to.


Connect a TouchSense Device

Connecting a TouchSense Device

To experience an effect you must have a force feedback device with built-in Immersion TouchSense support and it must be installed correctly on your system. If Immersion Studio detects such a device on startup, it will display the name of the device in the status bar at the bottom of the window. If no such device is found, the status bar will display the message "Device: None found."

If you have a TouchSense force feedback device connected and Immersion Studio fails to detect the device, make sure that the device and its Immersion TouchSense drivers are properly installed. Consult your device’s owner’s manual or troubleshooting guide or contact your hardware manufacturer for technical support.

If Immersion Studio detects your device but you are not getting force output when an effect is started, make sure Forces On is checked. Your device may also have an activation sensor that must be gripped to enable force output. If you still get no force output, consult your device’s owner’s manual or troubleshooting guide or contact your hardware manufacturer for technical support.


Specify the Device to Use

Immersion Studio supports many different kinds of TouchSense devices. Depending on the devices attached to your computer, Immersion Studio may operate in three different editing modes:

· Tactile Feedback Mouse (vertical force)

· Full Force Feedback Mouse (horizontal force)

· DirectX Device ( joystick, wheel, gamepad, etc.)

A list of available TouchSense products and their corresponding type can be found on the web.

You may switch from one mode to another dynamically using the Select TouchSense Device dialog:

Select TouchSense Device... under the File menu brings this up. You normally would choose the proper editing mode based on the type of device attached to your computer.

Some output devices may not be able to produce certain force effects. Therefore, when such a device mode is selected, the corresponding palette icons will become disabled (shown as crossed out) to remind you of the device’s capabilities. However, if you want, you can still enable all the palette icons by checking Enable All Effects under the File menu . All effects can be edited in any mode. Immersion Studio also makes other user interface changes based on the specified device, such as varying the number of trigger buttons shown in the Buttons window .

Although Immersion Studio allows you to choose a mode that is incompatible with your device, it will warn you when you do so. Immersion Studio remembers what device mode you were in last time you ran it and will start up in the same mode. If there is no compatible device on your system when Immersion Studio starts up, it will warn you of this.

The dialog also shows you which TouchSense devices it detects on your system – only the devices for the selected mode are shown -- and allows you to select a specific device. This is extremely useful if you have multiple TouchSense devices attached. For example, if you have two joysticks connected to your computer, two items will appear in the list under the DirectX Devices mode. If you select joystick A, all forces will be sent to joystick A. If you select joystick B, all forces will be sent to joystick B.

Please be aware that enclosures, ellipses and grids may not be supported on all tactile feedback mice. If your tactile device supports them, they will be enabled on your computer. However, forces will not be felt on other tactile feedback mice that do not support these effects.


Create a Project

Create a project by selecting New from the File menu. A new window will appear in the middle of Immersion Studio. This is called a P roject window.

To add force effects or sound effects to this project, see Add an effect to a project

The window name will be "Untitled." To give it a name, select Save under the File menu and type one in.

Immersion Studio allows only one project window to be open at a time.


Add an Effect to a Project

Force effects may be added to a project one of three ways:

1. Double-click on the desired effect in the Effect Browser. The effect will appear in the project window.

1. Drag the desired effect from the Effect Browser to the project window.

1. Select the desired effect in the Effect Browser by single-clicking. Then, from the Object menu, select Create. The effect will appear in the project window.

Sound effects may be added in one of four ways:

1. Double-click on sound icon in the Effect Browser. A file selection dialog will appear. Navigate to the desired WAV file. The effect will appear in the project window.

2. Drag the sound icon from the Effect Browser to the project window. A file selection dialog will appear. Navigate to the desired WAV file. The effect will appear in the project window.

3. Select the desired effect in the Effect Browser by single-clicking. Then, from the Object menu, select Create. A file selection dialog will appear. Navigate to the desired WAV file. The effect will appear in the project window.

4. Drag a WAV file from a Windows folder to the project window. The effect will appear in the project window.

Once the force effect exists in a project, it can be renamed:

1. Select the effect (effect should be highlighted), then click on the name again. Type in the new name.

1. Select the effect, then select Rename from the Object menu. Type in the new name.

1. Select the effect, then press F2. Type in the new name.


Modify and Test an Effect

Modifying an effect

Immersion Studio allows each force effect in a project to be customized for a particular application. To modify an effect, double-click it in either the Project or Buttons window. A properties window will appear that allows gain, saturation, and other properties to be changed. For a detailed description of properties, choose from the list below.

Position Based Effects

These are basic force effects, like spring, damper and wall.

Time Based Effects

These are basic wave effects, including periodic waves and pulses.

Sound Effects

These are WAV file sounds that can be combined with force effects using compound objects.

Testing an effect

If an Immersion TouchSense device is found , you can try any effect by simply opening the properties window of the effect. Conditions can be felt immediately while other types of effects require you to click the Start button. Multiple effects can be felt simultaneously. If more than one Condition properties window is open, the effects will be compounded (e.g., opening two Spring windows will result in a summed Spring effect).

If Immersion Studio detects your device but you are not getting force output when an effect is started, make sure Forces On is checked. If Forces On is checked and you still get no force output, consult your device’s owner’s manual or troubleshooting guide or contact your hardware manufacturer for technical support.

The Buttons window offers a very useful testing area for effects. To test one or more effects with the specific buttons of the device, see Test an Effect on a button .


Test an Effect on a Button

The Buttons window shows all available buttons on the device that can be used to test effects . To test how an effect feels using a button, drag and drop the effect from the Project window to the desired button. The effect will appear linked to the button. Some devices support more than one effect per button.

If you are using a TouchSense mouse and only one button appears in the buttons window, then this represents the Click/Select or left button. Some devices do not support triggered effects at all.

In Immersion Studio, after the button is associated with an effect, you must explicitly turn it On or Off with F9 key, or with the Button Effect command under Edit menu. This is to prevent inadvertent effects when you try to use the mouse button in a normal way. A status pane at the bottom of the Immersion Studio also shows the On/Off status of button effect.

Depressing the button will cause the effect to start. The Buttons window offers an alternate method of starting effects rather than clicking on the effect’s Start button. By repeatedly holding down the button and releasing it, you can see exactly how the device will feel when that effect is suddenly started or stopped. Assigning two similar effects to two different buttons is also a good way to quickly compare the two effects without alternately clicking on each effect’s Start button.

To detach an object from a button, select it in the Buttons window and then select Delete from the Edit menu or hit the delete key. This removes the triggered effect, but does not delete the effect from the project.

Linking sounds to buttons

Sounds can be added and removed just like other effects. Simply drag a sound object from your project onto a button and it will play when the button is pressed.

If you are attempting to sync up sounds precisely with TouchSense effects you should note that there may be a slight variance in how quickly the effect begins depending on how it is invoked. Triggered effects will start up the quickest, because the initiating event is detected directly on the device. In contrast, effects that are initiated by the application and downloaded or modified every time they are played will be the slowest to start. TouchSense effects attached to buttons in Immersion Studio are implemented as "triggered effects", so they will start immediately.

Saving a button triggered effect

The Buttons window is only a test area and does not affect how the effect is saved in your project. If you drag an effect to a button, your project does not save the effect as a button-triggered effect unless you explicitly change the selection in the drop down Button menu in the Property window from <None> to the desired button.

Other ways of testing

Effects can also be tested without being linked to a specific button. To do this, see Modify and Test an Effect


Linking Effects to your Application (Sample)

Linking Effects to your Application

Once you are satisfied with the effects you have designed, you can have your application automatically link in these effects at runtime by using IFC. The IFC dynamic link library allows your application to read Immersion Studio .IFR files and create Immersion TouchSense force feedback effects. Since this is done at runtime, you can re-open the .IFR file at any time and tweak your saved effects without having to recompile your application.

Sample Applications

IFCDonuts and HelloIFC are sample IFC force feedback programs that use .IFR resource files for dynamic effect loading. Source files and the MSVC workspace and project files are included. These sample applications are fully compatible with any force feedback device and show how easy it is to link your Immersion TouchSense effects to your application. You can download these sample applications as well as other sample programs with source code from www.immersion.com .


Customizing Effects in a Retail Game

If you have a retail game or application that used Immersion Studio to create the forces, you can easily modify the forces in Immersion Studio then feel your changes next time you start the application. Look for a file with the .IFR extension in the application folder. If such a file exists, it contains all the force effects used in the application. Open the file in Immersion Studio. You can either modify the existing effects by changing their parameters, or you can delete effects and create new ones in their place. Be sure to give the new effects the same names as the ones you deleted; otherwise, your application will not be able to find the forces it expects in the file. Once you are satisfied with the effects , save the .IFR file then launch the application.


Menus & Toolbar

Menus & Toolbars

Menus

File menu

Edit menu

Object menu

Window menu

Help menu

Toolbar


Edit menu

Undo | Undo the last operation.
Redo | Redo the last undone operation
Cut | Cut an effect. To cut, select the effect, then select the Cut menu item.
Copy | Copy an effect. To copy, select the effect, then select the Copy menu item.
Paste | Paste an effect that has been Cut/Copied. To paste, select the Paste menu item.
Delete | Select an effect from your Project Window, then select Delete to erase it.
Button Effect (F9) | Toggle On/Off the triggered effect associated with a mouse button. You may use F9 key to toggle the effect too. A check appears when the effect is activated. Also a status pane at the bottom of the Immersion Studio indicates whether the button effect is On or Off.


File menu

New | Opens a new Project window.
Open... | Opens a dialogue box for browsing files to be opened.
Close | Closes an open Project window.
Save | Saves an open Project window.
Save As... | Like Save, except asks for a new name to save a project under.
Properties | Displays information about the project, such as when it was last saved.
Select TouchSense Device... | Specify the TouchSense device to play effects on.
Enable All Effects | Make all effect editors available to the user, regardless what TouchSense device he chooses. If this is not checked, some effect objects on the palette may be crossed out if they are inappropriate for the device mode.
Exit | Exits Immersion Studio.

The File menu also lists the last projects opened in Immersion Studio. To open one of these projects, select it from the menu.


Help menu

Help Topics | Select this to bring up this Help file.
About Immersion Studio | Information on this version of Immersion Studio. The dialog also contains a link to Immersion Corporation Web Site.


Object menu

Create | Select an effect from the Effect Template window, then select Create to add the effect the effect to your current project.
Edit | Select an effect from your Project Window, then select Edit to customize the effect.
Duplicate | Select an effect from your Project Window, then select Duplicate to copy and paste an effect.
Rename | Select an effect from your Project Window, then select Rename to give an effect a new name.
Play Sound | Plays the sound object(s) that are currently selected in the project
Save As... | Select an effect from your Project Window, then select Save As to save the individual object.
Add from File... | Add from File adds objects from another IFR file to the current project.
Forces On | Select to enable or disable force output. A check appears when enabled. If Forces On is unchecked, nothing will be felt.
Stop All Effects | Select to stop all effects currently running.


View menu

Sort By Object Type | When this is checked, objects in the Project window are grouped by the type of object, then alphabetically within the group. If unchecked, objects are simply listed alphabetically.
Show Compound Objects | When this is checked, compound objects are displayed in the project window. Otherwise they are hidden.
Show Component Effects | When this is checked, force effects (Spring, Slope, etc.) are displayed in the project window. Otherwise they are hidden.
Show Sounds | When this is checked, sound objects are displayed in the project window. Otherwise they are hidden.
Small Project Icons | Toggles whether large or small icons are displayed in the Project window.
Small Palette Icons | Toggles whether large or small icons are displayed in the Templates window and Buttons window.
Load Background Bitmap... | Select a BMP or JPEG file to be displayed as background in Enclosure and Ellipse editors.
Show Background Bitmap | Display the background bitmap for Enclosure and Ellipse editors in one of the 4 modes: As Black Desktop Stretch to Whole Window At the Center of Desktop Window At the Upper Left Corner

The View menu also lists the last background bitmaps loaded in Immersion Studio. To load one of these files, select it from the menu.


Window menu

Cascade | Cascades all windows in Immersion Studio.
Tile | Tiles windows in Immersion Studio.
Arrange Icons | When minimized windows assume an iconicized form. Arrange Icons rearranges minimized windows at the bottom of the application’s main window.
Toolbar | Select to show or hide the Toolbar. A check appears when selected.
Status Bar | Select to show or hide the Status Window. A check appears when selected.
Templates | Select to show or hide the Templates Window. A check appears when selected.
Buttons | Select to show or hide the Buttons Window . A check mark appears when selected.

The Window menu also lists the open windows at the button. The checkmark indicates the window that is in front. Select a window to bring it in front of other windows.


Toolbar

The Toolbar contains all the basic features of Immersion Studio for easy access. To view the Toolbar, select Toolbar from the Window menu so a check mark appears. A listing of the features (from left to right):

New Opens a new Project window.

Open Opens a dialogue box for browsing files to be opened.

Save Saves an open Project window.

Undo Undo the last operation.

Redo Redo the last undone operation.

Cut Cut an effect. To cut, select the effect, then select the Cut toolbar button.

Copy Copy an effect. To copy, select the effect, then select the Copy toolbar button.

Play Sound Plays the sound object(s) that are currently selected in the project. (Same as Ctrl-P.)

Create Select an effect from the Templates window, then select Create to add the effect the effect to your current project.

Duplicate object Select one or more effects from your Project Window, then click this to copy and paste the selected object(s).

Save object(s) Select one or more effects from your Project Window, then click this to save the selected object(s).

Add From File Add from File adds objects from another .IFR file to the current project.

Stop All Effects Select to stop all effects currently running.

Templates Select to show or hide the Templates window.

Buttons Select to show or hide the Buttons window .

Project Select to show or hide the Project window.

Help Topics Select this to bring up this Help file.

About Immersion Studio Information on this version of Immersion Studio.


Clip Objects

Clip objects allow browsing of effects from external sources. It is similar to ‘Add from File’ in that it opens up effects from other files, but instead, the effects are shown in the Templates window .


Favorites

Favorites is a place to store effects that will be used and reused in different projects and libraries. As bookmarks are to a Web browser, favorites are to force effects. To store an effect, just drag and drop it from the project window to the Favorites icon in the Templates effects browser.


Windows: Buttons

Buttons Window

The Buttons window shows all available buttons on the device that can be used to test effects. To test how an effect feels using a button, drag and drop the effect from the Project window to the desired button. The effect will appear linked to the button. Some devices support more than one effect per button. Depressing the button will cause the effect to start. The Buttons window offers an alternate method of starting effects rather than clicking on the effect’s Start button. By repeatedly holding down the button and releasing it, you can see exactly how the device will feel when that effect is suddenly started or stopped. Assigning two similar effects to two different buttons is also a good way to quickly compare the two effects without alternately clicking on each effect’s Start button.

The Buttons window is only a test area and does not affect how the effect is saved in your project. If you drag an effect to a button, your project does not save the effect as a button-triggered effect unless you explicitly change the selection in the drop down Button menu in the Property window from <None> to the desired button.


Windows: Project, Templates, Status

There are a number of types of windows in Immersion Studio:

Project Window

The Project window shows all the effects in the currently opened document. To put effects in the Project window, drag and drop them from the Templates window, or double-click on them. You can also drag .WAV files from your desktop into the Project window and they will be added to the project as Sound objects.

Objects in the Project window are listed in alphabetical order. The Project window supports "type to select," i.e. if the Project window is in front you can type an object's name to select it. Partial names work as well, e.g. if you type a "b", the first object that begins with "b" will be selected.

Templates Window

The Templates window is a palette of all the basic force effects available in Immersion Studio. To customize these effects for an application, they first need to be dragged and dropped into a Project window. In addition to the preset effects, the Templates window also offers customizable clipboards via Clip Objects and Favorites.

The Templates window supports "type to select," i.e. if an item is selected in the Templates window, you can type an object's name to select it instead. Partial names work as well, e.g. if you type a "g", the "Grid" object will be selected.

Status Panes

There are several status panes at the bottom of Immersion Studio. The leftmost pane provides useful operating hint. The second left pane indicates whether the button effect is on or off. The following pane shows the mouse information: its position and projection along the direction axis, when appropriate. Finally a device pane tells you what kind of device is attached and if the force is on or not.

Buttons Window


Effect Reference

Immersion Studio Effects

Immersion Studio Effects

Basic Effects

Position Based Effects

Time Based Effects

Sound Effects

Managing and Saving Effects

Compound Effects

Clip Objects

Favorites


Position Based Effects

Spring

Slope

Damper

Friction

Inertia

Axis Wall

Angle Wall

Grid

Texture

Enclosure

Ellipse


Angle Wall Effect

Angle Wall Effect (Position Based Effect)

Angle Wall is a position-based effect. It should feel like a wall at an arbitrary angle. Based on Spring , it uses the Immersion TouchSense IMM_CONDITION effect with a Spring GUID and the PositiveCoefficent or NegativeCoefficient set to zero.

Figure 8. An Angle Wall Effect Editor

Hardness

Use the slider bar to set the hardness, or resistance, of the wall. Positive values push away the joystick. Negative values "suck" the joystick in. The value can also be set in the text box below.

Wall

The blue area shows where the wall is. To shift, or offset, the wall, move the cursor to the edge of the wall. When the cursor turns into a crosshair, the wall can be dragged to the desired location.

To set the angle of the wall, move the cursor over the thick red bar. When the cursor becomes a double-headed arrow, the bar can be dragged to rotate the wall.

Direction

The direction of the wall can be also be set by entering a value in degrees in this box.

Offset

The wall can also be moved by entering a value into this box.

Sense

The wall can face either the positive or negative direction.

Control Grabs

You may change the setting of offsets of the Angle Wall effect by visually dragging its corresponding control grabs within the display window. The corresponding setting changes as you move the control grabs around the display window.

Trigger

Button

Select a button to trigger the effect within an application. This is different from associating the force with a button in the Immersion Studio Buttons window , which is intended for testing only.

Repeat Interval

The effect can be played repeatedly while the trigger button is held down by entering a value (in seconds) in the box. This is the delay in seconds between repetitions. To specify that the effect is not repeated, push in the adjacent Infinity button.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Axis Wall Effect

Axis Wall Effect (Position Based Effect)

Axis Wall is a position-based effect. It should feel like a vertical or horizontal wall. Based on Spring , it uses the Immersion TouchSense IMM_CONDITION effect with a Spring GUID and the PositiveCoefficent or NegativeCoefficient set to zero.

Figure 7. An Axis Wall Effect Editor

Hardness

Use the slider bar to set the hardness, or resistance, of the wall. Positive values push away the joystick. Negative values "suck" the joystick in. The value can also be set in the text box below.

Wall

The blue area shows where the wall is. To shift, or offset, the wall, move the cursor to the edge of the wall. When the cursor turns into a crosshair, the wall can be dragged to the desired location.

Axis

The wall can face the x- or y-direction.

Offset

The wall can also be moved by entering a value into this box.

Sense

The wall can face either the positive or negative direction.

Control Grabs

You may change the setting of offsets of the Axis Wall effect by visually dragging its corresponding control grabs within the display window. The corresponding setting changes as you move the control grabs around the display window.

Trigger

Button

Select a button to trigger the effect within an application. This is different from associating the force with a button in the Immersion Studio Buttons window , which is intended for testing only.

Repeat Interval

The effect can be played repeatedly while the trigger button is held down by entering a value (in seconds) in the box. This is the delay in seconds between repetitions. To specify that the effect is not repeated, push in the adjacent Infinity button.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Damper Effect

Damper Effect (Position Based Effect)

Damper is a velocity-based resistance effect. It should feel like dragging a stick through water or molasses. It uses the Immersion TouchSense IMM_CONDITION effect with a Damper GUID.

Figure 4. A Damper Effect Editor

Axes

The Damper effect can be felt in the x-direction, y-direction, both axes simultaneously, or one axis set at an angle. The axis is set from the Axes drop down menu.

First Axis Condition

The first axis can be either x or y, depending on which axes are selected in the Axes drop down menu.

Simple

The simple diagram shows the positive and negative ends of a pipe containing water. When the cursor moves near the graphic, the animation stops.

To change the coefficient, or resistance, of a damper, drag the liquid levels up or down. The values in the coefficient boxes will change accordingly.

Advanced

The advanced diagram shows the damper in a force vs. velocity format.

To change the coefficient, drag the red handles at the left and right sides up or down. The values in the coefficient boxes will change. Note: the red handles may be hidden beneath the blue handles.

To change the saturation of the damper, drag the blue handles to the left or right. The saturation box will update. Dragging the blue handles up and down can also change the coefficient.

The dead band and offset can be changed by dragging the black handles to the left or right.

Coefficient, Saturation, Dead Band, and Offset can also be set from their text boxes. The height of water is proportional to the corresponding Coefficient setting. The water color saturation is proportional to the corresponding damper Saturation setting.

To ensure the same behavior for the positive and negative sides of the damper, check the Symmetric checkbox.

To give the same behavior to both the x- and y- axes, check Both Axes.

Second Axis Condition

If both axes are selected, the second axis is the y. It is modified in the same way the first axis is.

Direction

Damping can be rotated by selecting "Direction" from the Axes menu. A dial will appear. To change the direction of the damping effect, drag the dial to the desired angle, or enter a value in degrees into the text box below.

Control Grabs

You may change the setting of coefficients of the damper effect by visually dragging its corresponding control grabs within the display window. The corresponding setting changes as you move the control grabs around the display window.

Trigger

Button

Select a button to trigger the effect within an application. This is different from associating the force with a button in the Immersion Studio Buttons window , which is intended for testing only.

Repeat Interval

The effect can be played repeatedly while the trigger button is held down by entering a value (in seconds) in the box. This is the delay in seconds between repetitions. To specify that the effect is not repeated, push in the adjacent Infinity button.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Ellipse Effect

Ellipse Effect (Position Based Effect)

Ellipse can be used to attract the cursor to the inside of the ellipse, keep the cursor outside of the ellipse, or attract the cursor to the border surrounding the ellipse. Common uses of ellipse are for snapping to grid points or nodes, or attracting the cursor to icons. Enclosure effect is only available to TouchSense mouse devices only.

Figure 12. Ellipse Effect Editor

Ellipse Coordinates

The top/bottom/left/right fields in the editor let you specify the location of the ellipse by typing values into them. You may choose to specify the ellipse coordinates with center and width/height.

One thing to keep in mind: The editor works with your screen dimensions. But the users may have a different screen size than yours. So be careful not to set coordinate values that are adequate on your screen but too big for other users.

Wall Stiffness

The Stiffness setting let you set the stiffness of walls.

Wall Saturation

The Saturation setting let you set the maximum strength of walls.

Wall Thickness

The Thickness setting let you set the width walls. There is a spin control allows you to adjust wall thickness by clicking on the spin arrows.

Wall Mask

You may turn on/off inner or outer side of walls in the Wall Mask list box.

Clipping Mask

You may turn on/off the clipping of inner or outer side of walls by select/de-select each clipping in the Clipping Mask list box.

Rotation

You may rotate an ellipse around its center. The angle value must be an integer from 0 to 359. The angle starts from the right horizon and going CLOCKWISE. When the enclosure effect is rotated, it can not be moved or resized by dragging the handle or interior anymore.

Display

The black display region represents the screen you are working on. (It may not be black if a background bitmap is used -- see below.) The inside effect is green, while the walls are dark green or brown, depending on whether the wall stiffness is positive or negative. The position of the mouse mapped to the display window is represented with a miniature arrow. When you start the effect and move the mouse, you may feel the force of the walls when the miniature arrow moves close to the walls within the display window.

Visual Editing

To further enhance the ease of effect editing, Ellipse editor provides visual editing. When you move the real cursor inside the Ellipse in the display window, the cursor changes into a cross. You may drag the represented Ellipse to move its coordinates. A skeleton will show with your cursor to indicate where the effect will be. The editing fields also update their values to show you the new coordinate of the effect.

A red handle is displayed at the lower right corner of the displayed Ellipse. You may drag it to resize the Ellipse. The cursor changes to resize arrows when it gets to the resize handle. Again the skeleton and edit fields show the new coordinates of the effect.

A blue handle is displayed at the upper right corner of the Ellipse effect. When the cursor is on top of the blue handle, the cursor turns into arc arrows to indicate you may rotate the enclosure by dragging the rotation handle. Again the skeleton shows the new angle of the effect.

You can toggle the visibility of the enclosure by pressing the F5 key. This may be useful, for example, to allow experience the enclosure against the background bitmap as it will be experienced in the game.

Background Bitmap

You may load a background bitmap to help you position the enclosure effect. Go to Load Background Bitmap command under the View menu. Then select a BMP or JPEG file from the Open File dialog. After the bitmap file is loaded, it will be displayed in the Enclosure desktop window. It can be displayed in 4 modes: (Align) the upper left corner, center, stretch and blank. You may change the background bitmap anytime by reload a new one. You may change the display mode anytime too.

Full Screen Editing

To make the editing easy for the developers, the Ellipse support Full Screen editing mode. Just press F4 key and you can toggle between Full Screen editing or windowed editing. Full screen editing, with background bitmap display, give you the authentic feeling of the effects in the application.

On Screen Testing

To further provide the "being there" feeling, Ellipse editor can turn off the display of the enclosure walls, etc with the F5 key. Pushing F5 will toggle between display on/off of the enclosure effects. When the effect display is turned off, with the background bitmap display, you see what your customers will see on the screen. You may then use F8 key to turn On/Off the effect to get the same feeling your customer will get in your applications. During these "testing", the visual editing of move/scale/rotate is turned off to avoid confusion.

Quick Keys Editing

There are times you may want to adjust the enclosure in a tiny amount. For example, to move the effect left by one pixel. To utilize visual editing to achieve such adjustment will be challenging. You may go to Windowed display mode and type in the right values of the edit fields. But it is tedious. To help the user achieve this kind of editing easily, Immersion Studio provides quick keys to shift/resize effects and to change the wall width.

To shift the effect by one pixel, hold down SHIFT key and one of the arrow keys. Then the effect will move up/ down/ left/ right by 1 pixel continuously till you release the key.

To resize the effect, hold down CONTROL key and one of the arrow keys. The effect will be resized at the lower right corner of the ellipse.

To change the width of the walls, just hold down arrow keys.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Start (F8)

Start initiates the effect.

Stop (F8)

Stop ends the effect.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Enclosure Effect

Enclosure effect (Position Based Effect)

Enclosure can be used to attract the cursor to the inside of the rectangle, keep the cursor outside of the rectangle, or attract the cursor to the border surrounding the rectangle. Common uses of enclosures are for snapping to grid points or nodes, attracting the cursor to icons or menu item selections, or feeling window borders. Enclosure effect is only available to TouchSense mouse devices only.

Figure 11. Enclosure Effect Editor

Enclosure Coordinates

The top/bottom/left/right fields in the editor let you specify the location of the enclosure by typing values into them. You may choose to specify the enclosure coordinates with center and width/height.

One thing to keep in mind: The editor works with your screen dimensions. But the users may have a different screen size than yours. So be careful not to set coordinate values that are adequate on your screen but too big for other users.

Wall Stiffness

The 2 Stiffness settings (Left-Right and Top-Bottom) let you set the stiffness of vertical and horizontal walls correspondingly.

Wall Saturations

The 2 Saturation settings (Left-Right and Top-Bottom) let you set the maximum strength of vertical and horizontal walls correspondingly.

Wall Thickness

The 2 Thickness settings (Left-Right and Top-Bottom) let you set the width of vertical and horizontal walls correspondingly. There are 2 spin controls allow you to adjust wall thickness by clicking on the spin arrows. Or you may use arrow keys to increment/decrement the thickness of the walls. Left/Right keys will decrement/increment the left-tight walls. Up/Down keys will increment/decrement the top-bottom walls.

Wall Mask

You may turn on/off each individual side of walls. There are 4 directions (left/right/top/bottom) and 2 sides (inner/outer) for each direction. Together there are 8 walls to be controlled. You specify to turn on/off each wall by select/de-select each wall in the Wall Mask list box.

Clipping Mask

You may turn on/off the clipping for each side individually. Like the wall mask, there are 8 clippings to be controlled. You specify to turn on/off each clipping by selecting/de-selecting each clipping in the Clipping Mask list box.

Rotation

You may rotate an enclosure around its upper-left corner. The angle value must be an integer from 0 to 359. The angle starts from the right horizon and going CLOCKWISE. When the enclosure effect is rotated, it can not be moved or resized by dragging the handle or interior anymore.

Display

The black display region represents the screen you are working on. (It may not be black if a background bitmap is used -- see below.) The enclosure is green, while the walls may be dark green or brown, depending on whether their stiffness is positive or negative. The position of the mouse mapped to the display window is represented with a small arrow cursor. When you start the effect and move the mouse, you may feel the force of the walls when the miniature arrow moves close to the walls represented in the display window.

Visual Editing

To further enhance the ease of effect editing, Enclosure editor provides visual editing. When you move the real cursor inside the Enclosure in the display window, the cursor changes into a cross. You may drag the represented Enclosure to move its coordinates. A skeleton will show with your cursor to indicate where the effect will be. The editing fields also update their values to show you the new coordinate of the effect.

A red handle is displayed at the lower right corner of the displayed Enclosure. You may drag it to resize the Enclosure. The cursor changes to resize arrows when it gets to the resize handle. Again the skeleton and edit fields show the new coordinates of the effect.

A blue handle is displayed at the upper right corner of the Enclosure effect. When the cursor is on top of the blue handle, the cursor turns into arc arrows to indicate you may rotate the enclosure by dragging the rotation handle. Again the skeleton shows the new angle of the effect.

You can toggle the visibility of the enclosure by pressing the F5 key. This may be useful, for example, to allow experience the enclosure against the background bitmap as it will be experienced in the game.

Background Bitmap

You may load a background bitmap to help you position the enclosure effect. Go to Load Background Bitmap command under the View menu. Then select a BMP, GIF or JPEG file from the Open File dialog. After the bitmap file is loaded, it will be displayed in the Enclosure desktop window. It can be displayed in 4 modes: (Align) the upper left corner, center, stretch and blank. The display is selected form the View menu. You may change the background bitmap anytime by reload a new one. You may change the display mode anytime too.

Full Screen Editing

To make the editing easy for the developers, the Enclosure support Full Screen editing mode. Just press F4 key and you can toggle between Full Screen editing or windowed editing. Full screen editing, with background bitmap display, give you the authentic feeling of the effects in the application.

On Screen Testing

To further provide the "being there" feeling, Enclosure editor can turn off the display of the enclosure walls, etc with the F5 key. Pushing F5 will toggle between display on/off of the enclosure effects. When the effect display is turned off, with the background bitmap display, you see what your customers will see on the screen. You may then use F8 key to turn On/Off the effect to get the same feeling your customer will get in your applications. During these "testing", the visual editing of move/scale/rotate is turned off to avoid confusion.

Quick Keys Editing

There are times you may want to adjust the enclosure in a tiny amount. For example, to move the effect left by one pixel. To utilize visual editing to achieve such adjustment will be challenging. You may go to Windowed display mode and type in the right values of the edit fields. But it is tedious. To help the user achieve this kind of editing easily, Immersion Studio provides quick keys to shift/resize effects and to change the wall width.

To shift the effect by one pixel, hold down SHIFT key and one of the arrow keys. Then the effect will move up/ down/ left/ right by 1 pixel continuously till you release the key.

To resize the effect, hold down CONTROL key and one of the arrow keys. The effect will be resized at the lower right corner of the enclosure.

To change the width of the walls, just hold down arrow keys.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Start (F8)

Start initiates the effect. You may also use F8 key to start/stop the effect.

Stop (F8)

Stop ends the effect. You may also use F8 key to start/stop the effect.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Friction Effect

Friction Effect (Position Based Effect)

Friction is a resistance effect, similar to Damper. It should feel like pushing a mass across a rough surface. It uses the Immersion TouchSense IMM_CONDITION effect with a Friction GUID.

Figure 5. A Friction Effect Editor

Axes

The effect can be felt in the x-direction, y-direction, both axes simultaneously, or one axis set at an angle. The axis is set from the Axes drop down menu.

First Axis Condition

The first axis can be either x or y, depending on which axes are selected in the Axes drop down menu.

Simple

The simple diagram shows two blocks, one green and one red. The green one, on top, is represents force in the positive direction. The red block shows force in the negative direction. When the cursor moves near the graphic, the animation stops.

To change the coefficient, or resistance to pushing, change the size of the blocks by dragging their top edges up or down. The values in the coefficient boxes will change accordingly.

Advanced

The advanced diagram shows friction in a force vs. velocity format.

To change the coefficient, drag the red handles at the left and right sides up or down. The values in the coefficient boxes will change. Note: the red handles may be hidden beneath the blue handles.

To change the saturation of friction, drag the blue handles to the left or right. The saturation box will update. Dragging the blue handles up and down can also change the coefficient.

The dead band and offset can be changed by dragging the black handles to the left or right.

Coefficient, Saturation, Dead Band, and Offset can also be set from their text boxes.

To ensure the same behavior for the positive and negative sides of the damper, check the Symmetric checkbox.

To give the same behavior to both the x- and y- axes, check Both Axes.

Second Axis Condition

If both axes are selected, the second axis is the y. It is modified in the same way the first axis is.

Direction

The effect can be rotated by selecting "Direction" from the Axes menu. A dial will appear. To change the direction of the friction effect, drag the dial to the desired angle, or enter a value in degrees into the text box below.

Control Grabs

You may change the setting of coefficients of the friction effect by visually dragging the top of the rectangle mass in its display window.

Trigger

Button

Select a button to trigger the effect within an application. This is different from associating the force with a button in the Immersion Studio Buttons window , which is intended for testing only.

Repeat Interval

The effect can be played repeatedly while the trigger button is held down by entering a value (in seconds) in the box. This is the delay in seconds between repetitions. To specify that the effect is not repeated, push in the adjacent Infinity button.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Grid Effect

Grid Effect (Position Based Effect)

A grid is a condition that creates a 2-dimensional array of snap points or snap lines. Grid is not geometrically bounded, unless by an enclosure effect (more detail in Enclosure effect section). When creating a grid, you can specify the following characteristics. Grid effect is only available to TouchSense mouse devices only.

Figure 9. A Grid Effect Editor

Display

The display window represents the screen you are working on. The grid lines show where the attractions are.

Horizontal Spacing

Horizontal spacing indicates the horizontal space between grid lines or points.

Vertical Spacing

Vertical spacing indicates the vertical space between grid lines or points.

Horizontal and Vertical Offsets

Horizontal and vertical offsets indicate the distances from the upper left corner of the display to one of the grid point or line. When a grid point or a grid line is anchored, the rest of grid lines and points can be determined by the horizontal and vertical spacings.

Horizontal and Vertical Node Strengths

These parameters determine the strength of the grid snap forces in corresponding direction.

Horizontal and Vertical Node Saturations

These parameters determine the maximum force of the grid snap forces in corresponding direction.

Offsets

The offsets allow you to adjust the position the grids will appear.

Axis

This selection box let you specify the effective axis of the grid. It can be along the X axis only, Y axis only, or both XY axes.

Clip effect to display window

Grid effect is a global effect. It appears all over the screen. To avoid the effect interfering the normal mouse operations when editing, the editor default clips the effect inside the display window only. You may turn on/off the clipping by clicking on this check box.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Inertia Effect

Inertia Effect (Position Based Effect)

Inertia is an acceleration-based effect. It should feel like pushing a mass on wheels. It uses the Immersion TouchSense IMM_CONDITION effect with an Inertia GUID.

Figure 6. An Inertia Effect Editor

Axes

The effect can be felt in the x-direction, y-direction, or both axes simultaneously, or one axis set at an angle. The axis is set from the Axes drop down menu.

First Axis Condition

The first axis can be either x or y, depending on which axes are selected in the Axes drop down menu.

Simple

The simple diagram shows two masses, one green and one red, both on wheels. The green one, on top, is represents force in the positive direction. The red mass shows force in the negative direction. When the cursor moves near the graphic, the animation stops.

To change the coefficient, or resistance to pushing, change the size of the masses by dragging their top edges up or down. The values in the coefficient boxes will change accordingly.

Advanced

The advanced diagram shows inertia in a force vs. acceleration format.

To change the coefficient, drag the red handles at the left and right sides up or down. The values in the coefficient boxes will change. Note: the red handles may be hidden beneath the blue handles.

To change the saturation of friction, drag the blue handles to the left or right. The saturation box will update. Dragging the blue handles up and down can also change the coefficient.

The dead band and offset can be changed by dragging the black handles to the left or right.

Coefficient, Saturation, Dead Band, and Offset can also be set from their text boxes.

To ensure the same behavior for the positive and negative sides of the damper, check the Symmetric checkbox.

To give the same behavior to both the x- and y- axes, check Both Axes.

Second Axis Condition

If both axes are selected, the second axis is the y. It is modified in the same way the first axis is.

Direction

The effect can be rotated by selecting "Direction" from the Axes menu. A dial will appear. To change the direction of the friction effect, drag the dial to the desired angle, or enter a value in degrees into the text box below.

Control Grabs

You may change the setting of coefficients of the inertia effect by changing the size of its carts within the display window. Just grab the top of the cart and drag it. The corresponding setting changes as you move the control grabs around the display window.

Trigger

Button

Select a button to trigger the effect within an application. This is different from associating the force with a button in the Immersion Studio Buttons window , which is intended for testing only.

Repeat Interval

The effect can be played repeatedly while the trigger button is held down by entering a value (in seconds) in the box. This is the delay in seconds between repetitions. To specify that the effect is not repeated, push in the adjacent Infinity button.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Slope Effect

Slope Effect (Position Based Effect)

Slope is a position-based effect. It should feel like rolling a ball up and/or down a hill. Like Spring , it uses the Immersion TouchSense IMM_CONDITION effect with a Slope GUID.

Figure 3. A Slope Effect Editor

Axes

The Slope effect can be felt in the x-direction, y-direction, both axes simultaneously, or one axis set at an angle. The axis is set from the Axes drop down menu.

First Axis Condition

The first axis can be either x or y, depending on which axes are selected in the Axes drop down menu.

Simple

The simple diagram shows a ball in a groove. The ball is held in by the slope of the two sides of the groove. When the cursor moves near the graphic, the ball will disappear and two sets of handles will appear.

To change the coefficient of Slope, drag the red handles up or down. The values in the coefficient boxes will change accordingly.

To change the offset, or move the origin, drag the black handles to the left or right. Notice that this changes the value in the offset box. Moving the black handles can also change the dead band, or area with no force.

The ball or the gray line indicates the joystick’s current position on the slope.

Advanced

The advanced diagram shows the slope in a force vs. distance format.

To change the coefficient, drag the red handles at the left and right sides up or down. The values in the coefficient boxes will change. Note: the red handles may be hidden beneath the blue handles.

To change the saturation of the slope, drag the blue handles to the left or right. The saturation box will update. Dragging the blue handles up and down can also change the coefficient.

The dead band and offset can be changed by dragging the black handles to the left or right.

Coefficient, Saturation, Dead Band, and Offset can also be set from their text boxes.

The ground color of the slope changes according to the mouse movement direction. When the mouse moves to the "positive" directions (right and down), the ground is green; if the mouse moves in the "negative" directions (left and up), the ground is brown. The ground color saturation is proportional to the corresponding slope Saturation setting.

To ensure the same behavior for the positive and negative sides of the slope, check the Symmetric checkbox.

To give the same behavior to both the x- and y- axes, check Both Axes.

Second Axis Condition

If both axes are selected, the second axis is the y. It is modified in the same way the first axis is.

Direction

Slope can be rotated by selecting "Direction" from the Axes menu. A dial will appear. To change the direction of the Slope effect, drag the dial to the desired angle, or enter a value in degrees into the text box below.

Control Grabs

You may change the setting of offsets, dead bands, coefficients of the slope effect by visually dragging their corresponding control grabs within the display window. You first hold down the control key. The control grabs will show within the display window. You then click and drag the control grabs. The corresponding setting changes as you move the control grabs around the display window.

Trigger

Button

Select a button to trigger the effect within an application. This is different from associating the force with a button in the Immersion Studio Buttons window , which is intended for testing only.

Repeat Interval

The effect can be played repeatedly while the trigger button is held down by entering a value (in seconds) in the box. This is the delay in seconds between repetitions. To specify that the effect is not repeated, push in the adjacent Infinity button.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Spring Effect

Spring Effect (Position Based Effect)

Spring is a position-based effect. It should feel like compressing a spring. It uses the Immersion TouchSense IMM_CONDITION effect with a Spring GUID.

Figure 2. A Spring Effect Editor

The Spring Editor allows you to edit a spring effect by setting its coefficients, saturations, and other factors. Some of the factors can be adjusted visually.

Axes

The spring effect can be felt in the x-direction, y-direction, both axes simultaneously, or one axis set at an angle. The axis is set from the Axes drop down menu.

First Axis Condition

The first axis can be either x or y, depending on which axes are selected in the Axes drop down menu.

Simple

The simple diagram shows the positive (green) and negative (red) ends of a spring. When the cursor moves near the graphic, the animation stops and sets of handles will appear.

To change the coefficient, or stiffness, of a spring, drag the red or green handles up or down. The values in the coefficient boxes will change accordingly.

To change the offset, or move the origin, drag the solid blue vertical line to the left or right. Notice that this changes the value in the offset box.

The dashed line indicates the joystick’s current position on the spring.

Advanced

The advanced diagram shows the spring in a force vs. distance format.

To change the coefficient, drag the red handles at the left and right sides up or down. The values in the coefficient boxes will change. Note: the red handles may be hidden beneath the blue handles.

To change the saturation of the spring, drag the blue handles to the left or right. The saturation box will update. Dragging the blue handles up and down can also change the coefficient.

The dead band and offset can be changed by dragging the black handles to the left or right.

Coefficient, Saturation, Dead Band, and Offset can also be set from their text boxes. The width of the display springs is proportional to the Coefficient setting. The color saturation of the springs is proportional to the Saturation setting.

To ensure the same behavior for the positive and negative sides of the spring, check the Symmetric checkbox.

To give the same behavior to both the x- and y- axes, check Both Axes.

Second Axis Condition

If both axes are selected, the second axis is the y. It is modified in the same way the first axis is.

Direction

The spring can be rotated by selecting "Direction" from the Axes menu. A dial will appear. To change the direction of the spring, drag the dial to the desired angle, or enter a value into in degrees the text box below.

Control Grabs

You may change the setting of offsets, dead bands, coefficients, and saturations of the spring effect by visually dragging their corresponding control grabs within the display window. You first hold down the control key. The control grabs will show within the display window. You then click and drag the control grabs. The corresponding setting changes as you move the control grabs around the display window.

Trigger

Button

Select a button to trigger the spring force within an application. This is different from associating the force with a button in the Immersion Studio Buttons window , which is intended for testing only.

Repeat Interval

The effect can be played repeatedly while the trigger button is held down by entering a value (in seconds) in the box. This is the delay in seconds between repetitions. To specify that the effect is not repeated, push in the adjacent Infinity button.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Texture Effect

Texture Effect (Position Based Effect)

A texture is a condition, similar to friction, which causes the mouse to feel as if it were traveling over a series of bumps. Textures are defined by the magnitude, size (thickness), and center-to-center spacing of a series of bumps. Texture effect, like friction, is related to the speed of the mouse movement. You may superimpose several texture effects to create a sophisticated texture. Textures effect is only available to TouchSense mouse devices only.

Figure 10. A Texture Effect Editor

Positive Bump Magnitude

This value specifies the bump magnitude when the mouse moves along right or down directions.

Negative Bump Magnitude

This value specifies the bump magnitude when the mouse moves along left or up directions.

Positive Bump Width

This value specifies the bump width when the mouse moves along right or down directions.

Negative Bump Width

This value specifies the bump width when the mouse moves along left or up directions.

Positive Bump Space

This value specifies the space between bumps when the mouse moves along right or down directions.

Negative Bump Space

This value specifies the space between bumps when the mouse moves along left or up directions.

Offsets

The offsets allow you to adjust the positions bumps appear.

Axis

This selection box let you specify the effective axis of the texture. It can be along the X-axis only, Y-axis only, or both XY axes.

Clip effect to display window

Texture effect is a global effect. It appears all over the screen. To avoid having the effect interfere with normal mouse operations while editing, by default the editor clips the texture effect to play only inside the display window. You may turn on/off the clipping by clicking on this check box.

Display

The display window represents the screen you are working on. The positive bumps are shown in green and negative bumps are shown in brown.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Time Based Effects

Vector Force

Periodic

Ramp

Pulse


Periodic Effect

Periodic Effect (Time Based Effect)

The Periodic effect is a force that varies over time, such as a sine wave, square wave, etc. It can feel like a simple back and forth motion or a high frequency vibration. It uses the Immersion TouchSense IMM_PERIODIC effect.

Figure 14. Periodic Effect Editor

Offset

Offset controls the distance of the wave from the origin. This value can be set with either the slider bar or the text box below it, and also by dragging the blue handle on the Envelope graph.

Envelope

The envelope allows you to change the profile of the periodic force over time with three phases. These phases allow a periodic effect to ramp up or down or fade in or out.

Attack

This is the starting profile of the Periodic effect. It is set either by dragging the red handles on the graph or by providing Level and Time values in the boxes below. Level is the value marked by the first red handle.

Magnitude

Magnitude is the steady state Periodic magnitude. To set it, drag the upper line up or down, or type in a value in the text box below.

Fade

Fade is the ending profile of the Periodic effect. To set it, drag the red handles or enter values in the text boxes below. Level is the location of the last red handle. Fade is automatically set to Magnitude if duration is "INFINITE."

Waveform

Waveform options are: Sine, Square, Triangle, Sawtooth Up, and Sawtooth Down. A Cosine wave is a Sine wave with Phase set to 90 degrees.

Phase

The Phase of the waves can be set either with the dial or through values in degrees entered directly in the text box. Changes in phase are updated in the periodic graph.

Direction

Direction allows the periodic to output at an angle set by the dial. Angles can also be entered in degrees directly in the text box below.

This setting has no effect on tactile feedback mice.

Iterations

Iterations specifies how many times the effect should cycle when it is played. The arrows can be used to increment and decrement the value. To specify that the effect repeated forever, push in the adjacent Infinity button.

Trigger

Button

Select a button to trigger the effect within an application. This is different from associating the force with a button in the Immersion Studio Buttons window , which is intended for testing only.

Repeat Interval

The effect can be played repeatedly while the trigger button is held down by entering a value (in seconds) in the box. This is the delay in seconds between repetitions. To specify that the effect is not repeated, push in the adjacent Infinity button.

Period

The Period of the wave can be set using the slider bar or by typing into the Period field. The value is the cycle duration in seconds. The "Freq" field displays the calculated frequency in hertz.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Start

Start initiates the effect.

Stop

Stop ends the effect.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Pulse Effect

Pulse Effect (Time Based Effect)

Pulse is identical to Vector Force, but its default duration is much shorter to create a "pop" sensation. Like Vector Force , Pulse creates a constant force over a discrete time and uses the Immersion TouchSense IMM_CONSTANTFORCE effect.

Figure 16. A Pulse Effect Editor

Envelope

The envelope allows you to change the profile of the force over time with three phases. These phases allow a force to ramp up or down or fade in or out.

Attack

This is the starting profile of the Pulse effect. It is set either by dragging the red handles on the graph or by providing Level and Time values in the boxes below. Level is the value marked by the first red handle.

Magnitude

Magnitude is the steady state force. To set it, drag the upper line up or down, or type in a value in the text box below.

Fade

Fade is the ending profile of the Pulse effect. To set it, drag the red handles or enter values in the text boxes below. Level is the location of the last red handle. Fade is automatically set to Magnitude if duration is "Infinite".

Direction

The direction of the force can be set by dragging the dial or entering a value in degrees in the box.

Iterations

Iterations specifies how many times the effect should cycle when it is played. The arrows can be used to increment and decrement the value. To specify that the effect repeated forever, push in the adjacent Infinity button.

Trigger

Button

Select a button to trigger the effect within an application. This is different from associating the force with a button in the Immersion Studio Buttons window , which is intended for testing only.

Repeat Interval

The effect can be played repeatedly while the trigger button is held down by entering a value (in seconds) in the box. This is the delay in seconds between repetitions. To specify that the effect is not repeated, push in the adjacent Infinity button.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Start

Start initiates the effect.

Stop

Stop ends the effect.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Ramp Effect

Ramp Effect (Time Based Effect)

Ramp creates a force that either steadily increases or steadily decreases over a discrete time. It uses the Immersion TouchSense IMM_RAMPFORCE effect.

Figure 15. Ramp Effect Editor

Ramp Force

The graphic shows the force over time. The profile can be set either by moving the handles on the graph, or by entering values in the boxes below:

Start Level – Starting value of the force.

End Level – Ending value of the force.

Direction

The direction of the force can be set by dragging the dial or entering a value in degrees in the box.

Iterations

Iterations specifies how many times the effect should cycle when it is played. The arrows can be used to increment and decrement the value. To specify that the effect repeated forever, push in the adjacent Infinity button.

Trigger

Button

Select a button to trigger the effect within an application. This is different from associating the force with a button in the Immersion Studio Buttons window , which is intended for testing only.

Repeat Interval

The effect can be played repeatedly while the trigger button is held down by entering a value (in seconds) in the box. This is the delay in seconds between repetitions. To specify that the effect is not repeated, push in the adjacent Infinity button.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. Infinite duration is not an option for a Ramp effect.

Start

Start initiates the effect.

Stop

Stop ends the effect.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Vector Force Effect

Vector Force Effect (Time Based Effect)

Vector Force is a constant force over a discrete time. It uses the Immersion TouchSense IMM_CONSTANTFORCE effect.

Figure 13.Vector Force Editor

Envelope

The envelope allows you to change the profile of the effect over time with three phases. These phases allow a force to ramp up or down or fade in or out.

Attack

This is the starting profile of the Vector Force. It is set either by dragging the red handles on the graph or by providing Level and Time values in the boxes below. Level is the value marked by the first red handle.

Magnitude

Magnitude is the steady state force. To set it, drag the upper line up or down, or type in a value in the text box below.

Fade

Fade is the ending profile of the Vector Force. To set it, drag the red handles or enter values in the text boxes below. Level is the location of the last red handle. Fade is automatically set to Magnitude if duration is "Infinite."

Direction

The direction of the force can be set by dragging the dial or entering a value in degrees in the box.

Iterations

Iterations specifies how many times the effect should cycle when it is played. The arrows can be used to increment and decrement the value. To specify that the effect repeated forever, push in the adjacent Infinity button.

Trigger

Button

Select a button to trigger the effect within an application. This is different from associating the force with a button in the Immersion Studio Buttons window , which is intended for testing only.

Repeat Interval

The effect can be played repeatedly while the trigger button is held down by entering a value (in seconds) in the box. This is the delay in seconds between repetitions. To specify that the effect is not repeated, push in the adjacent Infinity button.

Time

The start delay and duration of the effect can be adjusting the slider bar or by typing a value (in seconds) into the Delay and Duration fields. To set the effect to run forever, push in the Infinity button adjacent to the Duration field.

Start

Start initiates the effect.

Stop

Stop ends the effect.

Defaults

This button resets all values to their default setting.

Revert

This button allows you to revert to original setting when the editor was opened.


Sound Effects

Sound

Immersion Studio supports playback of WAV files in combination with force effects. This is useful because triggered effects in a game often correlate with sounds. Thus you can design forces with Immersion Studio to match up well with certain sounds, such as the recoil of a gun felt simultaneously with a gunshot sound. Please note that IFC 2.2 does not support the playback of sound together with the effects. Immersion Studio gives you this capability so that, as you design your effect, you may have a more accurate sensation of how it will be experienced during game play.

There is a category called Sound Effects with one object, "Sound". Sound objects are basically pointers to WAV files. To add a sound object to a project, simply drag the WAV file onto the Immersion Studio window. Or, drag the "Sound" icon from the template onto the project window. If you choose the latter method, a file selection dialog will allow you to choose the WAV file. In either case, a new sound object will be added to your project. Sound object icons have a white background to make them easily distinguishable in the project window.

The name of the sound object defaults to the name of the WAV file, minus the .wav extension. Sound objects can be manipulated in many of the same ways that other objects are manipulated. You can drag them onto compound object icons or into compound object editors. You can double-click them to bring up the sound editor .

When sound objects are added to compound effects, their corresponding time bars show the waveforms and track them in red as they are playing.

Under Windows 98SE and Windows 2000, you can have multiple overlapping sounds in a single compound effect. However, in other operating systems, only one sound can be played at a time -- that is to say, you can have multiple sounds per compound effect, but they must not overlap.

Upon loading an IFR, any old-style attached sounds may be converted to sound objects. If, during the conversion, a sound’s WAV file can’t be found, Immersion Studio will prompt you to locate it.

To attach a sound object to a trigger, simply drag an existing sound object from your project onto a button in the button window.


Sound Effect

The sound editor is fairly simple. The only things you can change are the file path to the sound and the start delay. In addition you can play the sound and see its waveform.

Figure 17. Sound Editor

File Path

Displays the file path of the WAV file associated with the sound effect. You can choose a different WAV file by clicking on the Browse button to the right of the file path.

Waveform

For most popular sound formats, the sound waveform is graphed in the sound editor. During sound playback, the played part of the sound is shown in red. The waveform is also shown in the time bar slider at the bottom of the sound editor. It also tracks playback in red.

Duration

Displays the length of the WAV file in seconds. This is a read-only field.

Delay

Time, in seconds, before the WAV file begins to play once the sound effect has been started. You can change the start delay by moving the white time bar slider at the bottom of the editor window, or by typing a number into the edit box.

Start Button

Initiates playback of the sound effect. If you press play while the sound is currently playing it will restart from the beginning.

Pause Button

Pauses playback of the sound effect. Once paused, playback can be resumed by pressing the play button, or cancelled by pressing the stop button.

Stop Button

Ends playback of the sound effect.

Revert

This button allows you to revert to original setting when the editor was opened.

Note that it is not necessary to open up a sound editor to preview a sound. A shortcut is to select the sound object in the project window and type Ctrl-P. In this case the sound immediately, ignore any start delay.


Compound Effects

Compound Effects (Compound Objects)

Multiple effects can be combined into a single object called a compound effect. A compound effect is basically a collection of references to other effects. The components in a compound effect are referenced by the compound effect, not owned by the compound effect. So a component, say an Enclosure, can be used in two different compound effects, yet they all "point" (refer) to the same Enclosure effect. When one changes the duration of the referred Enclosure in one compound effect, it will change the duration of the real Enclosure effect and thus will affect the behavior of the other compound effect.

To make a compound effect:

· Add a Compound effect to the project window.

· Add desired component effects to the project window. For example, if you want an effect of a spring superimposed with a vibration, the desired components would be a spring (Position Based Effect) and a periodic (Time Based Effect).

· Double-click on the Compound icon. An editor window for the Compound will open.

· Drag and drop the desired component effects into the Compound window or the Compound effect icon.

· Each component effect has a time line associated with it, shown to the right of its icon in effect editor. You may further adjust the time line of each effect to achieve the desired result.

· Press the green triangle to test the compound effect.

Figure 18. A Compound Effect Editor

Compound objects may contain sound effects as well as force effects.

Effects are listed alphabetically. The Compound window supports "type to select," i.e. if an object is selected, you can type another object's name to select it instead. Partial names work as well, e.g. if you type a "g" in the above Compound window, the"Grid" object will be selected.

In the Project window you can choose whether to show Compound Objects from the View menu. If a Compound's icon is gray, it means that it contains no component effects.