-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #452 from vrm-c/fix/springbone_runtime
Fix/springbone runtime
- Loading branch information
Showing
24 changed files
with
1,027 additions
and
641 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# SpringBone | ||
|
||
## vrm-1.0 | ||
|
||
- **Vrm10FastSpringboneRuntime(default)**: Unity job system で実装されています。シーンすべての vrm の spring bone まとめて処理するシングルトンです。`from v0.86` | ||
- **Vrm10FastSpringboneRuntimeStandalone**: Unity job system で実装されています。`from v0.127.0` | ||
|
||
これらの実装は importer の引数で切り替え可能です。`from v0.127.0` | ||
これらの実装は IVrm10SpringBoneRuntimeProvider で切り替え可能です。`from v0.127.0` | ||
|
||
## vrm-0.x | ||
|
||
- **Vrm0XSpringBoneDefaultRuntime(default)**: 通常の MonoBehaviour です。 | ||
- **Vrm0XFastSpringboneRuntime**: Unity job system で実装されています。シーンすべての vrm の spring bone まとめて処理するシングルトンです。`from v0.85` | ||
|
||
これらの実装は importer の引数で切り替え可能です。`from v0.127.0` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# FastSpringBone(Unity job)について | ||
|
||
`from v0.85` | ||
|
||
## 概要 | ||
|
||
UniVRMでは、DOTSを利用した高速なSpringBone実装である「FastSpringBone」を用意しています。 | ||
|
||
揺れ物の各房を並列処理・最適化することで1フレームあたりの処理時間を大幅に抑えます。 | ||
|
||
## Burstの導入について | ||
|
||
Burst を別途導入すると、 FastSpringBone が Burst によって高速化されます。 | ||
|
||
Burst の導入方法は [こちら](https://docs.unity3d.com/ja/2019.4/Manual/upm-ui-install.html) をご参照ください。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# note | ||
|
||
:::info job版のロジックは vrm-0.x と vrm-1.0 で共通化されました | ||
|
||
- https://github.com/vrm-c/UniVRM/issues/2422 | ||
|
||
::: | ||
|
||
:::note job は房並列です | ||
|
||
joint 毎ではなく房(根元 から末端まで)単位の並列です。 | ||
根元から順番に長さで拘束して位置を確定させる都合で親の位置・方向が先に決まる必要があるためです。 | ||
|
||
- 伸縮せずに見た目がきれい | ||
- 並列化できない | ||
|
||
というトレードオフがあります。 | ||
|
||
::: | ||
|
||
## Spring の状態変化 | ||
|
||
| input | 変化 | 備考 | | ||
| ----------------------------------------------- | -------- | ------------------------------- | | ||
| 初期姿勢 | 不変 | bone local. スケール抜き? | | ||
| 構成(joint アタッチ情報) | 不変 | editor では変わりうる。再初期化 | | ||
| runtime(center, scale, exernal...etc) | フレーム | center, scale で難 | | ||
| joint設定(stiffness, dragForce, gravity... etc) | フレーム | | | ||
| collider(radius) | フレーム | | | ||
|
||
- `0.x` [VRM 0 系で FastSpringBone を使用した際に VRM の最親のゲームオブジェクトに FastSpringBone が追従しない · Issue #2047 · vrm-c/UniVRM · GitHub](https://github.com/vrm-c/UniVRM/issues/2047) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# 拡大縮小の対応状況 | ||
|
||
:::warning スケーリングは uniform(xyz が同じ) のみの対応です | ||
::: | ||
|
||
- `0.x` [SpringBone does not work correctly if you change the model size, for example scale (8,8,8). · Issue #2242 · vrm-c/UniVRM · GitHub](https://github.com/vrm-c/UniVRM/issues/2242) | ||
- `0.x` [Scale が VRM Spring Bone に正しく適用されません · Issue #922 · vrm-c/UniVRM · GitHub](https://github.com/vrm-c/UniVRM/issues/922) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# 初期化問題 | ||
|
||
## 原点前向き以外で初期化 | ||
|
||
## T-Pose 以外で初期化 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.