01-12-2023 10:12 AM
I want to use avatars from Meta SDK as NPCs in an experience that I'm developing, using some Mixamo animations to make them look more alive. However I can't find a way to add an Animator controller to the OVRAvatarEntities.
Has anyone done this?
01-12-2023 01:50 PM - edited 01-12-2023 01:50 PM
I think there might be a simpler way of doing this.
01-12-2023 02:09 PM
Didn't think of that. Do you have a tutorial, documentation or something that shows the basic usage of RecordStreamData?
03-16-2023 11:37 AM
HI, guys!
Did you find some workable solution with OvrAvatarEntity.RecordStreamData() and OvrAvatarEntity.ApplyStreamData()? I tried several variants and all of them are failed. I have a lot of warnings about "Failed to apply stream data" and "assertion failed".
05-23-2023 04:35 AM - edited 05-23-2023 04:37 AM
PacketData packet = new PacketData();
packet.lod = lod;
packet.dataByteCount = SourceAvatar.RecordStreamData_AutoBuffer(lod, ref packet.data);
if (lod == recordLOD || recordLOD == StreamLOD.Full)
recordedAvatarData.Data.Add(packet);
// recordedAvatarData.Data is scriptable struct for holding list of PacketData
//Read data (preferably in LateUpdate but depending on your needs):
// iterate over your recordedAvatarData.Data
if (packet.lod == recordLOD || recordLOD == StreamLOD.Full)
loopbackAvatar.ApplyStreamData(data);
The only problem with this approach is: you can not loop animation, it always breaks. Currently only workaround i found is to play it using ping-pong (from beginning to the end, then from end to beginning)
05-23-2023 07:17 AM
Small update!
I miracleously solved the mystery (although its still work-around) but this time with no drawbacks.
zeroing-out 2 values in avatar data apparently responsible for ovrAvatar2StreamingPlaybackState.remoteTime
these two values indexes are 12 and 13 (in all low/medium/high data types)
01-30-2024 06:59 AM
Very appreciate your work!
I am curious that how do you find out 12&13 are indexes responsible for ovrAvatar2StreamingPlaybackState.remoteTime?
Since I didn't find a way to decompose PacketData.data structure
Thanks!