X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fvrinput.cc;fp=src%2Fvrinput.cc;h=6bb2aaa8a7a6e825a8d3138dc4e9e010c4776a1a;hp=d5692b8d94ca1bebe4acc45d9087f5ebef2ef33b;hb=c48096383ed398a518e69070bfc9373537ab00bb;hpb=9ca001d7a95ca41deaf673c52f113b173d9fffef diff --git a/src/vrinput.cc b/src/vrinput.cc index d5692b8..6bb2aaa 100644 --- a/src/vrinput.cc +++ b/src/vrinput.cc @@ -28,10 +28,18 @@ void destroy_vrhands() void update_vrhands(const Avatar *avatar) { + Quat qbodyrot; + qbodyrot.set_rotation(Vec3(0, 1, 0), -deg_to_rad(avatar->get_body_rotation())); + Vec3 pos = avatar->get_position(); + for(int i=0; i<2; i++) { if(goatvr_hand_active(i)) { goatvr_hand_position(i, &vrhand[i].pos.x); goatvr_hand_orientation(i, &vrhand[i].rot.x); + + vrhand[i].pos = rotate(vrhand[i].pos, qbodyrot) + pos; + vrhand[i].rot = qbodyrot * vrhand[i].rot; + vrhand[i].valid = true; } else { vrhand[i].valid = false;