TexeL

Untitled

Apr 5th, 2013
727
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     public static bool isFoundTracker;
  2.  
  3.     // Position the camera relative to a Trackable.
  4.     private void PositionCamera(TrackableBehaviour trackableBehaviour,
  5.                                   Camera arCamera,
  6.                                   QCARManagerImpl.PoseData camToTargetPose)
  7.     {
  8.         if(isFoundTracker)
  9.         {
  10.             arCamera.transform.localPosition = trackableBehaviour.transform.rotation *
  11.                                                             Quaternion.AngleAxis(90, Vector3.left) *
  12.                                                             Quaternion.Inverse(camToTargetPose.orientation) *
  13.                                                             (-camToTargetPose.position) +
  14.                                                             trackableBehaviour.transform.position;
  15.            
  16.             arCamera.transform.rotation = trackableBehaviour.transform.rotation *
  17.                                                           Quaternion.AngleAxis(90, Vector3.left) *
  18.                                                           Quaternion.Inverse(camToTargetPose.orientation);
  19.             isFoundTracker = false;
  20.             Debug.Log("== SET POSE");
  21.         }
  22.         else
  23.         {
  24.             arCamera.transform.localPosition = Vector3.Lerp(arCamera.transform.localPosition,
  25.                                                             trackableBehaviour.transform.rotation *
  26.                                                             Quaternion.AngleAxis(90, Vector3.left) *
  27.                                                             Quaternion.Inverse(camToTargetPose.orientation) *
  28.                                                             (-camToTargetPose.position) +
  29.                                                             trackableBehaviour.transform.position, QCARBehaviour.LerpCoef);
  30.            
  31.             arCamera.transform.rotation = Quaternion.Lerp( arCamera.transform.rotation,
  32.                                                           trackableBehaviour.transform.rotation *
  33.                                                           Quaternion.AngleAxis(90, Vector3.left) *
  34.                                                           Quaternion.Inverse(camToTargetPose.orientation), QCARBehaviour.LerpCoef);
  35.         }
  36.  
  37.  
  38.     }
RAW Paste Data