rlguy/Blender-FLIP-Fluids

Simulation meshes not moving when rendered, incorrect rendered frames, and slow Alembic export

miruedits opened this issue · 15 comments

System Information

Blender Version: 3.2.0, master, 2022-06-08 10:22, e05e1e369187
Addon Version: A FLIP Fluid Simulation Tool for Blender (v1.4.0 Stable 07-JUN-2022)
OS: Windows-10-10.0.19043-SP0
GPU: NVIDIA GeForce GTX 1650/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 512.78
CPU: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
RAM: Unknown (fill in)

Describe the bug

Ok, so i've been trying to render a scene that i made for like 5 days now and nothing is working, the water is frozen on the render but everything else works and is rendering correct in my scene its just the water. I tried everything like exporting the animation but that didn't work, well it did but was taking really long. If I let the export keep going it would have took like 50 hours.

To Reproduce

i had my water at 400 quality and left all the settings the same and enabled sheeting and added textures for bubbles, etc. which i think this is the problem because i was able to easily export the water without any of the foam or bubbles. I then render and think the render is going great and the water is just frozen

Expected Behaviour

I expect the water to be animated when i render it.

Actual Behaviour

the water doesnt move, but it moves in the viewport.

Screenshots

If applicable, add screenshots to help explain your problem.

this is the scene i rendered with the foam and everything but also the foam or the bubbles didn't appear:
https://user-images.githubusercontent.com/108705030/178857158-0890c058-6df7-4bcb-8a1e-d59b64dd64cd.mp4

This is the scene i rendered with the fluid exported and then imported in after:
https://user-images.githubusercontent.com/108705030/178857227-53c87aa3-61d4-4573-922f-1abe096b516b.mp4

i also wanted to point out that i have another version where some of the water was moving and then it froze:

0020-0250.mp4

its also glitching a lot.

rlguy commented

Hi, thanks for the report!

Do you happen to have the Photographer addon installed and enabled? We have seen this type of issue before where this rendering issue was caused by an error in the Photographer addon.

If this is the case, the workaround is to either disable the Photographer addon or to render from the command line. Tip: The FLIP Fluids sidebar menu contains operators to automatically launch a command line render (documentation).

image

This type of issue can also be caused by having the Persistent Data option enabled. This option is not supported when rendering simulation meshes. The workaround in this case is to either disable this option or render from the command line.

persistent_data

If this issue is not caused by the Photographer addon or the Persistent Data option,

  • Are there any error messages that appear in the Blender System Console window (Blender > Window > Toggle System Console)?
  • Does rendering from the command line solve the issue? If so, the static meshes could be attributed to general Blender render instability. Rendering from the command line is recommended for stable renders in Blender.
  • Attaching your Blender System Info file can help us check if there are any problems with your Blender installation or setup (Blender > Help > Save System Info)

Let me know if you have any questions or find any more information on the issue.

system-info.txt

this is my system info, I don't have the photographer addon installed, there are also no error messages.

I will try rendering with the command line render and see if that works, i'll write back to you if it goes wrong.

I tried rendering with the command line and this error messaged displayed: Megascans Plugin Error initializing the thread. Error: [WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted

ive been trying to export and its at only 45% its been 2 days

rlguy commented

From the error message, this will be an issue with the Megascans Plugin. This could potentially be a cause of the render or Alembic export issues. You may want to try disabling this plugin or contacting the Megascan Plugin developers.

Typically Blender's Alembic exporter will take around the same amount of time as to play back the timeline, so this sounds like an unusually long time. For best performance, make sure that the simulation meshes that you want to export are selected, the Alembic settings are set to export selected objects, and to disable the 'Use Instancing' option (if already enabled). Blender's instancing export can harm performance and is also not needed for exporting simulation meshes generated by the FLIP Fluids addon.

alembic_export_settings

I tried doing this just now and it seems like its still taking a very long time to go over each frame

what else do i do if i don't export it because the animation of the water is broken if I dont export, the same thing happens even when i didnt use megascans so i know that has nothing to do with the amount of time its taking to export it.

rlguy commented

Hi, does rendering from the command line still produce render errors or error messages when the Megascans Plugin is disabled?

Something else to test could be to make a copy of the .blend file and remove everything except the domain and simulation meshes before exporting to Alembic to see if this speeds up the process.

Since this is an issue we have not had reported before, I think we will need to see a .blend file that reproduces the issue in order to diagnose the rendering and Alembic export problems. Are you able to link to a .blend file or send it to us through the marketplace (the cache is not needed)? Blend file guidelines.

it seems my blend file is too large to send here where else can i send it?

rlguy commented

Thanks for linking the file! I just had a chance to run some tests and will provide some tips for solving these issues.

Alembic export taking too long

It looks like this may be caused by loading in the particle instances into the viewport. I would recommend enabling the options to hide the particles so that particles are not loaded:

hide_particles_in_viewport

Blender will not end up exporting the loaded particle instances correctly so they do not need to be loaded. Loading the particles also seem to cause performance and resource issues in Blender 3.2. Particle instancing should be set up manually after importing the Alembic cache (Documentation: Alembic > Rendering Alembic Whitewater).

I tested exporting to Alembic with these options and the export took 8 minutes on my system:

alembic_export_options

Without hiding the particles, the export seemed to take significantly longer and I was not able to complete the process due to running out of memory (32GB).

Let me know if this does not solve the Alembic export issue.

Incorrect rendered frames

I tested rendering the animation, but was not able to reproduce incorrect frame rendering. The issues that you had could be attributed to Blender's render instability issues which are a known issue to the developers. These incorrect frames can be random and dependent on the system.

Rendering from the command line solves these issues and is recommended for high geometry scenes or scenes with many elements. Let me know if command line rendering still results in incorrect frames.

render_waterrrr.mp4

I would strongly recommend against rendering directly to a video format. If rendering to an image sequence instead, incorrect frames can be re-rendered and you can view the render progress as frames are completed. There are also other workflow benefits from Blender's manual Here:

It’s not recommended to render directly to a video format in the first instance. If a problem occurs while rendering, the file might become unplayable and you will have to re-render all frames from the beginning. If you first render out a set of static images such as the default PNG format or the higher-quality OpenEXR (which can retain HDR pixel data), you can combine them as an Image Strip in the Video Sequencer. This way, you can easily:

  • Restart the rendering from the place (the frame) where any problem occurred.
  • Try out different video encoding options in seconds, rather than minutes or hours as encoding is usually much faster than rendering the 3D scene.
  • Enjoy the rest of the features of the Video Sequencer, such as adding Image Strips from previous renders, audio, video clips, etc.

Additional tips

This is unrelated to the above issues, but can help with optimizing the simulation: Removing empty space from the domain, such as by lowering the domain ceiling, will greatly speed up simulation baking and will reduce resources required during baking. Documentation: How large should I make my domain object?

Hope this info helps!

im really glad that you rendered this for me too because i could use this, thank you for all your help!

if possible do you have a better quality version of the render?

rlguy commented

Here is the original render at full size:

waterrrr.mp4

I'm not sure if it is a 100% correct render compared to your original .blend file. There may have been textures or other external data missing.

thank you i really appreciate everything!