Commit Graph

4256 Commits

Author SHA1 Message Date
Takayuki Matsuoka
a68d0122ce BREAKING CHANGE: Introduce NextFrameIfTimedOut as a new interface method of IAwaitCaller
This is a breaking change since it introduces new interface method to IAwaitCaller.

----

NextFrameIfTimedOut() is added to IAwaitCaller.  The following inheritors also introduce the method.

- ImmediateCaller.NextFrameIfTimedOut() just invokes NextFrame().
- RuntimeOnlyAwaitCaller.NextFrameIfTimedOut() invokes NextFrame() if timed out.  Otherwise, do nothing.
- RuntimeOnlyNoThreadAwaitCaller.NextFrameIfTimedOut() works same as RuntimeOnlyAwaitCaller.

Constructor of RuntimeOnlyAwaitCaller and RuntimeOnlyNoThreadAwaitCaller
now take argument of timeout in seconds.  The default value is 1/1000 (1 milliseconds).

See also:
https://github.com/vrm-c/UniVRM/pull/1781#pullrequestreview-1100131840
2022-09-08 17:39:05 +09:00
Takayuki Matsuoka
8399f9cd18
Merge branch 'vrm-c:master' into iawaitcaller-nextframe-iftimedout 2022-09-08 10:41:18 +09:00
ousttrue
fba82f02a8
Merge pull request #1779 from Santarh/crOption
Add the `GenerateControlRig` option to VRM 1.0 Importer.
2022-09-07 19:47:10 +09:00
Masataka SUMI
9c88a9761c Add generateControlRig option to VRM 1.0 Importer 2022-09-07 18:51:23 +09:00
Masataka SUMI
e7ed265d67 refactoring 2022-09-07 18:22:11 +09:00
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
Masataka SUMI
12ac6e372e Apply localPosition while bvh motion transfer in VRM10 Viewer. 2022-09-07 16:44:43 +09:00
Masataka SUMI
f06d4bdd35 Create the ControlRig at a child of the VRM instance root. 2022-09-07 16:36:29 +09:00
ousttrue
6b41e34071
Merge pull request #1778 from Santarh/enumFast
Caching Enum.GetValues with implementation of CachedEnum class
2022-09-07 16:30:57 +09:00
Masataka SUMI
0dfa783406 mv CachedEnum namespace to UniGLTF.Utils 2022-09-07 15:59:35 +09:00
Masataka SUMI
b986130817 Create an asmdef named UniGLTF.Utils 2022-09-07 15:53:59 +09:00
Masataka SUMI
8b9491e5a9 mv 2022-09-07 15:46:51 +09:00
Masataka SUMI
894ba1ecec Use CachedEnum instead of EnumUtil 2022-09-07 15:42:41 +09:00
Masataka SUMI
29163a43b1 Use CachedEnum 2022-09-07 15:38:02 +09:00
Masataka SUMI
85a3f0fe3a fix 2022-09-07 15:20:06 +09:00
Masataka SUMI
613a783d1e Refactoring 2022-09-07 15:16:41 +09:00
Masataka SUMI
996bc91c93 Rename CacheEnum to CachedEnum 2022-09-07 15:04:23 +09:00
ousttrue
da04ce7379
Merge pull request #1777 from Santarh/removeOption
Remove the VRM 1.0 importer option about the normalization of node transforms.
2022-09-07 14:29:51 +09:00
Masataka SUMI
f8fe9daa1e Remove the VRM 1.0 importer option about the normalization of node transforms. 2022-09-07 14:19:04 +09:00
ousttrue
20be242bfa
Merge pull request #1776 from Santarh/controlRIg4
Change access modifiers, Add methods, about ControlRig
2022-09-06 21:38:23 +09:00
Masataka SUMI
94ddfa9db7 Update Sample 2022-09-06 21:19:58 +09:00
Masataka SUMI
e4041895f4 add EnforceTPose method to ControlRig 2022-09-06 21:19:27 +09:00
Masataka SUMI
3753c6cde7 make IVrm10Constraint access public 2022-09-06 20:12:10 +09:00
Masataka SUMI
1e52889cc2 make Runtime Process methods internal. 2022-09-06 20:04:16 +09:00
ousttrue
157c48ca06
Merge pull request #1775 from Santarh/controlRig2
Refactoring about ControlRig
2022-09-06 20:02:51 +09:00
Masataka SUMI
4649f7aa60 Merge branch 'master' of https://github.com/vrm-c/UniVRM into controlRig2 2022-09-06 19:52:34 +09:00
ousttrue
aedfd5c850
Merge pull request #1774 from Santarh/contolRig
Rename class names about FKRetarget into ControlRig
2022-09-06 19:51:33 +09:00
Masataka SUMI
411db43ad7 remove unused 2022-09-06 19:43:59 +09:00
Masataka SUMI
072031973c Refactoring about RuntimeControlRig 2022-09-06 19:26:40 +09:00
Masataka SUMI
beb37abe3b Remove unused variables 2022-09-06 18:33:17 +09:00
Masataka SUMI
6f67676fe9 rename class name 2022-09-06 18:22:25 +09:00
ousttrue
e73840aec1
Merge pull request #1768 from ousttrue/feature10/fk_retarget
Feature10/fk retarget
2022-09-06 18:02:19 +09:00
ousttrue
41e8628ae8
Merge pull request #1765 from ousttrue/fix/use_optional_for_index
glTFTexture.source type to int?
2022-09-05 19:05:26 +09:00
ousttrue
908343c794 有っても無くても 2022-09-05 18:44:43 +09:00
ousttrue
d974ddfa57 out (SubAssetKey, TextureDescriptor) を 2つの out に展開 2022-09-05 18:41:12 +09:00
ousttrue
98bed36d20
Merge pull request #1763 from ousttrue/fix10/aim_axis_reversex
[1.0] AimConstraint の修正
2022-09-05 16:20:59 +09:00
ousttrue
4e6f66e5d9
Merge pull request #1756 from vrm-c/webgl_build
WebGLの動作確認
2022-08-30 20:00:01 +09:00
ousttrue
2ec435422d
Merge pull request #1764 from ousttrue/fix/exporter_null_material_error
エラーメッセージを改善
2022-08-30 19:59:44 +09:00
ousttrue
4ef15c1048
Merge pull request #1769 from dj-kusuha/fix_MeshUploader
Remove multi-frame profiler sample
2022-08-25 19:07:21 +09:00
y-kanno
2a9d1d4baa Remove multi-frame profiler sample 2022-08-25 19:00:53 +09:00
ousttrue
2eb64b5f24 FkRetarget の初期実装。vrm-1.0 で 正規化をやめるので、従来の正規化済みTPoseに対する localRotation を変換して適用する機能です 2022-08-23 15:53:21 +09:00
ousttrue
64f5a05bc3 Vrm10FkRetarget 2022-08-23 15:06:19 +09:00
ousttrue
2efcf65e60 LoadBytesAsync 2022-08-22 13:00:05 +09:00
ousttrue
c9864efbf9
Merge pull request #1761 from mkc1370/fix/package_dependencies
Unity公式モジュールの依存関係が不足している問題を修正
2022-08-08 14:13:34 +09:00
ousttrue
f2d587e09f glTFTexture.source type to int? 2022-08-05 21:13:32 +09:00
ousttrue
02a70c05ca エラーメッセージを改善 2022-08-05 17:30:42 +09:00
ousttrue
e866effdf7
Merge pull request #1762 from ousttrue/fix10/update_lookat
[1.0] LookAt を正規化しないことに対応させました
2022-08-05 16:50:24 +09:00
ousttrue
ea9aa5afe6 world を local に修正 2022-08-05 16:07:20 +09:00
ousttrue
95dddde143 m_lookAtSpace へのアクセスを局所化。OffsetFromHead はちゃんと使っていることを確認 2022-08-05 15:59:32 +09:00
ousttrue
a3ee9b44b8 pitch の正方向を vrm-0.x と同じにする 2022-08-05 15:52:43 +09:00