// Update is called once per frame void Update() { if (ContinuousTracking && RosGazeManager.Instance.Focused) { ros.geometry_msgs.PoseStamped msg = new ros.geometry_msgs.PoseStamped(); msg.header.frame_id = "/Unity"; Quaternion camRot = Camera.main.transform.rotation * Quaternion.Euler(0, -90, 0); Quaternion pointRot = Quaternion.Euler(0, camRot.eulerAngles.y, 0); msg.pose.position = new ros.geometry_msgs.Point(RosGazeManager.Instance.position); msg.pose.orientation = new ros.geometry_msgs.Quaternion(pointRot); Publish(trackingPub, msg); if (arrow == null) { arrow = Instantiate(DirectionArrowPrefab, msg.pose.position.AsUnityVector, msg.pose.orientation.AsUnityQuaternion); } else { arrow.transform.position = msg.pose.position.AsUnityVector; arrow.transform.rotation = msg.pose.orientation.AsUnityQuaternion; } } else if (!ContinuousTracking && (arrow != null)) { Destroy(arrow); } }
// Update is called once per frame void Update() { ros.geometry_msgs.PoseStamped headPose = new ros.geometry_msgs.PoseStamped { pose = new ros.geometry_msgs.Pose(transform.position, transform.rotation) }; headPose.header.frame_id = "/hololens"; Publish(headPosePub, headPose); }
// Update is called once per frame void Update() { if (stop) { stop = false; ros.geometry_msgs.PoseStamped msg = new ros.geometry_msgs.PoseStamped(); msg.header.frame_id = "base_link"; Publish(pub, msg); } }
// Update is called once per frame void Update() { if (RosGazeManager.Instance.Focused) { ros.geometry_msgs.PointStamped fp = new ros.geometry_msgs.PointStamped(); fp.header.frame_id = "/Unity"; fp.point = new ros.geometry_msgs.Point(RosGazeManager.Instance.position); Publish(FocusedPointPub, fp); } ros.geometry_msgs.PoseStamped hp = new ros.geometry_msgs.PoseStamped(); hp.header.frame_id = "/Unity"; hp.pose = new ros.geometry_msgs.Pose(new ros.geometry_msgs.Point(Camera.main.transform.position), new ros.geometry_msgs.Quaternion(Camera.main.transform.rotation * Quaternion.Euler(0, -90, 0))); Publish(HeadPosePub, hp); }
// Update is called once per frame void Update() { if (RosGazeManager.Instance.Focused) { ros.geometry_msgs.PointStamped fp = new ros.geometry_msgs.PointStamped(); fp.header.frame_id = "/Unity"; fp.point = new ros.geometry_msgs.Point(RosGazeManager.Instance.position); Publish(FocusedPointPub, fp); } ros.geometry_msgs.PoseStamped hp = new ros.geometry_msgs.PoseStamped(); hp.header.frame_id = "/Unity"; Quaternion headRot = Camera.main.transform.rotation; // Shifting head rotation because it was rotated in unity headRot *= Quaternion.Euler(0, -90, 0); hp.pose = new ros.geometry_msgs.Pose(new ros.geometry_msgs.Point(Camera.main.transform.position), new ros.geometry_msgs.Quaternion(headRot)); Publish(HeadPosePub, hp); }