mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-08-27 21:34:38 -05:00
update
This commit is contained in:
@@ -3,35 +3,16 @@
|
||||
## FastSpringBoneService.Instance
|
||||
* FastSpringBoneService.Instance はシングルトンですべての VRM-1.0 モデルのスプリングをまとめて処理します
|
||||
|
||||
## `v0.106.0` SpringBone の手動更新
|
||||
|
||||
* FastSpringBoneService.UpdateTypes.Manual を追加
|
||||
* FastSpringBoneService.ManualUpdate を追加
|
||||
|
||||
```csharp
|
||||
List<VRM10Instance> instances;
|
||||
|
||||
// setup
|
||||
foreach(var instance in instances)
|
||||
{
|
||||
instance.UpdateType = UpdateTypes.None;
|
||||
}
|
||||
FastSpringBoneService.Instance.UpdateType = FastSpringBoneService.UpdateTypes.Manual;
|
||||
|
||||
// each frame
|
||||
// 先に VRM10Instance を更新
|
||||
foreach(var instance in instances)
|
||||
{
|
||||
instance.Runtime.Process();
|
||||
}
|
||||
// 最後に FastSpringBoneService を更新
|
||||
FastSpringBoneService.Instance.ManualUpdate(time.deltaTime);
|
||||
```
|
||||
|
||||
## `v0.106.0` 毎フレーム外力を加える
|
||||
|
||||
- [\# 1863](https://github.com/vrm-c/UniVRM/pull/1868)
|
||||
|
||||
```{admonition} 外力
|
||||
:class: info
|
||||
|
||||
ジャンプや風など、一時的な力の表現を想定した機能です。
|
||||
```
|
||||
|
||||
```csharp
|
||||
VRM10Instance instance;
|
||||
|
||||
@@ -39,3 +20,39 @@ VRM10Instance instance;
|
||||
// 既存の Gravity に加算されます
|
||||
instance.Runtime.ExternalForce = new Vector3(0.1f, 0, 0);
|
||||
```
|
||||
|
||||
## `v0.106.0` SpringBone の手動更新
|
||||
|
||||
```{admonition} 手動更新
|
||||
:class: info
|
||||
|
||||
開始前に処理を回して SpringBone を安定させるなど、特殊用途向けです。
|
||||
```
|
||||
|
||||
* FastSpringBoneService.UpdateTypes.Manual を追加
|
||||
* FastSpringBoneService.ManualUpdate を追加
|
||||
|
||||
```csharp
|
||||
// 管理している VRM-1.0 がすべて入っている
|
||||
List<VRM10Instance> instances;
|
||||
|
||||
// setup
|
||||
foreach(var instance in instances)
|
||||
{
|
||||
// SpringBone を手動にするために、
|
||||
// VRM-1.0 本体も手動に変更している。
|
||||
// VRM本体 => SpringBone という処理順を守る。
|
||||
instance.UpdateType = UpdateTypes.None;
|
||||
}
|
||||
FastSpringBoneService.Instance.UpdateType = FastSpringBoneService.UpdateTypes.Manual;
|
||||
|
||||
// each frame
|
||||
foreach(var instance in instances)
|
||||
{
|
||||
// SpringBone よりも先に VRM10Instance を更新
|
||||
instance.Runtime.Process();
|
||||
}
|
||||
// 最後に FastSpringBoneService を更新
|
||||
// すべての VRM-1.0 の SpringBone がまとめて処理されます。
|
||||
FastSpringBoneService.Instance.ManualUpdate(time.deltaTime);
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user