Exemple #1
0
        public void Visualize()
        {
            if (!isCreated)
            {
                Create();
            }

            markerObject.name = name;

            markerObject.transform.localPosition = TransformExtensions.Ros2Unity(TypeExtensions.PointMsgToVector3(marker.pose.position));
            markerObject.transform.localRotation = TransformExtensions.Ros2Unity(TypeExtensions.QuaternionMsgToQuaternion(marker.pose.orientation));

            markerObject.transform.localScale = TransformExtensions.Ros2UnityScale(TypeExtensions.Vector3MsgToVector3(marker.scale));
            if (marker.type == MessageTypes.Visualization.Marker.CYLINDER)
            {
                markerObject.transform.localScale = new Vector3(markerObject.transform.localScale.x, markerObject.transform.localScale.y / 2, markerObject.transform.localScale.z);
            }

            markerObject.GetComponent <Renderer>().material.SetColor("_Color", TypeExtensions.ColorRGBAToColor(marker.color));

            if (!marker.frame_locked)
            {
                markerObject.transform.parent = null;
            }
        }
Exemple #2
0
    void UpdateDroneOdom(Odometry odom)
    {
        Vector3    pos  = odom.pose.pose.position.ToUnity();
        Quaternion quat = new Quaternion((float)odom.pose.pose.orientation.x, (float)odom.pose.pose.orientation.y, (float)odom.pose.pose.orientation.z, (float)odom.pose.pose.orientation.w);
        Quaternion rot  = TransformExtensions.Ros2Unity(quat);

        Drone.transform.localPosition = pos;
        Drone.transform.localRotation = rot;
    }
    public static UnityEngine.Vector3 ToUnity(this Point p, bool ros2Unity = true)
    {
        UnityEngine.Vector3 v = new UnityEngine.Vector3();

        v.x = (float)p.x;
        v.y = (float)p.y;
        v.z = (float)p.z;

        if (ros2Unity)
        {
            return(TransformExtensions.Ros2Unity(v));
        }
        else
        {
            return(v);
        }
    }