UMA OneClick

Special instructions:

NOTE: OneClickUmaDcs requires SALSA LipSync Suite v2.1.0+ and OneClickBase v2.1.5+

Since UMA is a run-time character system with many options, our setup scripts are slightly different than our other one-clicks and meant primarily to demonstrate what is possible when using the SALSA LipSync Suite with the UMA system. The SALSA Suite leverages the UMA Expression Player system for implementing the OneClick functionality. Using this system, it is easy to also leverage design-time preview mode, making it much more approachable to add/modify ExpressionComponents. It is; however, also possible to use UMA using Bone controller types if you prefer -- however, this would required the designer to implement this option manually.

We have developed a special controller type for use in SALSA Suite components: UMA. This controller type adds a proxy component (UmaUepProxy) to the GameObject that allows the core system to communicate with the UMA OneClick without the requirement of dealing with the dependencies of the UMA system in the core SALSA LipSync Suite. The OneClick for UMA also requires a "driver" component (UmaUepDriver), which is included in the OneClick package for UMA. This driver is the middleware to the UMA system -- it does have a dependency on the UMA package and will generate errors if it is imported into your project without UMA already being present. Once UMA is imported all errors should disappear.

NOTE: If re-configuring an UMA avatar at runtime, please also see the Runtime Setup documentation and in particular, the UMA Considerations portion of that document.

Applying UMA OneClick

OneClickUmaDcs can be applied to any GameObject; however, for correct one-click operation, ensure you apply it to the root object where the UMA avatar is configured. We use the "Getting Started" option to setup an UMA character, leveraging the prefabs for UMA_DCS and UMADynamicCharacterAvatar in-scene.

The OneClick is applied to the UMADynamicCharacterAvatar in-scene.

UMA Preview Mode

SALSA LipSync Suite leverages the avatars used in the UMA Core Tool - Expression Clip Editor (In the Examples folder) for preview. Therefore, for preview mode to work, the UMA / Examples / Expressions Examples folder must be present in your project. Once you have configured your avatar and no further configuration is required, you may remove this folder if desired. You may also remove the prefabs in the Crazy Minnow Studio / Addons / OneClickUMA folder.

NOTE: for preview operation, the UmaUepDriver component must be open in your GameObject's Inspector window.

UMA Selective Eyes Module Implementation (Eye/Head)

If you wish to use your own Head or Eye animation method, you may do so by disabling the options in the UmaUepDriver component (in the Inspector). Simply uncheck the appropriate checkbox. We recommend using these options, but you are free to disable them if you wish.

UMA Setup - Manual Mode

It is also possible to use the UMA OneClick with other manual UMA-based setups. If you are setting your character up differently from the UMA GettingStarted method, it is likely the OneClick will work with it providing you adhere to a few caveats.

  1. OneClick requires UMAExpressionPlayer.
  2. You will need to configure the UMAExpressionPlayer yourself.
  3. You will need to call our driver to initialize the process.

To implement a OneClick UMA setup without using the GettingStarted prefab method:

  • Same as previous, apply the OneClick to your avatar root.
  • On the UmaUepDriver, disable (uncheck) the "UMA Character is Dynamic" option.
  • Configure an UMAExpressionPlayer on your avatar and you will need to configure it with these parameters: UMAExpressionPlayer.expressionSet = yourExpressionSet;
    UMAExpressionPlayer.umaData = yourUmaData;
    UMAExpressionPlayer.Initialize();
  • Finally, programmatically call our UEP driver manual start function, passing a link to the UMAExpressionPlayer you just configured:
    UmaUepDriver.ManualStart(yourUMAExpressionPlayer);