示例#1
0
	/// <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;
	}
示例#2
0
	/// <summary>
	/// 差分基点トランスフォーム更新
	/// </summary>
	public void UpdatePrevTransform() {
		prev_global_ = new LiteTransform(transform.position, transform.rotation);
		prev_local_ = new LiteTransform(transform.localPosition, transform.localRotation);
	}