Forum rules - please read before posting.

[Suggestion] Ability to combine multiple different Blendshapes in a single Expression

One thing I really like in AC is the ability (comparatively new I think) to synchronise blendshape expressions with the [expression:xxx] token. It really adds life to the characters with minimal effort (I'm a big fan of minimal effort)

I don't know how easy it would be to implement, but I'd find it really handy to be able to assign multiple blendshapes with different weights to each expression, in order to create some subtle variations

For example, the model I'm currently using for the Player character has both an "Angry" and a "Scared" blendshape. As things stand I can only create corresponding "Angry" and "Scared" expressions, each of which is 100% of the appropriate blendshape

However it would be cool to be able to create, for instance, a new "Scangry" expression (a bit scared, but a bit angry too, "grrrr, you pesky zombies, get offa my lawn!"), comprising, say, 50% of each

If you did decide to implement this then the total of all the used blendshapes should be able go over 100% for any one expression, as the user might want to combine, for example, BrowsUp=75% + SmileLeft=75% + WinkRight=100%, or whatever

No biggie if you don't feel it would be worth while implementing, as the existing mechanism is already pretty neat as it stands, but no harm in asking


Comments

  • I can see where you're coming from - indeed, it's a useful trick.

    However, I think this is something of a slippery slope where "feature creep" is concerned, as there are other, more dedicated, assets out there that handle this specific aspect much better than a general purpose AC aims to.  In particular, LipSync Pro / Lite does this well - and is compatible with AC.
  • edited May 2018
    No problem

    I've already got LipSync Pro, and may integrate it into the project at some point (although my current strategy is to avoid using extra third party add-ins where possible, because there's just too much scope for conflicts and breakages, when the add-in or AC changes)

    It was the automatic sync'ing by AC of blendshape/expression with the [expression:xxx] token that was attractive, but I can understand your reluctance to expand a facility that's already working well enough for most people's needs

    I've just now had a quick look at doing something quick and dirty myself, using the EventManager.OnStartSpeech event, but unfortunately it looks as if the [expression:xxx] token has already been stripped from the speech text at that point

    Oh well, I may come back to it later if I get a spare moment...
  • edited May 2018
    The text parameter in the OnStartSpeech event is the display text, yes - but it also includes the ID number of its listing in the Speech Manager.  So long as you've gathered the text into the Speech Manager, you can retrieve the line's entry to get the original, unaltered, text:

    SpeechLine speechLine = KickStarter.speechManager.GetLine (lineID);
    string originalText = speechLine.text;
  • Thanks. That's useful to know

    I needed to switch off some of the Speech/Audio options (which I won't be needing anyway) in order to avoid triggering a warning message when calling GetLine, but after I'd done that it worked perfectly

    As I've already written a small expression handler (to control automatic blinking and random looking around) I may try and extend it a bit further using that information
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.