Adventure Game Studio

AGS Support => Beginners' Technical Questions => Topic started by: Nickydude on Tue 30/12/2008 17:42:31

Title: Speech Animation
Post by: Nickydude on Tue 30/12/2008 17:42:31
Two questions if someone can point me in the right direction:

1/. How do I change the speech anim speed? I tried changing the delay under the character tab and the speech view tab but it doesn't seem to affect the actual animation in game. I have searched but the answers seem to be about V2.72 and the interface is different.

2/. Is it possible to pick random frames from a speech anim instead of doing the same set of frames over and over for long speeches?

Thanks.  ;D
Title: Re: Speech Animation
Post by: on Tue 30/12/2008 18:01:21
Quote from: Nickydude on Tue 30/12/2008 17:42:31
1/. How do I change the speech anim speed?
2/. Is it possible to pick random frames from a speech anim instead of doing the same set of frames over and over for long speeches?

1- I think this is impossible, but I *could* be mistaken.

2- Not without writing your own "speak" function. But you could use the lip-synch feature, which assigns frames of your view to letters/syllables to create, er, lip synch speech. Just create about 19 frames, enter their values to match the letters, and you will at least have a larger variety of frames, displayed in a natural fashion.
Title: Re: Speech Animation
Post by: Nickydude on Tue 30/12/2008 18:07:23
Thanks Ghost.

QuoteI think this is impossible, but I *could* be mistaken.

That's a bit of a let down if you can't. You can change the delay when editing the character or a speech view: Loop:, Frame:, Delay: so I can't see why changing the delay here won't change the actual delay in game.
Title: Re: Speech Animation
Post by: on Tue 30/12/2008 19:04:07
CJ alone knows all the internal workings of AGS, but I think the engine figures out the length of time a text has to be displayed based on a default delay modified by the length of the string. If you could freely alter the speech view this would produce arkward results- frames would appear to "hang", for example. But as I said, you *can* write your own speech function, and within that function, you can use your speech view with all the delays you enter. I would suggest using a mix of player.SayBackground (non-blocking speech) and
player.LockView (to switch to the speech animation). If this is what you're looking for...
Title: Re: Speech Animation
Post by: Trent R on Tue 30/12/2008 19:16:02
You might be able to create multiple views for speech, and use a function to randomly change it with Random() and player.SpeechView

And if you're writing your own, look at Extender functions in the manual. That will help you out.


~Trent
Title: Re: Speech Animation
Post by: Pumaman on Fri 02/01/2009 18:04:03
Quote from: Nickydude on Tue 30/12/2008 17:42:31
1/. How do I change the speech anim speed? I tried changing the delay under the character tab and the speech view tab but it doesn't seem to affect the actual animation in game. I have searched but the answers seem to be about V2.72 and the interface is different.

If you're using Sierra-style speech, the overall speed is fixed at 5 but you can set the individual Frame Delay settings on the view to modify it.

If you're using Lucasarts-style speech, the game.talkanim_speed setting allows you to specify the overall speech anim speed (default is also 5).

This really needs to be made into a proper character-specific property, which I will do in a future version of AGS.