vrm-c / vrm-specification

vrm specification
235 stars 37 forks source link

constraint roll の疑似コード。タイポ? #367

Closed ousttrue closed 2 years ago

ousttrue commented 2 years ago
deltaSrcQuat = srcRestQuat.inverse * srcQuat
// 👇
deltaSrcQuatInParent = srcRestQuat * deltaSrcQuat * srcRestQuat.inverse // source to parent
                         👇
deltaSrcQuatInDst = dstRestQuat.inverse * deltaSrcQuatInWorld * dstRestQuat // parent to destination

toVec = rollAxis.applyQuaternion( deltaSrcQuatInDst )
fromToQuat = Quaternion.fromToRotation( rollAxis, toVec )

targetQuat = Quaternion.slerp(
  dstRestQuat,
  dstRestQuat * fromToQuat.inverse * deltaSrcQuatInDst,
  weight
)

deltaSrcQuatInParent と deltaSrcQuatInWorld が書き間違いぽい?

0b5vr commented 2 years ago

これはそうかもしれません…… 改めて確認します。