Skip to content

Commit

Permalink
Added camera rotation to head orientation in emocam
Browse files Browse the repository at this point in the history
  • Loading branch information
ksuprynowicz committed Oct 28, 2023
1 parent 33ba6b8 commit c5e69f4
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions applications/emocam/emocam1.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
var pitch = 0;
var yaw = 0;
var roll = 0;
var headTransform = null;
var lastDataArrived = Date.now();

button = tablet.addButton({
Expand Down Expand Up @@ -79,7 +80,6 @@
var propList = ["headRotation", "headType"];
handlerId = MyAvatar.addAnimationStateHandler(function (props) {
if (Date.now() - lastDataArrived < 2000) {
let headTransform = Quat.fromPitchYawRollDegrees(pitch, -yaw, roll);
return {
headRotation: headTransform,
headType: 4
Expand Down Expand Up @@ -196,9 +196,20 @@
}
}

yaw = parsed.yaw;
pitch = parsed.pitch;
yaw = parsed.yaw;
roll = parsed.roll;
let trackingOrientation = Quat.fromPitchYawRollDegrees(pitch, -yaw, roll);
let cameraMode = Camera.mode;
if (cameraMode === "first person" || cameraMode === "first person look at"
|| cameraMode === "third person" || cameraMode === "look at") {
let cameraRotation = Quat.multiply(Quat.inverse(MyAvatar.orientation), Camera.orientation);
let cameraRotationYawOnly = Quat.cancelOutRollAndPitch(cameraRotation);
let cameraRotationAdjusted = Quat.slerp(cameraRotationYawOnly, Quat.IDENTITY, 0.5);
headTransform = Quat.multiply(cameraRotationAdjusted, trackingOrientation);
} else {
headTransform = trackingOrientation;
}
for (var blendshape in bend) {
MyAvatar.setBlendshape(blendshape, bend[blendshape]);
}
Expand Down

0 comments on commit c5e69f4

Please sign in to comment.