daffie technical presentation
DESCRIPTION
DAFFIE Technical Presentation. Erik Brisson [email protected]. Outline. What's in a virtual world?. What's in a virtual world?. An environment Representations of physical objects Visual models Auditory elements Interactions with objects Representations of people - avatars Communication - PowerPoint PPT PresentationTRANSCRIPT
BPC: Art and Computation – Summer 2007BPC: Art and Computation – Summer 2007
DAFFIE Technical PresentationDAFFIE Technical Presentation
Erik Brisson
BPC: Art and Computation – Summer 2007 2
OutlineOutline
BPC: Art and Computation – Summer 2007 3
What's in a virtual world?What's in a virtual world?
BPC: Art and Computation – Summer 2007 4
What's in a virtual world?What's in a virtual world?
An environment Representations of physical objects
– Visual models– Auditory elements
Interactions with objects Representations of people - avatars Communication
– Gesturing– Telephony– Video
BPC: Art and Computation – Summer 2007 5
Our goals with DAFFIEOur goals with DAFFIE
Distributed
Interactive
Visually and aurally rich
Input (models, images and sounds) from variety of available tools
Simple import method
Script driven
Accessible to non-expert users
Extensible by programmers
BPC: Art and Computation – Summer 2007 6
Traditional animationTraditional animation
SequenceSequence of framesof frames Hand drawn or “captured”Hand drawn or “captured”
BPC: Art and Computation – Summer 2007 7
Animation example - 3D modelsAnimation example - 3D models
Model sequence What is changing?
– Shape
– Elements• movement
• Rotation
• Scale
– Whole object• Movement
• Rotations
• Scale
BPC: Art and Computation – Summer 2007 8
Design decision - animation by Design decision - animation by model sequencesmodel sequences Allows importation of work from many sources Allows reasonable method of animation Allows input from many tools
– Allows artists to create using their favorite software
– E.g., Maya, Lightwave3D Gives simple import methodology
– Uses Performer loader Avoids import of behavior (avoids programming)
BPC: Art and Computation – Summer 2007 9
Animation - arp scriptsAnimation - arp scripts
Allows control without programming– Developed quickly, early on for class project– Simple, has been used many times
Control– Position– Rotation– Scale
Timing of playback
BPC: Art and Computation – Summer 2007 10
arp script example: basic arp script example: basic sequencesequencearp 2.0
name clusterseq
geom_path ./
playspeed 10
frame
geom_show clustergeom0000.obj
frame
geom_show clustergeom0001.obj
frame
geom_show clustergeom0002.obj
frame
geom_show clustergeom0003.obj
end
BPC: Art and Computation – Summer 2007 11
The DAFFIE scene graphThe DAFFIE scene graph
The world-room-group-sequence hierarchy
World
Room Room
Group GroupGroup Group
Sequence Sequence Sequence
Sequence
Sequence Sequence
BPC: Art and Computation – Summer 2007 12
3D Coordinate system3D Coordinate system
BPC: Art and Computation – Summer 2007 13
arp scripts: arproom filearp scripts: arproom file
arproom 2.0
name cart-modelsenter_xyz 3.0 4.0 4.0enter_hpr 30.0 -98.0 0.0
group_xyz 0 0 0group_hpr 0 0 0group_path ../models/purple_cube/group purple_cube.arpg
group_xyz 2 -4 0group_hpr 60 0 0group_path ../models/blue_cube/group blue_cube.arpg
group_xyz -3 -5 2group_hpr 0 0 0group_path ../models/orange_sphere/group orange_sphere.arpg
end
BPC: Art and Computation – Summer 2007 14
arp script: arpgroup filearp script: arpgroup file
arpg 2.0
name gbdog
geom_size 1.0geom_path ./geom_hpr 0 90 0geom_xyz 0.0 0.1 0.0geom_rep dog0.objtrigger_method cycleseq_path ./seq_hpr 0 90 0seq_xyz 0.0 0.1 0.0seq_file gbdog.seq
end
BPC: Art and Computation – Summer 2007 15
arp script example: basic arp script example: basic sequencesequencearp 2.0
name clusterseq
geom_path ./
playspeed 10
frame
geom_show clustergeom0000.obj
frame
geom_show clustergeom0001.obj
frame
geom_show clustergeom0002.obj
frame
geom_show clustergeom0003.obj
end
BPC: Art and Computation – Summer 2007 16
darp script example: move objectdarp script example: move object
frame
geom_show pot21.iv
geom_xyz 5.0 2.1 9.3
geom_hpr 0.0 90.0 0.0
geom_show drop21.obj
frame
geom_show pot22.iv
geom_xyz 5.5 1.9 3.2
geom_hpr 0.0 91.0 0.0
geom_show drop22.obj
BPC: Art and Computation – Summer 2007 17
arp example: change object sizearp example: change object sizearp 2.0name benThorn_seqgeom_path ./playspeed 4sound_path ../configs/frame geom_scale 0.56 0.56 0.56 geom_show btw1.objframe geom_scale 0.42 0.42 0.42 geom_show btw1.objframe geom_scale 0.56 0.56 0.56 geom_show btw1.objframe geom_scale 0.7 0.7 0.7 geom_show btw1.obj
BPC: Art and Computation – Summer 2007 18
Design decision - sound clipsDesign decision - sound clips
SimplicityGives simple import methodologyAllows input from many toolsUses commonly available format
(.aiff)
BPC: Art and Computation – Summer 2007 19
Example - adding soundExample - adding sound
frame geom_show clustergeom0000.obj sound_xyz_stereo 180.932040 -157.771123 -103.679324 180.932040 -43.291371 -103.679324 sound_move h2o4.aif sound_trigger h2o4.aifframe geom_show clustergeom0001.obj sound_xyz_stereo 187.016266 -157.446847 -103.679324 174.847813 -43.615647 -103.679324 sound_move h2o4.aifframe geom_show clustergeom0002.obj sound_xyz_stereo 193.031556 -156.477695 -103.679324 168.832524 -44.584799 -103.679324 sound_move h2o4.aif
BPC: Art and Computation – Summer 2007 20
The view frustumThe view frustum
What you actually seeUnits matter (DAFFIE uses feet)
BPC: Art and Computation – Summer 2007 21
Navigation - user experienceNavigation - user experience
The 6 degrees of freedomThe 6 degrees of freedomHow map onto various input devicesCommunication with viewer (old
model)– direct sending of xyz,hpr wand motion
to viewer
BPC: Art and Computation – Summer 2007 22
The DAFFIE event systemThe DAFFIE event system
Communication between agents
Navigator Viewer
Navigator
Viewer
Sound server
Event Server
App agent
App agent
App agent
Telephony Video agent
Sound server
BPC: Art and Computation – Summer 2007 23
Triggering objectsTriggering objects
Light stick (by viewer)Proximity (by viewer)Proximity (by agent)Other (by agent)The trigger event
BPC: Art and Computation – Summer 2007 24
World state and eventsWorld state and events
Object descriptionsTriggerTransformsSwitchesNavigationSoundVideoEtc.
BPC: Art and Computation – Summer 2007 25
Agents and eventsAgents and events
Using events to control elements of the world– Triggering sequences– Moving objects– Changing rooms– Navigation
BPC: Art and Computation – Summer 2007 26
Navigation by agent sending Navigation by agent sending eventseventsNew model - sending of transform
matrices to viewerKeeping track of avatars
BPC: Art and Computation – Summer 2007 27
TelephonyTelephony
Telephony collector agent– Gets audio stream from microphone– Chops into sound samples– Sends sequence of sound samples
Sound server– Receives sequence of sound samples– Reassembles audio stream from sound
samples– Sends reconstructed audio stream to speakers
BPC: Art and Computation – Summer 2007 28
Video texture mapsVideo texture maps
Video as sequence of imagesVideo generator
– Sends sequence of imagesViewer
– Receives sequence of images– Uses texture mapping on an object in
scene
BPC: Art and Computation – Summer 2007 29
Stereo displaysStereo displays
Physical issues and camera issues– Using polarizing filters– Setting up the view– What looks closer vs further– Relative position to the screen and
viewer
BPC: Art and Computation – Summer 2007 30
Tiled wallsTiled walls
Issues and differences– Head node vs render nodes– Event management / avatars / triggering– Virtual cameras– Alignment
BPC: Art and Computation – Summer 2007 31
The EndThe End