Forum rules - please read before posting.

[Feature Requests] Head-turning, lip-syncing, ActionList Editor

Hi Chris,

while working on our game, some thing came into my mind:

1) Character: Face direction action
The "Character: Face object" action has the possibility to choose whether to face with the whole body or the head only. Is it possible to implement this feature to the "Character: Face direction" action? Currently I set up different empties to turn my characters head around in ActionLists, but the possibility to move their heads only using "Character: Face direction - Up Left" would make things a lot easier.

2) ActionList Editor
Is it technically possible to implement scrolling in the ActionList Editor when moving an action at the edge of the editor window? Right now, if I want to drag an action from the top of the action list to the bottom (in an action list that is several pages long), I have to grab it and move it to the bottom of the window. Then scroll the window, move the action again to the bottom, scroll window... It would be nice to have scrolling the window automatically when moving an action to the top/bottom edge instead. I guess that is a Unity thing and I don't know about the control features that Unity offers.

3) Fallback solution for talking
I'm using RogoLipSync for lip syncing im our game. It's nice to set up extended dialogues with animations, emotions, etc. with it, but in a game with 25.000+ lines of speech that it will feature, it won't be possible to set up every speech line with RogoLipSync. Especially with all speech lines that will be spoken if the player character is far away from the camera, this would be overkill. It would be cool to have all the close-up dialogues done with LipSync and all the minor speech lines done with some kind of fallback solution. I'm not aware if maybe a default talk animation would be played, if for example a RogoLipSync asset for a speech line is not found, but if not, that would be a cool thing.

4) Auto head-turning to hotspots
I use (and love) the "Player turns head to active hotspot?" feature found on the AC settings page, but I want that feature to be switched off when looking to a scene exit. Would it be possible to add a check box to the hotspot component to prevent head turning for a hotspot?

5) Speech file naming
In former games I always used a quite detailed naming of speech files. For example if a character speech line was "Hello there! Nice to meet you mate!", I used a file called "HelloThereNiceToMeet.mp3" for the speech lines audio. It made looking up speech audio files during game creation very easy. I like AC's way of auto-naming though, but a mixture of both practices would be awesome. What about allowing the auto look-up of speech files by using the starting characters of the file name with the possibiliy for additional free text after a specified token, maybe the underscore (_), so that AC would ignore everything after the token. For example:
Speech line in game: "Hello there! Nice to meet you mate!" (spoken by player)
Auto-named speech file would be: "Player34.mp3"
Auto-named and altered speech file: "Player34_HelloThereNiceToMeet.mp3"
Auto-naming would work perfectly with it and aditionally game designers could add a text of their likings afterwards.

If something is not clear or not understandable at all (which I think is always possible, since english is not my native language) don't hasitate to ask.

Cheers
MAC

Comments

  • All perfectly understandable, thanks.

    1) Character: Face direction action
    Possibly.  Will consider.

    2) ActionList Editor
    I don't believe so, and this'll be down to what Unity provides in the way of Editor controls.  I agree that it would be a useful feature, though.

    3) Fallback solution for talking
    I agree - if no suitable lipsync file is found, then a standard talk animation should play.

    4) Auto head-turning to hotspots
    Yes - again, I agree this would be useful.

    5) Speech file naming
    I see where you're coming from, but you'd then be introducing the problem of conflicting duplicates, e.g. "Player34_OldBackup" would also get recognised as equally valid.  Not too sure.
  • 2) ActionList Editor
    Yes, that's what I guessed.

    5) Speech file naming
    Sure, you're right. Conflicting dublicates would be a problem. Only choosing the first found and ignoring the rest could work, but that would be some kind of "dirty" solution.
  • 25.000+ lines of speech??? That's not a game - that's a novel! :D
  • 1) Character: Face direction action

    After considering, I think this will create more problems because of what constitutes a perfect "down", "left" etc head-turn will vary from character to character (taking varying heights and sizes into account, etc).

    A custom Action would be the best approach for this - you could create an Empty to use as a character's head target, make it a child object, and use an Action to set it's position according to your own Enum.  You can use the SetHeadTurnTarget function to manually position the facing position.

    3) Fallback solution for talking

    Unfortunately I see no sensible way of doing this, aside from using the fact that the "Talking" bool parameter you assign your character will always be True when talking - regardless of whether or not lipsync is involved.

    The ideal solution would be either to a) define a "fallback" LipSync file that plays when no other is available, or b) revert back to e.g. text-based lipsyncing.  a) is not possible because LipSync files won't play without an AudioClip, and b) would cause conflicts with having two competing lipsync methods running in the same project.

    Is the "Talking" bool not enough?  I wonder if, were you to animate fallback mouth movements as part of a "standard" talk animation, they'd be overridden by LipSync unless no suitable LipSync file exists.

    4) Auto head-turning to hotspots

    This will be included in v1.51.
  • 3) Fallback solution for talking

    Thinking about it, the best solution right now would probably be to have an Action that dynamically changes the lip-syncing method back and forth between Rogo LipSync and From Speech Text.  All you have to do is manipulate the lipSyncMode variable:

    AC.KickStarter.speechManager.lipSyncMode = LipSyncMode.FromSpeechText;

    You could then call this Action before and after any time you want to revert to automatic lipsyncing.
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.