|
|
Maybe the solution to the Neanderthalness is to just stay within the lines
of the image I'm using as a rotoscope--you can see the box in the anim.
IIRC I had moved the frontal face flesh that far out so teeth would not
break the surface as the jaw opened.
LIPS?? I've figured out that Veggie Tales have lips (& mouth) which are a
mere bitmap pasted on the front. The thought of making a lip on a blob face
that would lend itself to lip-sync voice shapes just blows my mind.
> Was it a lot of work to synchronize the movement
> with the sound or do you have a way to do that
> automatically?
P O V R A R O X B A B E
It just had twelve phonemes (sp?). I loaded the sound clip into MainActor
and played the track against an animation of frame numbers. After a half
dozen tries I had a frame number for each phoneme. The mouth is just two
half-cylinders that cut into the face. On a sheet of paper I figured out
the scaling factors for top & bottom cylinder as a function of frame number.
Then I made a simple linear_spline in pov that incorporated the cylinder
scalars into the x,y,z of a vector.
I don't think I"m too far from my ultimate goal: a system where I simply
type into pov code:
"p,o,v,r,o,x,b,a,b,e"
and
"0,0.15,0.18,0.22,0.25, ..."
Post a reply to this message
|
|
|
|
Greg M. Johnson wrote:
> I don't think I"m too far from my ultimate goal:
> a system where I simply type into pov code:
> "p,o,v,r,o,x,b,a,b,e"
> and
> "0,0.15,0.18,0.22,0.25, ..."
Have you considered mouth expressions? Like joy, anger, sadness etc. It
is possible to make a system which combines expression keys together
with phoneme keys, which makes a very flexible mouth. You will also
often find, that sometimes you need a phoneme pronounced more strongly
than other times, dependent on how much pressure is put on it. That too
can be done with weighted averages of mouth keys.
Here's how the data looks like in my system - the lip_key() macro takes
the key name, the weighting, and the time value. The lip_store() macro
is similar, except that it stores a key permanently, until it is reset
with the lip_reset() macro. So you can have the same sentence pronounced
with completely different expressions by changing just a single line in
the code.
lip_store("lip_joy",0.3)
lip_key("lip_closed", 1.0, 0.01)
lip_key("lip_closed", 1.0, 2.60)
lip_key("lip_w", 0.6, 2.70) // w
lip_key("lip_ar",0.6, 2.75) // a
lip_key("lip_n", 0.6, 2.80) // nna
lip_key("lip_p", 0.6, 2.95) // p
lip_key("lip_l", 0.6, 3.00) // l
lip_key("lip_eh",0.6, 3.05) // a
lip_key("lip_iy",0.6, 3.15) // y a
lip_key("lip_r", 0.6, 3.25) // r
lip_key("lip_ar",0.6, 3.35) // o
lip_key("lip_w", 0.6, 3.40) // und with
lip_key("lip_l", 0.6, 3.60) // l
lip_key("lip_ih",1.0, 3.65) // i
lip_key("lip_p", 0.6, 3.70) // p
lip_key("lip_s", 0.6, 3.80) // s
lip_key("lip_y", 0.8, 3.90) // y
lip_key("lip_ng",0.6, 4.00) // nch
lip_key("lip_a", 1.0, 4.15) // e
lip_key("lip_eh",1.0, 4.30) // h
lip_key("lip_closed", 1.0, 4.55)
lip_key("lip_closed", 1.0, 5.00)
lip_reset()
lip_store("lip_joy",0.6)
lip_key("lip_closed", 1.0, 5.80)
lip_key("lip_closed", 1.0, 6.90)
Rune
--
3D images and anims, include files, tutorials and more:
rune|vision: http://runevision.com (updated Oct 19)
POV-Ray Ring: http://webring.povray.co.uk
Post a reply to this message
|
|