/// <summary> /// 差分トランスフォーム取得 /// </summary> /// <returns>差分トランスフォーム</returns> /// <param name='is_add_local'>ローカル付与か(true:ローカル付与, false:通常付与)</param> public LiteTransform GetDeltaTransform(bool is_add_local) { LiteTransform result; if (is_add_local) { //ローカル付与(親も含めた変形量算出) result = new LiteTransform(transform.position - prev_global_.position , Quaternion.Inverse(prev_global_.rotation) * transform.rotation ); } else { //通常付与(このボーン単体での変形量算出) result = new LiteTransform(transform.localPosition - prev_local_.position , Quaternion.Inverse(prev_local_.rotation) * transform.localRotation ); } return result; }
/// <summary> /// 差分基点トランスフォーム更新 /// </summary> public void UpdatePrevTransform() { prev_global_ = new LiteTransform(transform.position, transform.rotation); prev_local_ = new LiteTransform(transform.localPosition, transform.localRotation); }