Alembic export is duplicating a frame every two frames when exporting fluid sims at high starting frame #98310

Closed
opened 2022-05-22 04:04:25 +02:00 by B · 4 comments

System Information
Operating system: Windows 11
Graphics card: NVIDIA GeForce RTX 3070 TI

Blender Version
Broken: 3.1.2
Worked: Does not work on the other version/machine I was using (2.93.1, Windows 10, NVIDIA GeForce GTX 1650)

Short description of error
When exporting fluid sims as an alembic (using either Flip fluids or blender's built in simulator) when the starting frame is large (At least 7403) the resulting alembic will have a duplicated frame ever 2 frames.
both with offset position.gif
(The simulation on the left, the alembic on the right)

7403-7443 better example.gif
(The alembic by itself)
It's very strange. Every two frames, one frame is duplicated.

This behavior is not present when exporting and importing alembics when the simulation was run from a smaller starting frame. Here is the same simulation, simulated from 0000-0040:
both with offset position 0000-0040.gif

The alembic is identical to the simulation.
0000-0040 example.gif

Exact steps for others to reproduce the error
NOTE: All alembics seen here and in the attachments were exported with the default settings, the only thing checked was "selected objects" next to "only"

I've included a zip that has two blend files (one for the sim at 0000-0040, one with the sim at 7403-7443). The zip also contains the alembics seen in the gifs above. To replicate this, create a cube, make that the fluid domain. Create a UV sphere, make that a fluid flow object. Make sure the domain is set to "fluid" and set the sim start to 7403 and the sim end to 7443. Once the simulation is baked, select the fluid mesh. Then, export the fluid mesh as an alembic. Check "selected objects" next to "only" (and make sure the frame range is set to 7403-7443). Then, import the created alembic.

I have tried this on multiple test fluid simulations, using both the Blender built in fluid sim and the FLIP fluids add-on and I experience the same result (duplicate frames)
bad alembic slower.gif
(This is the FLIP Fluids sim I discovered this issue on)

And you can also do the above in Blender 2.93.1 (that's the only other version I've tested this one).

I'm hoping I'm just not overlooking something, but I can't understand why alembic exporting wouldn't be consistent from frames at high frame ranges. So, it seems to me this is unintended behavior.

EDIT: Not sure if the .zip file attached, I'll attach the .blends and alembics separately.
fluid test 7403-7443.blend

fluid test 0000-0040.blend

fluid test 0000-0040 alembic.abc

fluid test 7403-7443 alembic.abc

EDIT 2: Changing the frame offset also results in inconsistent behavior. For example, making it so both alembics start to play at frame 0 results in identical alembics (even though one was baked and exported from 7403-7443)
changed start time to match 0000.gif

Changing the other alembic's frame start time to match the one that starts at 7403 makes it exhibit the frame dropping behavior.
changed start time to match 7403.gif

Additionally, I've found a work around(?). The alembic on the left's frame offset is 7402 and the alembic on the right's frame offset is -1.5. Both have "vertex interpolation" turned off. So by using non-integer or other frame offsets, the alembic works as expected and appear to be identical.
possible fix.gif

But I haven't tried it on anything but these two alembics.

**System Information** Operating system: Windows 11 Graphics card: NVIDIA GeForce RTX 3070 TI **Blender Version** Broken: 3.1.2 Worked: **Does not work** on the other version/machine I was using (2.93.1, Windows 10, NVIDIA GeForce GTX 1650) **Short description of error** When exporting fluid sims as an alembic (using either Flip fluids or blender's built in simulator) when the starting frame is large (At least 7403) the resulting alembic will have a duplicated frame ever 2 frames. ![both with offset position.gif](https://archive.blender.org/developer/F13097010/both_with_offset_position.gif) (The simulation on the left, the alembic on the right) ![7403-7443 better example.gif](https://archive.blender.org/developer/F13097005/7403-7443_better_example.gif) (The alembic by itself) It's very strange. Every two frames, one frame is duplicated. This behavior is not present when exporting and importing alembics when the simulation was run from a smaller starting frame. Here is the same simulation, simulated from 0000-0040: ![both with offset position 0000-0040.gif](https://archive.blender.org/developer/F13097015/both_with_offset_position_0000-0040.gif) The alembic is identical to the simulation. ![0000-0040 example.gif](https://archive.blender.org/developer/F13097019/0000-0040_example.gif) **Exact steps for others to reproduce the error** **NOTE: All alembics seen here and in the attachments were exported with the default settings, the only thing checked was "selected objects" next to "only"** I've included a zip that has two blend files (one for the sim at 0000-0040, one with the sim at 7403-7443). The zip also contains the alembics seen in the gifs above. To replicate this, create a cube, make that the fluid domain. Create a UV sphere, make that a fluid flow object. Make sure the domain is set to "fluid" and set the sim start to 7403 and the sim end to 7443. Once the simulation is baked, select the fluid mesh. Then, export the fluid mesh as an alembic. Check "selected objects" next to "only" (and make sure the frame range is set to 7403-7443). Then, import the created alembic. I have tried this on multiple test fluid simulations, using both the Blender built in fluid sim and the FLIP fluids add-on and I experience the same result (duplicate frames) ![bad alembic slower.gif](https://archive.blender.org/developer/F13097043/bad_alembic_slower.gif) (This is the FLIP Fluids sim I discovered this issue on) And you can also do the above in Blender 2.93.1 (that's the only other version I've tested this one). I'm hoping I'm just not overlooking something, but I can't understand why alembic exporting wouldn't be consistent from frames at high frame ranges. So, it seems to me this is unintended behavior. EDIT: Not sure if the .zip file attached, I'll attach the .blends and alembics separately. [fluid test 7403-7443.blend](https://archive.blender.org/developer/F13097048/fluid_test_7403-7443.blend) [fluid test 0000-0040.blend](https://archive.blender.org/developer/F13097047/fluid_test_0000-0040.blend) [fluid test 0000-0040 alembic.abc](https://archive.blender.org/developer/F13097050/fluid_test_0000-0040_alembic.abc) [fluid test 7403-7443 alembic.abc](https://archive.blender.org/developer/F13097049/fluid_test_7403-7443_alembic.abc) EDIT 2: Changing the frame offset also results in inconsistent behavior. For example, making it so both alembics start to play at frame 0 results in identical alembics (even though one was baked and exported from 7403-7443) ![changed start time to match 0000.gif](https://archive.blender.org/developer/F13097077/changed_start_time_to_match_0000.gif) Changing the other alembic's frame start time to match the one that starts at 7403 makes it exhibit the frame dropping behavior. ![changed start time to match 7403.gif](https://archive.blender.org/developer/F13097080/changed_start_time_to_match_7403.gif) Additionally, **I've found a work around(?).** The alembic on the left's frame offset is 7402 and the alembic on the right's frame offset is -1.5. Both have "vertex interpolation" turned off. So by using non-integer or other frame offsets, the alembic works as expected and appear to be identical. ![possible fix.gif](https://archive.blender.org/developer/F13097089/possible_fix.gif) But I haven't tried it on anything but these two alembics.
Author

Added subscriber: @velocirection

Added subscriber: @velocirection
Member

Added subscriber: @EAW

Added subscriber: @EAW
Member

Changed status from 'Needs Triage' to: 'Resolved'

Changed status from 'Needs Triage' to: 'Resolved'
Evan Wilson self-assigned this 2022-05-23 02:22:25 +02:00
Member

Thank you for the report.

I reproduced this bug in the latest 3.1.2 official release, but not the latest 3.2 and 3.3 daily build hashes bf352df27a and fff8f969de, so it appears the bug has been fixed already, likely by f3a475a767

Please try the latest daily build: https://builder.blender.org/download/

If the problem persists, please let us know so we can re-open the report. Don't forget to mention the specific version you tested again.

Thank you for the report. I reproduced this bug in the latest 3.1.2 official release, but not the latest 3.2 and 3.3 daily build hashes bf352df27a and fff8f969de, so it appears the bug has been fixed already, likely by f3a475a767 Please try the latest daily build: https://builder.blender.org/download/ If the problem persists, please let us know so we can re-open the report. Don't forget to mention the specific version you tested again.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#98310
No description provided.