using System;
using System.Threading.Tasks;
using UniGLTF;
using UnityEngine;
namespace UniVRM10
{
public interface IVrm10SpringBoneRuntime : IDisposable
{
public Task InitializeAsync(Vrm10Instance instance, IAwaitCaller awaitCaller);
///
/// SpringBone の構成変更を反映して再構築する。
///
public bool ReconstructSpringBone();
///
/// initialTransform 状態に復帰。verlet の速度 も 0 に。
///
public void RestoreInitialTransform();
///
/// deltaTime のカスタマイズポイント。通常は Time.dletaTime
///
public float DeltaTime { get; }
///
/// 風などの追加の外力を設定する
///
public Vector3 ExternalForce { get; set; }
///
// SpringBone のランタイムの動作状態を設定する。
// SpringBone の動きを一時停止したいときは false にする。
///
public bool IsSpringBoneEnabled { get; set; }
///
/// 毎フレーム Vrm10Runtime.Process から呼ばれる。
///
public void Process();
}
}