siemens / ros-sharp

ROS# is a set of open source software libraries and tools in C# for communicating with ROS from .NET applications, in particular Unity3D
Apache License 2.0
961 stars 365 forks source link

Add Marker and MarkerArray visualization support #384

Closed Jntzko closed 3 years ago

Jntzko commented 3 years ago

In my last project, I needed visualization marker support in Unity so I created some of those. Later on I added the remaining ones.

I created the files based on the LaserScan structure.

This is the result in Unity: Unity_Marker

And the same scene in RViz: Rviz_Marker

You only need to add a MarkerSubscriber / MarkerArraySubscriber to your RosConnector and enter a Marker or MarkerArray topic. This works for all types except meshes. For meshes you need to copy the respective prefab into the Assets/Resources folder before subscribing to the topic.

MartinBischoff commented 3 years ago

Hi @Jntzko

thank you for your work on Marker Visualization in Unity and RViz and for preparing this code package.

I don't want to include it into ROS# master, however. ROS# focuses on being a communication framework that can be extended and adjusted for application-specific needs. I consider this marker visualization as a very nicely elaborated, yet application-specific extension. The concept of communication and visualization is taken over from the already existing LaserScan visualizations, whereas including this code package into ROS# would increase its complexity and maintenance effort without demonstrating really new functionality.

If you would like to share your Marker Visualization package with community, I'd suggest you publish set in a dedicated fork of the ROS# repo. If you do, please tell me the link such that I can refer to it add a dedicated place from this repo.