mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 11:07:52 +02:00
parents, skeleton, break fix
This commit is contained in:
parent
104ed758b9
commit
2fab5a0945
1 changed files with 7 additions and 7 deletions
|
@ -807,7 +807,7 @@ bool GLTFSerializer::buildGeometry(HFMModel& hfmModel, const hifi::URL& url) {
|
||||||
sortedNodes[i] = nextNode;
|
sortedNodes[i] = nextNode;
|
||||||
sortedNodes[j] = currentNode;
|
sortedNodes[j] = currentNode;
|
||||||
i++;
|
i++;
|
||||||
break;
|
currentNode = sortedNodes[i];
|
||||||
}
|
}
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
|
@ -831,9 +831,9 @@ bool GLTFSerializer::buildGeometry(HFMModel& hfmModel, const hifi::URL& url) {
|
||||||
for (int nodeIndex : sortedNodes) {
|
for (int nodeIndex : sortedNodes) {
|
||||||
auto& node = _file.nodes[nodeIndex];
|
auto& node = _file.nodes[nodeIndex];
|
||||||
|
|
||||||
joint.parentIndex = -1;
|
joint.parentIndex = parents[nodeIndex];
|
||||||
if (!_file.scenes[_file.scene].nodes.contains(nodeIndex)) {
|
if (joint.parentIndex != -1) {
|
||||||
joint.parentIndex = originalToNewNodeIndexMap[parents[nodeIndex]];
|
joint.parentIndex = originalToNewNodeIndexMap[joint.parentIndex];
|
||||||
}
|
}
|
||||||
joint.transform = node.transforms.first();
|
joint.transform = node.transforms.first();
|
||||||
joint.translation = extractTranslation(joint.transform);
|
joint.translation = extractTranslation(joint.transform);
|
||||||
|
@ -848,10 +848,10 @@ bool GLTFSerializer::buildGeometry(HFMModel& hfmModel, const hifi::URL& url) {
|
||||||
|
|
||||||
|
|
||||||
// Build skeleton
|
// Build skeleton
|
||||||
hfmModel.hasSkeletonJoints = false;
|
|
||||||
std::vector<glm::mat4> jointInverseBindTransforms;
|
std::vector<glm::mat4> jointInverseBindTransforms;
|
||||||
jointInverseBindTransforms.resize(numNodes);
|
jointInverseBindTransforms.resize(numNodes);
|
||||||
if (!_file.skins.isEmpty()) {
|
hfmModel.hasSkeletonJoints = !_file.skins.isEmpty();
|
||||||
|
if (hfmModel.hasSkeletonJoints) {
|
||||||
hfmModel.hasSkeletonJoints = true;
|
hfmModel.hasSkeletonJoints = true;
|
||||||
std::vector<std::vector<float>> inverseBindValues;
|
std::vector<std::vector<float>> inverseBindValues;
|
||||||
getSkinInverseBindMatrices(inverseBindValues);
|
getSkinInverseBindMatrices(inverseBindValues);
|
||||||
|
@ -929,7 +929,7 @@ bool GLTFSerializer::buildGeometry(HFMModel& hfmModel, const hifi::URL& url) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
HFMCluster root;
|
HFMCluster root;
|
||||||
root.jointIndex = sortedNodes[0];
|
root.jointIndex = 0;
|
||||||
root.inverseBindMatrix = jointInverseBindTransforms[root.jointIndex];
|
root.inverseBindMatrix = jointInverseBindTransforms[root.jointIndex];
|
||||||
root.inverseBindTransform = Transform(root.inverseBindMatrix);
|
root.inverseBindTransform = Transform(root.inverseBindMatrix);
|
||||||
mesh.clusters.append(root);
|
mesh.clusters.append(root);
|
||||||
|
|
Loading…
Reference in a new issue