rerun-io / rerun

Visualize streams of multimodal data. Free, fast, easy to use, and simple to integrate. Built in Rust.
https://rerun.io/
Apache License 2.0
6.7k stars 338 forks source link

3D View shows sometimes no model, sometimes only last timestep data #8212

Closed jviereck closed 2 days ago

jviereck commented 5 days ago

This is with the official pip rerun-sdk at version rerun_sdk-0.20.1-cp38-abi3-manylinux_2_31_x86_64.whl.

I adopted the MeshCat visualizer from Pinocchio to work with rerun. I can add meshes and transform them fine. However, when I run a dummy script that moves a hand upwards, rerun shows the hand moving. However, when I then jump back on the timeline, the hand disappears. See screenshot below.

In some cases, when I rerun the python script again, the meshes disappear as new data is logged.

Any idea what might be going on here?

Picture of the last timestep (visualization is as expected):

Screenshot from 2024-11-22 18-24-21

Picture when going to a previous timestep (visualization is not visible though it should show the hand at an earlier stage)

Screenshot from 2024-11-22 18-24-34

jviereck commented 5 days ago

When opening up the timeline, I noticed the "Mesh3DIndicator" seems to be only for the last timestep. Is this why the meshes disappear before?

The call p_helper.logMeshes() loads the meshes into rerun and then the later call to p_helper.update(q) logs transformations to update the position of the meshes.

image

Wumpf commented 3 days ago

The indicator is one thing but your screenshot shows that up until this point there's no position data either. Why would you expect the mesh to show any earlier? I'm not familiar with the libraries you use here, but from the looks of it that logMeshes probably should log the mesh as static. or time should be set to zero before that

Generally, I recommend to use the selection panel to explore these kind of things as it shows what data comes in and how it is distributed to any active visualizer for a given frame (in this case, select the mesh when it shows and check what shows in the selection panel over time)

jviereck commented 3 days ago

Hi @Wumpf , thank you for your response.

I'm not familiar with the libraries you use here, but from the looks of it that logMeshes probably should log the mesh as static. or time should be set to zero before that

I am not doing that at the moment. Thank you for pointing this out. I will add this once I am back at work on Monday and let you know how it goes.

jviereck commented 2 days ago

Adding static=True when logging the meshes fixed my problem. Thank you for your help @Wumpf .

Closing the issue.