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
2022-01-07 17:01:15 +09:00
2022-07-20 13:23:32 +09:00
2022-06-24 17:23:47 +09:00
2018-12-28 23:40:21 +09:00
2022-01-07 17:01:15 +09:00
2021-10-25 14:48:24 +09:00
2020-05-21 15:53:19 +09:00
2019-01-09 17:01:27 +09:00
2021-09-27 17:49:38 +09:00
2022-01-07 17:01:15 +09:00
2021-12-10 15:09:41 +09:00
2021-04-06 13:02:36 +09:00

UniVRM

UniVRM is unity package for Import and Export VRM Format

Download

Manual

API Document

License

Description
UniVRM is a gltf-based VRM format implementation for Unity. English is here https://vrm.dev/en/ . 日本語 はこちら https://vrm.dev/
Readme 125 MiB
Languages
C# 97.9%
HLSL 1%
ShaderLab 0.8%
Python 0.2%