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
959 stars 365 forks source link

Importing multiple robots without materials disapperaing #88

Closed samiamlabs closed 6 years ago

samiamlabs commented 6 years ago

I have a feature request!

I want to do this:

I have a ROS project https://github.com/samiamlabs/dyno with multiple different robot platforms https://dyno-docs.readthedocs.io/en/latest/simulation/robots.html

omnibot forklift

I want to be able to import several into the same project for multi robot simulation. When a second robot is imported via RosBridgeClient and file-server the materials are overwritten and disappear from the previously imported robot.

The robots all share the same materials.

For being able to do it, I wish ROS# had the following feature:

Existing materials should be updated rather than overwritten so that the object references don't change when importing a new URDF.

Alternately, there should be a checkbox in the URDF Asset Importer that says something like "import materials" or "overwrite existing materials".

MartinBischoff commented 6 years ago

Hi @samiamlabs ! You are right, this is an improvement of the URDF importer.

I'd suggest the following functionality: Whenever an asset (mesh or material) already exists, the user can choose in a dialog window between keeping / repalcing this/all asset(s).

With the current version you have to reference the materials manually again in all components that have been created in previous imports. If you import your robots multiple times, writing a dedicated patcher script will save you a lot of time.

MartinBischoff commented 6 years ago

We decided for a less chatty version where old object references are simply not lost during a re-import. So if you e.g. change the texture of a robot in ROS and re-import the model, all robots in Unity will have the same updated texture.

@samiamlabs : Would you please try out importing your robots using the latest version? If it works for you, please close this issue. If not, please let me know.

samiamlabs commented 6 years ago

Sounds great @MartinBischoff. Was hoping you would be able to solve it that way.

Unfortunately something related to importing STL:s stopped working for me after the commits on the 27th. I have been using a fork of your fork since then. Importing Collada meshes seems to work.

See video: STL import

I will probably not be able to test importing materials until this is fixed.

suzannahsmith1 commented 6 years ago

Hi @samiamlabs,

This issue should now be resolved, as of this commit.

I addressed the STL import error, as well as the problem with disappearing materials after importing a second robot. Could you please test this again and see if everything is working for you? If so, please close the issue. If not, please let me know.

Suzannah

samiamlabs commented 6 years ago

Hi @suzannahsmith1 ,

Everything seems to work now, thanks! image

Closing the issue.