How to create gestures and facial expressions without changing the outfit of a person

  • #1, by marvelSunday, 01. December 2013, 16:02 11 years ago
    Dear communiy,
    i'd like to have my person talking in differend moods like sad, happy or angy. The ingame behavior needs to be smooth and direct without a loading delay. So... how can i create gestures and facial expressions without changing the outfit of a person? smile

    Key Killer

    598 Posts


  • #2, by afrlmeSunday, 01. December 2013, 16:33 11 years ago
    character animations?
    & manually create/select talk animations, which would also allow you to lip sync too; if you want.

    if you preload the outfit then it shouldn't need to load anything & there should be no delay.

    you could also create a single animation & then use lua to control the start & end frame values. this would probably be a good method to use for creating/selecting phoneme speech animations.

    Imperator

    7278 Posts

  • #3, by marvelSunday, 01. December 2013, 18:02 11 years ago
    Hmm... you say it would be possible to have a "long" talk animation with all of the facial expressions of a direction? I'd like to try that... maybe its much easier than using the outfits.

    I think about the following behavior:
    1. Person talks in a normal way
    2. I set the value "mood" to "angry"
    3. Animation: Person changes from normal to angry (He raises his fist)
    4. Person talks in an angry way (fist risen)

    How am i able to jump to a special frame via lua, based on a set value?

    Key Killer

    598 Posts

  • #4, by afrlmeSunday, 01. December 2013, 18:37 11 years ago
    Using Lua we can determine the first & last frame of an animation which allows us to select a chunk/section of an animation that we want to play.

    VAnimationFirstFrame lets us set the initial frame in which we want the animation to play from, whereas VAnimationLastFrame lets us set where we want the animation to finish playing. The frames you set here also get taken into account for looping too, so in other words: it will only loop between the frame values you have assigned.

    example:
    getObject("ActiveAnimations[some animation]"):setValue(VAnimationFirstFrame, 5) -- set the initial frame to 5
    getObject("ActiveAnimations[some animation]"):setValue(VAnimationsLastFrame, 13) -- set the last frame to 13
    


    you could use an hook for checking if displayed text is about to be displayed & then check via an if query which animation should be played & then set it via the lua I provided above or you could create a called by other action part for checking or setting which animation should be triggered.

    I guess the reason you don't want to use the character animations is because you intend to use the default talk animation feature of Visionaire Studio as opposed to manually calling the animations as required for lip syncing etc?

    Imperator

    7278 Posts