VRM.IVrm0XSpringBoneRuntime
実行システムを切り替えられるようになりました。
- Vrm0XSpringBoneDefaultRuntime(default): 通常の MonoBehaviour です。
v0.85
Vrm0XFastSpringboneRuntime: Unity job system で実装されています。すべての vrm の spring bone まとめて処理するシングルトンです。
これらの実装は importer の引数で切り替え可能です。from v0.127.0
SimpleViewerを参照してください。
v0.127
import 時の Springbone Runtime 切り替えについて
class VRMImporterContext {
public VRMImporterContext(
VRMData data,
IReadOnlyDictionary<SubAssetKey, Object> externalObjectMap = null,
ITextureDeserializer textureDeserializer = null,
IMaterialDescriptorGenerator materialGenerator = null,
ImporterContextSettings settings = null,
IVrm0XSpringBoneRuntime springboneRuntime = null // 👈
)
}
この引き数により SpringBone の Runtime をカスタマイズできます。
new Vrm0XSpringBoneDefaultRuntime
(default)new Vrm0XFastSpringboneRuntime
を渡してください。
null
の場合は Vrm0XSpringBoneDefaultRuntime
になります。
Vrm0XSpringBoneDefaultRuntime
特徴
- 普通のMonoBehaviour
v0.125.0 までは 1ファイル に処理がまとまっています
SpringBoneだけ他のプロジェクトにコピーするときに便利です。
[DefaultExecutionOrder(11000)]
// [RequireComponent(typeof(VCIObject))]
public sealed class VRMSpringBone : MonoBehaviour
{
private void LateUpdate()
}
v0.126
Vrm0XFastSpringboneRuntime
Vrm10FastSpringboneRuntime と同じ job を使用します。 シングルトンです。
特徴
- Unity job system で実装されている