marek-simonik / record3d_offline_unity_demo

iPhone/iPad -> Unity VFX Graph demo (pre-recorded 3D Video playback)
https://record3d.app
33 stars 9 forks source link

Flickering Effects with VFX Graph #4

Closed TheWiselyBearded closed 1 year ago

TheWiselyBearded commented 1 year ago

Marek,

Thank you for providing such a wonderful app. When you get a chance, would you mind helping me debug/make sense of an issue? I've cloned the repo and followed the READme, successfully setting up the project.

However, I'm facing an issue in which my r3d file keeps flickering when running the main scene with either VFX particle system (Simple and Particles). The VFX graph exhibits flickering effects and in some cases completely drops frames. I've checked the timeline settings, noticed it was set to 60 FPS, so I set it to 30 to match the frame rate in which the RGBD video was captured. Unfortunately, this hasn't resolved the issue.

If attaching a video would be helpful, I'm happy to share.

marek-simonik commented 1 year ago

Hi,

thank you for using Record3D :)! Please read my advice mentioned in this issue https://github.com/marek-simonik/record3d_unity_demo/issues/8 — I think that Github issue seems very similar to the problem you are describing.

In general, I think the problem might be in the way the VFX graph is set up; you might try experimenting with how many particles are spawned and whether to even spawn new particles in each frame. Instead of spawning new particles, you might modify the VFX graph to spawn only a certain number of particles at start and then update the position of the existing particles. This should improve the performance and reduce (or eliminate) flickering.

TheWiselyBearded commented 1 year ago

Experimenting as we speak, the linked issue page is exactly what I was looking for. Thank you for the prompt reply and help, Marek.

One last question before closing this comment: Is it possible to obtain the raw depth map from the r3d file? I noticed the data is compressed using the lzfse codec. Uncompressed, we can obtain the XYZ values. However, I want to generate the depth map images, if possible. Not a blocker, just curious :)

marek-simonik commented 1 year ago

To obtain depth images, just unzip the .r3d file (it's just a ZIP file with r3d extension). The depth maps are indeed compressed using LZFSE — see https://github.com/marek-simonik/record3d/issues/7#issuecomment-736573410 for a Python snippet that decompresses a depth map into a float32 depth map.