Commit Graph

2984 Commits

Author SHA1 Message Date
ousttrue
ea660c68dc
Merge pull request #1803 from Santarh/controlRigOptions
Replace control rig generation option with enum in vrm 1.0
2022-09-21 16:33:24 +09:00
ousttrue
1d22f42e90
Merge pull request #1795 from matsutaka-pxv/add-awaitcaller-to-loadblendshapemaster
Add IAwaitCaller to VRMImporterContext.LoadBlendShapeMaster
2022-09-21 16:23:54 +09:00
Masataka SUMI
7ef5c7be54 remove unnecessary value of ControlRigGenerationOption 2022-09-21 16:22:59 +09:00
ousttrue
ba7cffd8db
Merge pull request #1813 from ousttrue/version/v0_104_0
UniVRM-0.104.0
2022-09-21 15:56:33 +09:00
ousttrue
8ef6e53c4f
Merge pull request #1811 from ousttrue/fix10/version_10
[1.0] update SpecVersion to 1.0
2022-09-21 15:56:23 +09:00
ousttrue
cb24601410
Merge pull request #1810 from ousttrue/fix10/export_capsule_reverse_x
[1.0] SpringBone のカプセルコライダーの座標変換漏れ
2022-09-21 15:56:17 +09:00
ousttrue
f3388bacdc
Merge pull request #1808 from Santarh/lfs
LFS tracking image & 3d model files.
2022-09-21 15:47:47 +09:00
ousttrue
864607023a UniVRM-0.104.0 2022-09-21 15:38:20 +09:00
ousttrue
4a5cf395bb update SpecVersion to 1.0 2022-09-21 15:16:04 +09:00
ousttrue
4168ae302d SpringBone のカプセルコライダーの座標変換漏れ 2022-09-21 14:13:58 +09:00
Takayuki Matsuoka
fe0c3d756d 不要なコード整形を修正
See also:
https://github.com/vrm-c/UniVRM/pull/1795#discussion_r974879279
2022-09-20 23:25:20 +09:00
Takayuki Matsuoka
0029c1cd5f LoadBlendShapeBindの引数順を変更
IAwaitCallerを最後の引数にするように変更

See also :
https://github.com/vrm-c/UniVRM/pull/1795#discussion_r974879093
2022-09-20 23:24:09 +09:00
Masataka SUMI
627c0e76f2 binary files replaced by lfs tracking 2022-09-20 18:21:51 +09:00
ousttrue
ed291eaf0f
Merge pull request #1804 from notargs/update_fastspringbone
FastSpringBoneに対し、末端ボーンへの考慮を追加するオプションを追加
2022-09-20 18:06:43 +09:00
ousttrue
dc89cb6aec
Merge pull request #1798 from notargs/fix_1789
頂点レイアウト Issue #1789に対応
2022-09-20 15:48:21 +09:00
ousttrue
184d0bdc74
Merge pull request #1796 from matsutaka-pxv/add-iawaitcaller-to-loadfirstperson
Add IAwaitCaller to VRMImporterContext.LoadFirstPerson
2022-09-20 15:20:33 +09:00
Masataka SUMI
16049b4c49 The FirstPerson method must reference the raw head bone instead of the control rig bone. 2022-09-20 13:40:52 +09:00
notargs
d66fc2498e FastSpringBoneに対し、末端ボーンへの考慮を追加するオプションを追加しました 2022-09-16 18:30:09 +09:00
Masataka SUMI
be4f7847b4 Bone name must be unique in the vrm instance. 2022-09-16 18:28:45 +09:00
Masataka SUMI
902ed67335 Add ControlRigGenerationOption 2022-09-16 17:02:29 +09:00
ousttrue
c56327ce6b
Merge pull request #1801 from ousttrue/version/v0_103_2
UniVRM-0.103.2
2022-09-15 13:25:53 +09:00
ousttrue
e34e06f98a UniVRM-0.103.2 2022-09-15 13:02:58 +09:00
ousttrue
1ef079ca58 コメント追加。Enum.Parse を初期化に移動。 2022-09-15 12:52:56 +09:00
ousttrue
a0ad60240b コード整理 2022-09-14 20:42:45 +09:00
ousttrue
84aee423ac use HumanBodyBones 2022-09-14 20:33:10 +09:00
ousttrue
db33257326 AvatarBuilder.BuildHumanAvatar には隠れたボーン名 HumanTrait.BoneName が必用
HumanBodyBones.ToString != HumanTrait.BoneName であることに注意(指のみ。Space)
2022-09-14 20:05:55 +09:00
notargs
2673380776 Issue #1789に対応 2022-09-14 19:04:30 +09:00
Takayuki Matsuoka
799857bb8b Add IAwaitCaller to VRMImporterContext.LoadFirstPerson
Since we still don't have explicit rule/method to add NextFrameIfTimedOut, this change may seem random.

