public void CreateSimulationModel() { if (m_Colliding) { return; } GameObject simModel = Instantiate(SimulationModel, transform.position, transform.rotation); simModel.name = SimulationModel.name; InputManager.Instance.ModelSpawn_Controller.Operating = false; Destroy(InputManager.Instance.Selector_Tool.CurrentPreviewModel.gameObject); InputManager.Instance.Selector_Tool.CurrentPreviewModel = null; if (SimulationModel.GetComponent <ROSObject>() == null) { return; } // publish a message to add the object to ros node List <string> objects = new List <string>(); objects.Add(SimulationModel.name); List <Vector3> positions = new List <Vector3>(); positions.Add(GazeboUtility.UnityPositionToGazebo(transform.position)); ModelMsg msg = new ModelMsg(1, 1, objects, positions); ROSBridge.Instance.Publish(RoboyModelPublisher.GetMessageTopic(), msg); RoboyManager.Instance.AddRoboy(simModel.transform); }
// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Space)) { List <string> objects = new List <string>(); objects.Add("Roboy_simplified"); List <Vector3> positions = new List <Vector3>(); positions.Add(GazeboUtility.UnityPositionToGazebo(new Vector3(2.3123f, 2.2311f, 0.5f))); ModelMsg msg = new ModelMsg(1, 1, objects, positions); Debug.Log(msg.ToYAMLString()); ROSBridge.Instance.Publish(RoboyModelPublisher.GetMessageTopic(), msg); } else if (Input.GetKeyDown(KeyCode.Escape)) { List <string> objects = new List <string>(); objects.Add("Roboy_simplified"); List <Vector3> positions = new List <Vector3>(); positions.Add(Vector3.zero); ModelMsg msg = new ModelMsg(0, 1, objects, positions); ROSBridge.Instance.Publish(RoboyModelPublisher.GetMessageTopic(), msg); } }