static void _frame_update(internal_UnityARCamera camera)
        {
            UnityARCamera pubCamera = new UnityARCamera();

            pubCamera.projectionMatrix   = camera.projectionMatrix;
            pubCamera.worldTransform     = camera.worldTransform;
            pubCamera.trackingState      = camera.trackingState;
            pubCamera.trackingReason     = camera.trackingReason;
            pubCamera.videoParams        = camera.videoParams;
            pubCamera.worldMappingStatus = camera.worldMappngStatus;
            pubCamera.pointCloud         = ARPointCloud.FromPtr(camera.pointCloud);

            if (camera.getLightEstimation == 1)
            {
                pubCamera.lightData = camera.lightData;
            }

            pubCamera.displayTransform = camera.displayTransform;
            s_Camera = pubCamera;

            if (ARFrameUpdatedEvent != null)
            {
                ARFrameUpdatedEvent(s_Camera);
            }
        }
 public UnityARCamera(UnityARMatrix4x4 wt, UnityARMatrix4x4 pm, ARTrackingState ats, ARTrackingStateReason atsr, UnityVideoParams uvp, UnityARLightData lightDat, UnityARMatrix4x4 dt, ARPointCloud ptCloud, ARWorldMappingStatus awms)
 {
     worldTransform     = wt;
     projectionMatrix   = pm;
     trackingState      = ats;
     trackingReason     = atsr;
     videoParams        = uvp;
     lightData          = lightDat;
     displayTransform   = dt;
     pointCloud         = ptCloud;
     worldMappingStatus = awms;
 }
Example #3
0
        static void _frame_update(internal_UnityARCamera camera)
        {
            UnityARCamera pubCamera = new UnityARCamera();

            pubCamera.projectionMatrix   = camera.projectionMatrix;
            pubCamera.worldTransform     = camera.worldTransform;
            pubCamera.trackingState      = camera.trackingState;
            pubCamera.trackingReason     = camera.trackingReason;
            pubCamera.videoParams        = camera.videoParams;
            pubCamera.worldMappingStatus = camera.worldMappngStatus;
            pubCamera.pointCloud         = ARPointCloud.FromPtr(camera.pointCloud);

#if !UNITY_EDITOR
            var faceAnchors     = new ARFaceAnchor[camera.anchorsSize];
            int faceAnchorCount = 0;
            for (uint i = 0; i < camera.anchorsSize; i++)
            {
                UnityARFaceAnchorData faceAnchorData = UnityARFaceAnchorData.GetUnityARFaceAnchorData(camera.anchors, i);
                if (faceAnchorData.ptrIdentifier != IntPtr.Zero)
                {
                    faceAnchors[i] = new ARFaceAnchor(faceAnchorData);
                    faceAnchorCount++;
                }
            }
            if (faceAnchors.Length != faceAnchorCount)
            {
                Array.Resize(ref faceAnchors, faceAnchorCount);
            }

            pubCamera.faceAnchors = faceAnchors;
#endif

            if (camera.getLightEstimation == 1)
            {
                pubCamera.lightData = camera.lightData;
            }

            pubCamera.displayTransform = camera.displayTransform;
            s_Camera = pubCamera;

            if (ARFrameUpdatedEvent != null)
            {
                ARFrameUpdatedEvent(s_Camera);
            }
        }