But we've conducted some benchmarks and profiled them before add these await-s.  These changes ease CPU spikes.
2022-09-14 13:11:23 +09:00
Takayuki Matsuoka
64286d8400 Add IAwaitCaller to VRMImporterContext.LoadBlendShapeMaster
Since VRMImporterContext.LoadBlendShapeMaster may take long time to complete,
change it to async Task method and pass IAwaitCaller as an argument.

This changeset also changes VRMImporterContext.LoadBlendShapeBind.
Because this method has long LINQ chain and we need to split it to ease
its CPU time spike.
2022-09-14 11:09:37 +09:00
ousttrue
7d6f835ffe UniVRM-0.103.1 2022-09-13 14:39:40 +09:00
Masataka SUMI
413ed64355 Fix a importing error when the model using KHR_texture_basisu extension. 2022-09-12 22:11:48 +09:00
Masataka SUMI
64d62bb651 fix vrm sample 2022-09-12 22:05:01 +09:00
Masataka SUMI
ae8d4db6b9 Fix bug of null access when loading vrm1.0 prefab placed in the scene. 2022-09-12 17:55:34 +09:00
ousttrue
34501bb26f
Merge pull request #1788 from 0b5vr/fix-migration
Fix VRM exported from MigrationVrm class (2)
2022-09-09 16:41:29 +09:00
0b5vr
ee3bf2b020 fix Migrate to Vrm1, set texture transform extension properly 2022-09-09 16:36:49 +09:00
ousttrue
370db5e550
Merge pull request #1787 from 0b5vr/fix-migration
Fix VRM exported from MigrationVrm class
2022-09-09 16:33:49 +09:00
ousttrue
bc1d972311
Merge pull request #1785 from 0b5vr/mtoon-1-beta
Fix specVersion of MToon `1.0-draft` -> `1.0-beta`
2022-09-09 13:41:16 +09:00
0b5vr
805397abb2 fix Migrate to Vrm1, set extensionsUsed properly 2022-09-09 12:54:47 +09:00
0b5vr
7c99c16634 fix: Migrate to Vrm1, set missing specVersion and licenseUrl 2022-09-09 12:14:35 +09:00
0b5vr
244e7b1947 refactor: update constraint spec URL on comments 2022-09-09 12:06:45 +09:00
0b5vr
d058be96f6 fix: Fix specVersion of MToon 1.0-draft -> 1.0-beta 2022-09-09 11:35:01 +09:00
ousttrue
3d1303759d add LoadPathAsync 2022-09-08 18:50:37 +09:00
ousttrue
b3a0cb3336
Merge pull request #1773 from ousttrue/version/v0_103_0
UniVRM-0.103.0
2022-09-08 18:07:01 +09:00
ousttrue
beb0f79f6a
Merge pull request #1780 from matsutaka-pxv/optimize-bonelimit-tohumanbonename
Optimize BoneLimit.ToHumanBoneName
2022-09-08 18:06:18 +09:00
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
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
Takayuki Matsuoka
e7408fe93d
Merge branch 'vrm-c:master' into optimize-bonelimit-tohumanbonename 2022-09-07 16:57:59 +09:00