In this chapter advanced interaction with objects will be covered. All of the object properties dialogues are covered as well as creation of joints, attachments and paths.
Attachments
(Command: ObjectPropertiesDisplay Tab)
Attachments allow you to connect one figure to another figure within an environment by defining a given offset between the bases of the two figures. It is a convenient way to attach objects without combining them into one assembly. It is important to note that this is a ―one way‖ attachment in which the parent figure controls movement for both figures. The child figure can still be moved independently.
This tab defines what figure this human/object is attached to and if any figures are attached to this human. If the human is not attached to any figures, the attach box will say ―world.base‖.
Attachment Tab
Properties
(Command: ObjectProperties)
Each of the different entity types has a property dialog. The selections are located in the OBJECT MENU under PROPERTIES or in the context sensitive menus for that object type. Property dialogs display information about the structure and status of an entity. From the property dialog you can also create, delete, rename or change the characteristics of an entity.
These options apply to figures, segments, individual sites and nodes. Specific display options can be found in the each object type‘s PROPERTIES DIALOG (<RMB>PROPERTIES).
Figure Properties
(Command: ObjectPropertiesFigure Properties)
The FIGURE PROPERTY DIALOG includes many options available for specific figures as well as access to lower level property dialogs associated with the figure.
Display Properties for a figure
Segment Properties
(Command: ObjectPropertiesSegment Properties)
The SEGMENT PROPERTIES DIALOG is available for any object in the Jack environment. You can view construction information and display options from this dialog.
Segment Properties Dialog
Site Properties
(Command: ObjectPropertiesSite Properties)
Jack uses the concept of ―Sites‖ to define specific coordinate locations in 3D space. More specifically, Sites are triad axes that define position and orientation relative to a segment‘s local coordinate frame. They are the mechanism that allows you to specify constraint goals, joint centers, or even measurement points.
Each segment also contains what is termed a Root Site. In a figure file, this site can be named anything; however, it is normally called
―base‖. It is the point from which the object is constructed and represents the segment‘s local coordinate (0,0,0). The root site will never change locations relative to the segment. However, as the segment is moved around, the site will have varying global coordinates to reflect its position in the world.
You can view information regarding a particular site or create a new site through the SITE PROPERTIES DIALOG.
Site Properties Dialog
Joint Properties
(COMMAND:ObjectPropertiesJoint Properties)
Articulated figures are created in Jack using Joints. Joints allow you to define the type of articulation between two segments by specifying the type of DEGREES OF FREEDOM (DOF) and the origin of this articulation. You can view, create, and edit joint information through the JOINT PROPERTY DIALOG.
When you create a joint, you must define the connection point. You have a choice of defining this point with the create joint between segments or the create joint between sites option.
Joint Properties Dialog
With the create joint between segments option a new site is automatically created for each of the two segments. The Set Location button lets you set the location of these two sites. With the create joint between sites option existing sites are used to connect the segments. In this case, the moveable segment will be repositioned to bring the two sites into the correct relative position.
Face Properties
(Command: ObjectPropertiesFace Properties)
The next important piece of geometry in Jack is the ―face‖. The list of vertices or ―nodes‖ is used to define polygonal ―faces.‖ The FACE PROPERTIES DIALOG contains construction information for a particular face. It displays the material assigned to the face, the list of nodes that form the face, the local and global coordinates of the face center and the face normal.
Face Properties Dialog
Within the face properties dialog is the option to make a face reflective. By checking the reflective box a face will reflect other figures in the environment. It is important to note that reflections will not be saved with the environment (.env) file
Reflection
(Command: ObjectPropertiesFace Properties)
Reflection Maps can be created for any polygonal surface or face in Jack. They can be use in Jack to analyze planar mirrors. It is important to note the quality of the reflected image is determined by the quality of the graphics card. You can create a reflection map by turning on an objects projections under the Object Properties dialogue.
Note: Light does not reflect so the location of the light source is an important consideration when reflections are used.
Reflective Face
Edge Properties
(Command: ObjectPropertiesEdge properties)
The ―edge‖ in Jack is the connection between two ―nodes‖ within a
―face‖. Edges determine the ―look‖ of an object when it is displayed wireframe. The EDGE PROPERTIES DIALOG contains construction information for a particular edge. It indicates which faces are on either side of the edge and which nodes are at either end.
Edge Properties Dialog
Node Properties
(COMMAND:ObjectPropertiesNode Properties)
The lowest level of geometry is the ―node‖. Nodes define specific coordinates in 3D space used to define faces and edges. In a Psurf (.pss) file they are the first list of numbers. The NODE PROPERTIES
DIALOG contains construction information for particular vertices. It displays the local and global coordinates for the node as well as the edges and faces the node contributes to.
Adjust Joint
(Command: ObjectAdjust Joint)
A joint can be manipulated using the ADJUST JOINT DIALOG. When you are in the adjust joint command you can move the slider bar, enter a numerical value, or dynamically adjust the joint with the mouse in the graphics window. The joint order determines the corresponding mouse button. First in the list is the <LMB>, second in the list is <MMB>, third in the list is the <RMB> etc.
When you dynamically adjust the joint with the mouse, an adjustment arrow or rotation wheel will appear that specifies the current adjustment type and direction. The arrow indicates a translation and the rotation wheel indicates an orientation adjustment. In addition, the rotation wheel will appear with sections of red and green. The green section defines the range through which the joint can be rotated.
Adjust Joint Dialog
Note: When degrees of freedom (dof) are created for a joint, the order in which they are created determines the corresponding mouse button. First in the list is the <LMB>, second in the list is
<MMB>, third in the list is the <RMB> etc.
Motors On/Off
(Command: ObjectMotors On/Off)
This allows you to turn on or off all motors in the scene.
Create Motor Tab
A separate motor can be made for each Degree of Freedom in a joint by highlighting the available DOF in the list. Adjusting the frames per cycle rate can control the speed for each motor and the reciprocal or constant radio buttons will effect the motor‘s direction..
Joint Motors
(Command: ObjectCreateCreate Joint)
Motors are an alternative way to add motion to an environment without using the animation system. The motor continuously exercises a joint through its entire range of motion and does not require any interactive manipulation except to start and stop it.
Interactive Reach
(Command: ObjectInteractive Reach)
An Interactive reach is similar to an ordinary constraint, except that there is no fixed goal. The goal is a global transform which you manipulate interactively. Also, the relationship type is automatically set to point-to-point. Interactive Reach can be applied to any jointed figure and to manipulate any kinematic chain within a human figure.
This dialog lets you select a site or node on a segment of a figure as the point that you want to move into position. You also define a starting joint for the figure's motion (similar to those discussed in the constraints section of this chapter). Jack will use its inverse kinematics to determine the figure position as you move the end site or node.
Paths
(Command: ObjectPaths)
Use this dialog to either create or edit a path in the Graphics Window to be used with the animation system.
Paths can be used to have an object follow along, or to have a human walk along during a simulation. This will be covered more in the Animation System Chapter.
Path
Chapter 7 Tutorial: Working with Objects
In this tutorial you will learn how to work with objects. You will learn how to adjust joints of objects, create motors, and paths. You will also learn how to work within the properties menus for each of the types of objects.
Delete your current scene by choosing EDIT->DELETESCENE
Open the file Chapter7.env
Exercise: Figure Properties
This exercise introduces you to the .fig file properties menu.
Open the FIGURE PROPERTIES DIALOG from the OBJECT>PROPERTIES>FIGURE PROPERTIES menu and select the barrel. Review the properties dialogue box.
Choose the different tabs to review the available information on the face.
Click on the Sites Button on the Construction Tab
The list shows the predefined sites, and any new sites you created earlier, on the figure.
Click on the Segments Button on the Construction Tab This list shows the segments of the figure barrel.fig.
Dismiss the Figure Properties Dialogue Window
Exercise: Segment Properties
This exercise introduces you to the segment or Psurf.
Open the SEGMENT PROPERTIES DIALOG from the OBJECT>PROPERTIES
>SEGMENT PROPERTIES menu and select the barrel in the GRAPHICS WINDOW
Note: The naming convention in the entry box is Figure.Segment
Open the NODE PROPERTIES DIALOG from the OBJECT>PROPERTIES >NODE PROPERTIES menu and select a node on the barrel.
Note: The naming convention in the entry box is Figure.Segment.Node#
Open the EDGE PROPERTIES DIALOG from the OBJECT>PROPERTIES>EDGE PROPERTIES menu and select an edge on the barrel. Review the properties dialogue box. Choose the different tabs to review the available information on the edge.
Note: Remember the properties of the different file types.
A Psurf (pss) only contains information defining a segment's geometry.
A Figure File (fig) includes information about which segments make up the figure, sites, colors, and joints connections.
(Joint connections and limits are retained when a figure file is saved. Joint angles information is not contained in a figure file)
Exercise: Face Properties
Load a cube into your environment from the object library OBJECT>CREATE>FIGURE FROM LIBRARY
Open the FACE PROPERTIES DIALOG from the OBJECT>PROPERTIES>FACE PROPERTIES menu and select a face on the cube. Review the properties dialogue box. Choose the different tabs to review the information on the face.
Move to the Display Tab in the Properties Dialogue
Check the Box Reflective
You should now see a reflection on the face of the cube.
Dismiss the PROPERTY DIALOGS when you are finished
Reflective Face
Exercise: Adjusting a Joint
In this section you will learn how to adjust single joints of a figure.
Move your view over to the Robot in the scene
Open the ADJUST JOINT DIALOG from OBJECT>ADJUST JOINT menu
Select Robot_Jack5.JO from the GRAPHICS WINDOW
Note: Each DOF has its own slider with an upper limit, a lower limit, and a text entry box.
Adjust the joint by moving the Slider Bar.
Note: The Entry Box value changes as the slider is moved.
Type in a value in the Entry box. Hit <Enter> when finished.
Now try this with other joints on the robot.
Hit ESC to complete the command and dismiss the dialog.
Finally, move over to one of the humans in your scene.
Open the ADJUST JOINT DIALOG and select the manikins Left Elbow
Adjust the joint by moving the slider bar.
Joints can be adjusted on objects and humans.
Exercise: Joints and Motors
In this section you will learn how to create joint motors.
Open the JOINT PROPERTIES DIALOG OBJECT: PROPERTIES: JOINT PROPERTIES
Select the joint Robot_Jack5.J2
Move to the Motors Tab in the Joint Properties Dialogue
Choose R(x) in as the Degree of Freedom (this is the rotation of the motor we are creating)
Robot Motor Properties
Choose Create Motor
Currently Active should be checked
30 Frames Per Second should be input
Reciprocal Should be checked
Hit Apply
The motor should be adjusting the joint.
Change the Motor Properties to Constant
Hit Apply
Notice the change in the way the joint is adjusting
Uncheck the Box Currently Active
Hit Apply
The motor should stop.
Dismiss the Joint Properties Dialogue Window.
Note: The human manikin is also a jointed figure!!
Exercise: Interactive Reach
In this section you will learn how to adjust multiple joints within a figure. You will again be using the Robot in your scene
Open the INTERACTIVE REACH DIALOG from OBJECT>INTERACTIVE REACH
Interactive Reach Dialog
Select Robot_Jack5.seg4.seg4 as the End Effector Site
Select Robot_Jack5.J3 as the Starting Joint
You will now be in MOVE mode for the end effector of the Robot
Interactive Reach Moving End Effector
Move the end effector of the Robot using your Mouse Buttons
Rotate the end effector.
Note: Interactive Reach allows you to adjust multiple joints at once.
Exercise: Creating & Editing a Path
In this section you will learn how to create a path. In a later Chapter you will learn how to use paths with humans and objects.
Try to create your path on the floor of the facility so we can use it to have the human walk the path in a later Chapter.
Open the CREATE PATH DIALOGUE from OBJECT>CREATE>PATH>CREATE PATH You will notice a site has been created in your scene at 0,0,0
Hit the Add After option in the Path Dialogue Window Another site has been created on top of your 1st site
Using your MOVE CONTROLLER Move the site away from the 1st
Hit the Add After option once you have your second point where you want it.
Continue to move and add sites on the path until you have a path on the floor of your facility
Dismiss out of the Path Dialogue
Creating a Path on the Facility Floor
You can also edit the points of the path if you need to move one after you have created it.
Open the CREATE PATH DIALOGUE from OBJECT>CREATE>PATH>EDIT PATH
Choose the path you would like to Edit (Tip: you may need to choose the path from the OBJECT HIERARCHY)
Choose the site on the path that you would like to change
Using your MOVE CONTROLLER Move the site to its new location Notice the path change as you change the new site.
Hit Apply
Dismiss out of the Path Dialogue Window
Note: Paths are a figure in your scene. You and use Context Sensitive Menus to edit and change the visibility of the path.