public void Dispose() { if (QumarionModel.AttachedQumarion != null) { QumarionModel.DetachQumarion(); } }
/// <summary> /// PCに接続されたQumarionがあればモデルに関連づけます。 /// 複数のQumarionがある場合の選択は自動で行われます。</summary> /// <returns>接続成功または既に接続済みだった場合<see cref="true"/></returns> public bool TryAttachQumarionToModel() { if (QumarionModel.AttachedQumarion != null) { return(true); } if (PdkManager.ConnectedDeviceCount == 0) { return(false); } QumarionModel.AttachQumarion(PdkManager.GetDefaultQumarion()); return(true); }
/// <summary>Qumarionの情報を更新し、適用先のモデルに角度を割り当てます。</summary> /// <param name="model">適用先のモデル</param> public void Update(Model model) { if (QumarionModel.AttachedQumarion == null) { return; } //Qumarion側 QumarionModel.Update(); _rootBone.Update(); //MMD側への適用: シンプルに。 ApplyFK(model); ApplyIK(model); if (BindFootToGround) { BoundCenterToGround(model); } }