using System; using System.Threading.Tasks; using UniGLTF; using UniGLTF.SpringBoneJobs.Blittables; 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(); /// /// Joint レベルの可変情報をセットする /// stiffness, /// public void SetJointLevel(Transform joint, BlittableJointMutable jointSettings); /// /// Model レベルの可変情報をセットする /// 風, pause, scaling /// public void SetModelLevel(Transform modelRoot, BlittableModelLevel modelSettings); /// /// System レベルの可変情報 /// TODO: デザイン検討中。 /// deltaTime のカスタマイズポイント。通常は Time.dletaTime /// // public float DeltaTime { get; } /// /// 毎フレーム Vrm10Runtime.Process から呼ばれる。 /// public void Process(); } }