Upload
hisa
View
31
Download
0
Embed Size (px)
DESCRIPTION
Gotland University, Sweden Feb. 16 , 201 2. TVML ( TV program Making Language ). Masaki HAYASHI. What is TVML?. TVML ( TV program Making Language ) →A language to describe full TV program TVML Player →Interprets a TVML script and generates a TV program in real-time. - PowerPoint PPT Presentation
Citation preview
TVML( TV program Making Language )
Masaki HAYASHI
Gotland University, SwedenFeb. 16, 2012
What is TVML?
Ref: HTML and Web browser
TVML ( TV program Making Language ) →A language to describe full TV program
TVML Player →Interprets a TVML script and generates a TV program in real-time
camera: closeup ( target=A )character: bow ( name=A ) character: talk ( name=A , text=“Hello everybody,
how’s going?”)character: talk ( name=B , text=“Awful”)camera: closeup ( target=A )character: look ( name=A,
target=B ) character: talk ( name=A , text=“What’s happening?”)camera: closeup ( target=B )……
Text data
TVML Visualize
TVML Player
そんなあなたとあの街この街
Don't forget ...
Example of TVML
To make a character "Bob" speak "Hello world." right after a camera focuses on Bob.
camera: closeup ( target= Bob)character: talk ( name = Bob, text = "Hello world.")
> TVML is event driven
Event format
character movie
camera title set superprop soundlight drawing
character: talk ( name = Bob, text = "Hello" )
Event type Command Parameters
Specify how the command will be performed
TV Production vs. TVML
■Studio shot Studio set:set Prop: prop Actor: character Light: light Camera: camera
■Video clip Video playback:
movie Studio monitor:prop
■Static image (Telop, ticker) Text, image, figure:
title Flip:
prop
■Superimpose Text, image:super
■Sound Sound effect:sound Audio mixing:sound
■Art work Drawing work:drawing
Parameters
character: bow ( name = A )
Parameters are not necessarily placed in particular order.
If parameter is omitted, default is used.
character: bow ( name = A, speed=2.0, level=20 )
Simultaneous action
character: bow ( name = Bob)
character: bow ( name = Mary )
character: talk ( name = Bob, text = “Hello.")( Mary bows after Bob finishes
bowing)
character: bow ( name = Bob, wait=no )
character: bow ( name = Mary )
character: talk ( name = Bob, text = “Hello.")
(Mary start bowing right after Bob start bowing --> bow at the same time)
Realize simultaneous action to use an action event as a state event by setting 'no' to the parameter 'wait'.
// This is a test script by hayashi
skipscript(switch=on) // Write a setup segmentskipscript(switch=off)
// Program begins in action from herecamera: closeup(what = Bob)character: talk(name=Bob, text="Today I'm...").............................
end() // End of the program, black out and no sound
Structure of a TVML script
CG Setup
set: openmodel( name=Hall, filename="Set\hall\hall.obj" )set: change( name=Hall )
・ Open CG daa file and name it and change to the set・ Could be "C:\Program Files\T2VPlayer\Datafiles\Set\hall\
hall.obj"
character: openmodel( model=MEI, filename="Character\mei\mei.bm" )character: casting( name=A, model=MEI )
・ Open TVML character file and name it as a model name・ Name a character in a script and bind the model name to the
character
Anywhere in a script
SET
CHARACTER
CG Setup
light: flat( name=L1, r=0.70, g=0.70, b=0.70, vx=-1.0, vy=1.0, vz=1.0 )light: point( name=L2, r=0.9, g=0.9, b=0.9, x=0.0, y=1.5, z=-2.0 )
・ Flat light, Point light and Spot light are available・ Enable to turn on/off the named light
camera: position( name=CamA, ry=50, rx=10, rz=0, x=5.0, y=1.0, z=3.0, vangle=45.0 )
camera: switch( name=CamA )
・ Setup a camera and name it and set position, orientation and view angle
・ Enable to switch and move the named camera
LIGHT
CAMERA
CG Setup
prop: openmodel( name=Guitar, filename="Prop\guitar\guitar.obj" )prop: position( name=Guitar, x=0.5, y=1, z=1.5, rx=0, ry=0, rz=0, scale=
1.5 )prop: visible( name=Guitar, switch=off )
・ Open CG data fil and name it・ Set position, orientation and scale of the camera・ Enable to make it visible/invisible
PROP
prop: move( name=Guitar, x=3, y=2, z=1, tspeed=3.5s )prop:openimageplate( name, filename, hsize, vsize, aspect)prop: attach(name, target, joint, switch, x, y, z, rx, ry, rz, scale )
・ Enable to move by specifying the destination・ Enable to use image and movie 2D plate in the 3D world as
prop・ Enable to attach a prop to a joint of a character, etc.
Character animation example
character: talk(name=A, text="Am I speaking in synthesized voice?")character: talkfile(name=A, filename="testsound.mp3")
・ Lipsync is automatically done with TTS・ You can change speed, pitch and volume of TTS speach・ Enable to use audio data file (mp3) to make a character
speakwith auto lipsync
SPEAK
Character animation example
character: walk(name=A, x=1.0, z=2.5)character: sit(name=A)
・ walk, stop, sit, step, turn, jump, bow, look, gaze, tumble, shake, etc.
PRE-DEFINED MOVEMENTS
character: definepose(name=A, pose=P1, joint=UpperArm, rx=45.0, rz=-32.0)
character: pose(name=A, pose=P1)
・ Give rotation angle of a specified joit, and call it to move the character
POSE COMMAND
character: openmocap(motion=MC1, filename="test.bvh" )character: mocap(name=A, motion=MC1)
・ Open BVH data file and name it then call it to give the motion
MOCAP COMMAND(motion capture)
Other commands
movie: open ( name=M1, filename="some.mpg" )movie: play( name=M1 )
・ Open movie data file (avi, mpg) and name it・ Control the movie by commands such as play、 stop、 pause・ You can put a movie plate in 3D space by
"prop:openmovieplate()"
MOVIE
sound: open ( name=S1, filename="thing.mp3" )sound: play( name=S1 )sound: fade( name=S1, level=bg )sound: level( name=S1, level=-14.5dB )
・ Open sound data file (mp3, wav) and name it・ Control the sound by commands such as play、 stop、 pause・ Enable to use audio mixer function such as fade and level
control
SOUND
title: on ( bg="back.jpg", text="TEST IMAGE" )title: off( )
・ Instant title display to display image data and a text
TITLE
super: on ( text="This is it", x=35%, y=40% )super: off( )
・ Instant superimpose to display given text at a certain position
SUPER
↑ Those are instant version of title & super. If you need more complex ones use "drawing" commands
Other commands
drawing: openbase ( name=D1, x=0, y=0, width=30%, height=20%, color=aacc66)
drawing: display ( name=D1 )
・ Define a base-plane and display it
DRAWING
drawing : settext ( name=T1, parent=D1, text="This is it", x=35%, y=40% )
・ Display texts
drawing : settimage ( name=T1, parent=D1, filenbame="picture.jpg", x=35%, y=40% )
・ Display image files
Other commands
drawing: move(name=D1, x=30,speed=10s )
・ You can move the base-plane
DRAWING
Other commands