New Version 1.3.3:
We're happy to announce SALSA with RandomEyes version 1.3.3 has been submitted to the Asset Store. This is a minor release containing a few new features to enhance usability, and provide greater flexibility across implementations.
We've moved, improved, and made public the previously private editor method that creates the RandomEyes3D gizmo that assists with eye tracking. The new public method [FindOrCreateEyePositionGizmo()] will check the character hierarchy for an existing gizmo, create one if it doesn't exist, and now attempts to auto position itself between the characters eyes using the existance of eye bones. Obviously, if your character doesn't have eye bones, it can't auto position and will need to be placed manual as was done previously. For RandomEyes3D custom shapes, the not random [!Rand] label is now clickable to toggle select/deselect all. This is great for Autodesk, Fuse, and DAZ3D characters that have tons of blendshapes where you can exclude all shapes from random selection, then selectively add appropriate shapes back into the mix. This is a real time saver.
For Salsa2D and Salsa3D, we've added a new method [LoadAudioClip(string clipName)] that works similar to [SetAudioClip(AudioClip clip)] but loads AudioClips from a [Resources] folder using the clip name without the file extension. Finally, we've relaxed the coupling between the Salsa2D and Salsa3D inspectors and the associated AudioSource component. This relaxed coupling will provides greater flexibility by allowing you to set an AudioSource.clip and use AudioSource.Play() directly. If Salsa2D or Salsa3D is on the same GameObject as the AudioSource, SALSA will still perform lip synchronization. However, this means that if you are setting the AudioSource.clip directly, the SALSA inspector Audio Clip field will not reflect the change. However, changes to SLASA will propagate to the AudioSource.
Check the link below for the release notes.
Simple Automated Lip Sync Approximation
~ We look forward to seeing what you create! ~