mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-04 11:03:08 +02:00
works for two joints now
This commit is contained in:
parent
f0c02bb49b
commit
e52f2ab7d6
2 changed files with 3 additions and 21 deletions
|
@ -252,30 +252,11 @@ void AnimSkeleton::buildSkeletonFromJoints(const std::vector<FBXJoint>& joints,
|
|||
//QString parentIndex = getJointName(parentIndex);
|
||||
AnimPose localOffset(jointOffsets[i], glm::vec3());
|
||||
relDefaultPose = relDefaultPose * localOffset;
|
||||
if ((parentIndex >= 0) && jointOffsets.contains(parentIndex)) {
|
||||
// AnimPose localParentOffset(jointOffsets[parentIndex], glm::vec3());
|
||||
// relDefaultPose = localParentOffset.inverse() * AnimPose(glm::quat(), relDefaultPose.trans()) * localParentOffset * AnimPose(relDefaultPose.rot(), glm::vec3());
|
||||
}
|
||||
}
|
||||
if ((parentIndex == 13) && jointOffsets.contains(13)) {
|
||||
if (i == 62) {
|
||||
qCDebug(animation) << "the neck translation is " << relDefaultPose.trans();
|
||||
}
|
||||
if ((parentIndex >= 0) && jointOffsets.contains(parentIndex)) {
|
||||
AnimPose localParentOffset(jointOffsets[parentIndex], glm::vec3());
|
||||
relDefaultPose = localParentOffset.inverse() * AnimPose(glm::quat(), relDefaultPose.trans()) * localParentOffset * AnimPose(relDefaultPose.rot(), glm::vec3());
|
||||
if (i == 62) {
|
||||
qCDebug(animation) << "the neck translation redo is " << relDefaultPose.trans();
|
||||
}
|
||||
}
|
||||
if ((parentIndex == 62) && jointOffsets.contains(62)) {
|
||||
|
||||
//AnimPose localOffset(glm::quat(0.7071f, 0.0f, 0.7071f, 0.0f), glm::vec3());
|
||||
//relDefaultPose = relDefaultPose * localOffset;
|
||||
AnimPose localParentOffset(glm::quat(0.7071f, 0.0f, -0.7071f, 0.0f), glm::vec3());
|
||||
relDefaultPose = localParentOffset.inverse() * AnimPose(glm::quat(), relDefaultPose.trans()) * localParentOffset * AnimPose(relDefaultPose.rot(), glm::vec3());
|
||||
qCDebug(animation) << "the head translation is " << relDefaultPose.trans();
|
||||
}
|
||||
|
||||
|
||||
_relativeDefaultPoses.push_back(relDefaultPose);
|
||||
|
||||
|
|
|
@ -2077,7 +2077,8 @@ void Rig::setJointRotationOffsets(const QMap<QString, glm::quat>& offsets) {
|
|||
int neckId = 62;
|
||||
int spine2Id = 13;
|
||||
if (true){ //neckIndex != -1) {
|
||||
_jointRotationOffsets.insert(neckId, glm::quat(0.7071f, 0.0f, -0.7071f, 0.0f));
|
||||
_jointRotationOffsets.insert(neckId, glm::quat(0.0f, 0.7071f, 0.7071f, 0.0f) * glm::quat(0.5f, 0.5f, 0.5f, -0.5f) ); //glm::quat(0.7071f, 0.0f, -0.7071f, 0.0f)
|
||||
qCDebug(animation) << "multiplied quats are " << glm::quat(0.0f, 0.7071f, 0.7071f, 0.0f) * glm::quat(0.5f, 0.5f, 0.5f, -0.5f);
|
||||
}
|
||||
if (true){ //spine2Index != -1) {
|
||||
_jointRotationOffsets.insert(spine2Id, glm::quat(0.5f, 0.5f, 0.5f, -0.5f));
|
||||
|
|
Loading…
Reference in a new issue