mirror of https://github.com/bjornbytes/lovr.git
Fix Quest hand model orientation;
This commit is contained in:
parent
d2ceb6b81a
commit
a766bf4a35
|
@ -1662,9 +1662,8 @@ static ModelData* openxr_newModelData(Device device, bool animated) {
|
|||
|
||||
// Add a node that holds the skinned mesh
|
||||
model->nodes[model->jointCount] = (ModelNode) {
|
||||
.transform.translation = { 0.f, 0.f, 0.f },
|
||||
.transform.rotation = { 0.f, 0.f, 0.f, 1.f },
|
||||
.transform.scale = { 1.f, 1.f, 1.f },
|
||||
.hasMatrix = true,
|
||||
.transform = { MAT4_IDENTITY },
|
||||
.primitiveIndex = 0,
|
||||
.primitiveCount = 1,
|
||||
.skin = 0
|
||||
|
@ -1752,7 +1751,11 @@ static bool openxr_animate(Device device, Model* model) {
|
|||
for (uint32_t i = 0; i < COUNTOF(joints); i++) {
|
||||
if (jointParents[i] == ~0u) {
|
||||
float position[4] = { 0.f, 0.f, 0.f };
|
||||
float orientation[4] = { 0.f, 0.f, 0.f, 1.f };
|
||||
|
||||
// Quest hand rotation compensation
|
||||
bool left = device == DEVICE_HAND_LEFT;
|
||||
float orientation[4] = { -.5f, left ? .5f : -.5f, left ? .5f : -.5f, .5f };
|
||||
|
||||
lovrModelSetNodeTransform(model, i, position, scale, orientation, 1.f);
|
||||
} else {
|
||||
XrPosef* parent = &joints[jointParents[i]].pose;
|
||||
|
|
Loading…
Reference in New Issue