UniVRM/Assets
Takayuki Matsuoka 935afcb80d Add new pseudo method NextFrameIfTimedOut to RuntimeOnlyAwaitCaller
This change adds (pseudo) method RuntimeOnlyAwaitCaller.NextFrameIfTimedOut()
which invokes NextFrame() if given time is elapsed.  Otherwise, it does nothing.

We'll be able to utilize this (pseudo) method to ease possible cause of spikes.

For example:

----
public class VRMImporterContext : ImporterContext {
  protected override async Task OnLoadHierarchy(IAwaitCaller awaitCaller, ...) {
    ...
    var blendShapeList = VRM.blendShapeMaster.blendShapeGroups;
    if (blendShapeList != null && blendShapeList.Count > 0) {
      foreach (var x in blendShapeList) {
        await awaitCaller.NextFrameIfTimeout();
        BlendShapeAvatar.Clips.Add(await LoadBlendShapeBind(awaitCaller, x, transformMeshTable));
      }
    }
    ...
  }
}
----

Note that this change doesn't add NextFrameIfTimeout() to IAwaitCaller to avoid
breaking change.  This limitation introduces extra (maybe unnecessarily) complexity.
2022-09-07 17:51:10 +09:00
..
UniGLTF mv CachedEnum namespace to UniGLTF.Utils 2022-09-07 15:59:35 +09:00
VRM mv CachedEnum namespace to UniGLTF.Utils 2022-09-07 15:59:35 +09:00
VRM_Samples Create an asmdef named UniGLTF.Utils 2022-09-07 15:53:59 +09:00
VRM10 mv CachedEnum namespace to UniGLTF.Utils 2022-09-07 15:59:35 +09:00
VRM10_Samples mv CachedEnum namespace to UniGLTF.Utils 2022-09-07 15:59:35 +09:00
VRMShaders Add new pseudo method NextFrameIfTimedOut to RuntimeOnlyAwaitCaller 2022-09-07 17:51:10 +09:00
UniGLTF.meta UniGLTF を移動して、admdef を調整 2020-11-24 18:59:56 +09:00
VRM_Samples.meta copy Samples~ to under Assets 2021-10-14 19:28:31 +09:00
VRM.meta Move Assets/* (expect Plugins) to Assets/VRM/* 2018-12-29 13:21:42 +09:00
VRM10_Samples.meta copy Samples~ to under Assets 2021-10-14 19:28:31 +09:00
VRM10.meta merge vrm10 2021-01-07 13:37:24 +09:00
VRMShaders.meta mv Assets/VRM/MToon,UniUnlit,ShaderProperty to Assets/VRMShaders 2020-06-19 12:56:57 +09:00