rpm-unity-sdk-core
rpm-unity-sdk-core copied to clipboard
Oculus Lip Sync integration with Ready Player Me Avatar isn't working in Unity
Describe the bug We are using Ready Player Me to load avatar in our VR application. We previously Loaded an Avatar into a Scene and integrated with Oculus Lip Sync which is working fine. Now when we try to load new avatar, lip sync is now working properly. The animation not being shown for lips but a weird animation is being shown on face when Avatar is speaking. We haven’t changed anything in recent days in code.
Files Sample .glb file: https://models.readyplayer.me/6707a135d1083a8f61ec1374.glb
To Reproduce Steps to reproduce the behavior:
- Load Avatar into a Scene
- create a GameObject and add OVR Lip Sync Context and OVRLipSyncContextMorphTarget Scripts of Oculus lip sync.
- Add created GameObject AudioSource to OVR Lip Sync Context script.
- add speech MP3 file to audio source and check play on awake.
- Update Skinned Mesh Renderer of OVRLipSyncContextMorphTarget with Loaded Avatar Head's Skinned Mesh renderer.
- Run the scene.
Expected behavior Loaded Avatar showing lip sync with the content in Mp3 file.
Screenshots
Desktop (please complete the following information):
- Ready Player Me Core version - 7.3.1
- Ready Player Me WebView version - NA
- glTFast version - 6.8.0
- Unity Editor version [e.g. 2021.2.1f1] - 2022.3.41f1
- Render Pipeline and version [e.g. Universal Render Pipeline 12.0]
- Operating System [e.g. Windows, Mac, Linux ] - Windows 11
- Platform: Editor and Android (VR Application)
I got stuck on the same issue but was able to solve it by using this workaround https://forum.babylonjs.com/t/glb-morph-targets-missing/38074/3
It looks like an Avatar Loader bug because it ignores the configuration file. You have to specify what blendshapes you need and put them as parameters in Avatar URL in the loader. For example
https://models.readyplayer.me/6707a135d1083a8f61ec1374.glb?morphTargets=Oculus%20Visemes,mouthSmile,eyeBlinkLeft,eyeBlinkRight
It will complain that the URL is invalid but will import the model properly.