Title: CS461561 Virtual Environments: Principles
1CS461/561Virtual Environments Principles
ApplicationsIntroduction to Virtools
- 1-16-2008
- Prof. Searleman
- SC375
- jets_at_clarkson.edu
2Overview
- A brief history of VR
- Introduction to Virtools
3A Brief History of Virtual Realityhttp//archive.
ncsa.uiuc.edu/Cyberia/VETopLevels/VR.History.html
43D Display
1838 - Wheatstone Stereoscope 1849 - Brewster
Stereoscope 1939 Worlds Fair Viewmaster
5Virtual Reality Systems
Sensorama Morton Heilig, 1956
- 3D video (side by side 35mm cameras), motion,
color, stereo sound, aromas, wind effects (using
small fans), and a seat that vibrated - example simulate a motorcycle ride through NYC
(feel wind, bumpy road and potholes, smell food,
) - Heilig also designed a head-mounted display
(HMD) in 1960
6First HMD-Based VR
1965 - The Ultimate Display paper by Ivan
Sutherland 1968 - Ivan Sutherlands HMD -
consisted of two cathode ray tubes (CRTs) mounted
along the users ears - heavy, so needed
support
7Ivan Sutherland
- The Ultimate Display (FIPS 1965)
- Data Visualization A display connected to a
digital computeris a looking glass into a
mathematical wonderland. - Body Tracking The computer can easily sense the
positions of almost any of our body muscles. - Haptics (Frederick Brooks et al, Univ of North
Carolina at Chapel Hill, 1971
8Ultimate Display (cont.)
- Virtual Environments that mimic real
environments A chair display in such a room
would be good enough to sit in. Handcuffs
displayed in such a room would be confining, and
a bullet displayed in such a room would be
fatal. - VEs that go beyond reality There is no reason
why the objects displayed by a computer have to
follow ordinary rules of physical reality with
which we are familiar.
91983 - Artificial Reality
101985 - Nasa Ames VIVED
Virtual Visual Environment Display
- LCD-based HMD (from Sony Watchman TVs)
- DEC PDP 11, Picture System2 graphics computer
(from Evan Sutherland), and a Polhemus
noncontact tracker (used to measure head motion) - Scott Fisher integrated data gloves into the
system
By 1988, four 3D virtual sound sources were
added. VIVED evolved into VIEW (Virtual Interface
Environment Workstation)
11Super Cockpit - Tom Furness
12FakeSpace Boom Display - early 1990s
13CAVE - 1992
14Virtual Workbench-1995 (Responsive Workbench,
Immersidesk, etc.)
15VPL Founded - 1985
- First VR Company
- VPL Research by Jaron Lanier and Thomas Zimmerman
- Data Glove
- Term Virtual Reality
16VR Comes to the Publics Attention
1987 Article by Jim Foley that features the VPL
Data Glove
17Siggraph 1990
181993 - First IEEE Virtual Reality Annual
International Symposium (now IEEE VR)
- VRAIS 93 in Seattle
- Research Frontiers in VR workshop at
Visualization 93 - Timothy Leary Wasnt Invited
191995 - Effectiveness of computer-generated (VR)
graded exposure in the treatment of acrophobia in
American Journal of Psychiatry
20History VR Systems
- 1956 - Sensorama
- 1965 - The Ultimate Display paper by Sutherland
- 1968 - Ian Sutherlands HMD
- 1981 - SpaceGraph
- 1983 - Myron Kruegers Artificial Reality
- 1985 - NASA Ames VIVED
- 1986 - Super Cockpit
- 1992 - The CAVE (at SIGGRAPH)
21History Happenings
- 1985 - VPL Founded
- 1987 - Foleys Scientific American Article
- 1990 - Hip, Hype and Hope Panel
- 1993 - First IEEE Virtual Reality Annual
International Symposium (Now IEEE VR) - 1995 - Effectiveness of computer-generated (VR)
graded exposure in the treatment of acrophobia in
American Journal of Psychiatry
22Assignment
- due today
- What is the state of the art Virtual Reality?
- research
- technologies
- applications
- bring a list of URLs to class (to turn in), and
be prepared to show and discuss one of your
findings in class
23What is Virtools Dev?
- Virtools Dev 4.0 is a development platform for 3D
visualization - It consists of the following components
- an Authoring application
- a Behavioral Engine (CK2)
- a Rendering Engine
- a Web Player
- a Software Development Kit (SDK)
24Virtools Training Notes
Media Design 3DS, Maya, Lightwave
Sound Design .wav, .mp3
Texture, 2D Interface .jpg, .bmp
Specific BB, Interface Visual C
Integration tool Behavioral tool
25Getting Help
- Virtools documentation is provided in
c\Program Files - \Virtools\Virtools Dev 4.0\documentation
- Reference Guide documentation.chm
- Tutorials
- MiniSite
- CMOS
- VirtoolsResources.rsc
26Getting Help (cont.)
- Contact me jets_at_clarkson.edu
- Internet Based Resources
- 1. www.virtools.com
- 2. Virtools Newsletter
- 3. www.theswapmeet.com
- 4. User Group mailing list
27Virtools Packs
- In addition to the basic functionality provided
by Dev 4.0, there are a number of add-ons. These
include - VR pack
- Physics pack
- AI pack
- CAD pack
- Server
- XBox pack
available in CEC, ITL, etc.
281. Virtools Authoring
- The authoring application allows you to create
compositions (CMOs) where 3D objects are given
behaviors and attributes. - Virtools is not a modeling application. Other
applications, such as 3D Studio Max can be used
to create models, which then can be imported into
Virtools.
292. Behavioral Engine
- The behavior engine, CK2, processes the behaviors
of how each object acts in a given environment. - Behavior Building Blocks (BBs) are used to
create behaviors. Virtools has an extensive
library of BBs. - Managers are used to support the behavior engine.
Examples are the LevelManager, ResourceManager
and the SoundManager
303. Render Engine
- This performs the graphics rendering, and can be
customized with the SDK it consists of 2 parts - - CK2_3D determines what should be drawn (list of
visible items) - - Virtools Rasterizers, which support Direct X
and OpenGL, draw the items on-screen
314. Web Player
- The Web Player allows playback of a virtools
application via a web browser. - Virtools compositions (.cmo) can be exported to
the Web Player (.vmo)
325. Software Development Kit
- The SDK allows you to customize the Behavioral
Engine and the Render Engine. That is, you can
write your own functions in C and convert them
to building blocks. - create new behaviors or modify existing ones
- create new parameter types
- create media plugins to read any media types
- replace the Virtools render engine with a render
engine of your choice - create a custom executable file (.exe)
- modify extend the render engine full source
code to the rendering engine is provided
33Basic Concepts
- Level Manager
- organizes the composition
- Schematic
- used to create, edit, and manage scripts a
script describes how an object behaves
34Basic concepts
- Building Blocks (BBs)
- a library of behaviors, organized by the type of
behavior and/or by the type of object to which
the behavior can be applied - Data Resources (default VirtoolsResources)
- project management tools you can create a new
data resource for each project - Media objects (such as a model, sound, or image)
are added to the composition by dragging it from
a Data Resource into the 3D Layout or Level
Manager
35Steps to create a composition
- Import objects (ResourcesImport)
- Use the Level Manager to set up the object
- rename it
- double-click the object to get 3D Object Setup
- adjust the world coordinates (0,0,0)
- rotate it as desired
- change the color textures (if desired)
- Add lighting
- Add cameras
- SET INITIAL CONDITIONS
36Reminders
- Save your composition often (say every 15 mins or
so, or when you make a change in the objects) - Set initial conditions whenever you change any
setting about an object, before you run the
composition - A directory has been set up for the class on
Atlas - S\Classes\Computer Science\cs461\
37Object Mesh - Material
- 3D mesh is the wireframe shape for an object
- A mesh is often shared by several different
objects to save space - A material is wrapped around the mesh
- materials can be shared
- color parameters
- ambient multiplies the scenes ambient color
- diffuse default surface color, depends on
lights - specular shiny highlights
- emmisive self-illumination
38Building Block
- blue Behavior Inputs (bIn)
- green Behavior Outputs (bOut)
- red Parameter Inputs (pIn)
- violet Parameter Outputs (pOut)
39BB Operating Cycle
- BB is inactive
- At least 1 input is activated gt BB is activated
- BB reads the input parameters performs its
function - At least 1 output is activated
- Some BBs stop here (go back to 1) and others
reactivate themselves even if no input is active
(go back to 3)
40Shared Mesh and/or Material
Dependency if you delete Kens mug, you will be
asked about dependencies. If you select full,
Andys mug no longer has a shape!
41Recap Object, Mesh Material
Objects can share a mesh. A mesh can share a
material. If you delete an object that is sharing
a mesh or material, specify no dependencies
(meaning that it will not delete the shared mesh
or material).
42File Types
- .cmo
- - full composition with both objects scripts
- - FileSave Composition
- .vmo
- - full composition without scripting
- - cannot be loaded by Dev
- - used by Web Player or standalone app
- - FileExport to Virtools Player
43File Types, cont.
- .nmo
- - 1 or more objects, with or without scripts
- - can be imported into the current composition
- - ResourcesImport File or Import File As
- - Useful for dynamic loading
- .nms
- - contain either a graph or a script
- - to save a script, select it, right click,
select save as give directory name, in the
Behavior Graph directory of your resources
folder give description, version, author name to
appear in the resource window
44Referential
- point of reference for a 3D transformation (e.g.
scale, rotate, translate) - used as a parameter input to a BB (pIn)
- referential value --NULL--
- means the world coordinate system
- referential value name of the entity
- means the local coordinate system
45Virtools Exercises
- Virtools Exercise 1
- complete by today, in class
- Virtools Exercise 2
- to be completed on Monday, 1/21/08
46Virtools Exercises
- add comment box containing name, date exercise
- schematics should be neat easy to read
- make sure all pIns are labelled
- print the scripts (landscape mode)
- turn in printouts also copy your composition to
the course drive (164campnas.camp.clarkson.edu)