Regression: Cycles motion blur is causing geometry artifacts #112850

Closed
opened 2023-09-25 14:24:57 +02:00 by Valentin Remy · 15 comments

System Information
Operating system: Windows 11 Pro
Graphics card: RTX 3090

Blender Version
Broken: Blender 4.0.0 Alpha (September 25)
Worked: Blender 3.4.1

Short description of error
Motion blur causes the geometry to appear stretched. It seems like individual vertices are getting distorted.

When applying a Butterworth filter on an armature, there are visual artefacts visible on the character's geometry.
It appears geometry is being stretched every few frames. !!Note that it only appears when Motion Blur is turned ON!!
I guess something is happening between frames, making the issue invisible if motion blur is off.

Exact steps for others to reproduce the error
Render frame 719 => Issue is visible on the character
Turn off the Butterworth Applied collection, turn on the "NO Butterworth" collection, render => no visible artefacts

  • Open butterworth_bug_simplified
  • make sure you are on f719
  • hit render
  • observe that the left character is distorted

image

Findings
It is animation related and has to do with the animation on clavicle_l
If the animation is modified slightly the glitch disappears
If you copy the rotation values of clavicle_l on f719 to the working armature, it will also start showing the glitch
Whatever glitch appears in the render is not visible in the viewport when scrubbing with subframes.
Only appears in Cycles, Eevee does not have that issue
Changing the skinning solver may fix the issue or introduce it

Redo these steps with Motion Blur turned off => no visible artefacts

Simplified File attached
I've also attached a test file saved in Blender 3.3 that I used for testing older versions (since opening the 4.0 file in 3.6 is not possible I exported the data as fbx). With that I found out that the bug was introduced between 3.4 and 3.5

Original File:
https://drive.google.com/file/d/1ygiIMm-8aVXWFf7R77m81qkWYCn7cEvl/view?usp=sharing

**System Information** Operating system: Windows 11 Pro Graphics card: RTX 3090 **Blender Version** Broken: Blender 4.0.0 Alpha (September 25) Worked: Blender 3.4.1 **Short description of error** Motion blur causes the geometry to appear stretched. It seems like individual vertices are getting distorted. ~~When applying a Butterworth filter on an armature, there are visual artefacts visible on the character's geometry.~~ ~~It appears geometry is being stretched every few frames. **!!Note that it only appears when Motion Blur is turned ON!!**~~ ~~I guess something is happening between frames, making the issue invisible if motion blur is off.~~ **Exact steps for others to reproduce the error** ~~Render frame 719 => Issue is visible on the character~~ ~~Turn off the Butterworth Applied collection, turn on the "NO Butterworth" collection, render => no visible artefacts~~ * Open `butterworth_bug_simplified` * make sure you are on f719 * hit render * observe that the left character is distorted ![image](/attachments/f98132d7-11ad-4b3b-ab18-1359a51e1490) **Findings** It is animation related and has to do with the animation on `clavicle_l` If the animation is modified slightly the glitch disappears If you copy the rotation values of `clavicle_l` on f719 to the working armature, it will also start showing the glitch Whatever glitch appears in the render is not visible in the viewport when scrubbing with subframes. Only appears in Cycles, Eevee does not have that issue Changing the skinning solver may fix the issue or introduce it Redo these steps with Motion Blur turned off => no visible artefacts **Simplified File attached** I've also attached a test file saved in Blender 3.3 that I used for testing older versions (since opening the 4.0 file in 3.6 is not possible I exported the data as fbx). With that I found out that the bug was introduced between 3.4 and 3.5 Original File: https://drive.google.com/file/d/1ygiIMm-8aVXWFf7R77m81qkWYCn7cEvl/view?usp=sharing
Valentin Remy added the
Priority
Normal
Type
Report
Status
Needs Triage
labels 2023-09-25 14:24:58 +02:00
Author

Here's an image of the issue:

image

Here's an image of the issue: ![image](/attachments/fa4ea07c-725b-4b2a-87d0-011db6a0049b)

@ChrisLend Can you debug this file, or do you request simplified version?

@ChrisLend Can you debug this file, or do you request simplified version?
Richard Antalik added
Status
Confirmed
Module
Animation & Rigging
and removed
Status
Needs Triage
labels 2023-09-26 01:18:37 +02:00
Christoph Lendenfeld self-assigned this 2023-09-26 09:26:05 +02:00

@Chpouky this doesn't seem to be caused by the butterworth filter. I applied the butterworth to the unfiltered armature and the artifacts don't show up.

disabling the base NLA layer in "Butterworth Applied" removes the issue, so it is somehow animation related
from the look of it I would expect it to be a skinning issue, since it seems like only individual verts are affected

@Chpouky this doesn't seem to be caused by the butterworth filter. I applied the butterworth to the unfiltered armature and the artifacts don't show up. disabling the base NLA layer in "Butterworth Applied" removes the issue, so it is somehow animation related from the look of it I would expect it to be a skinning issue, since it seems like only individual verts are affected
Christoph Lendenfeld added
Status
Needs Information from User
and removed
Status
Confirmed
labels 2023-09-26 11:18:22 +02:00
Author

@ChrisLend the issue does not always appear at the same frame when you apply the filter, it depends on what settings you use.

For example, if you use 4Hz on Butterworth, see the issue at frame X, then try again with let's say 3Hz, the issue will appear at a different frame.

If you render an animation you will see it appear every now and then, just at different times.

@ChrisLend the issue does not always appear at the same frame when you apply the filter, it depends on what settings you use. For example, if you use 4Hz on Butterworth, see the issue at frame X, then try again with let's say 3Hz, the issue will appear at a different frame. If you render an animation you will see it appear every now and then, just at different times.

it also depends on the shutter value. On frame 719 it disappears when the shutter is below 0.4 and higher than 0.8

it also depends on the shutter value. On frame 719 it disappears when the shutter is below 0.4 and higher than 0.8
Author

Ah, nice catch ! So it seems stuff is happening in subframes ? I also just tried changing the Position in Motion Blur settings: "End of frame" seems to hide the problem. I checked a few other frames than 719 and I don't see it.

But it just hides the problem I guess, not sure what is happening under the hood.
My goal is to clean mocap data in Blender to use in Unreal Engine, but if vertices are jumping around in the background it could cause other problems.

Ah, nice catch ! So it seems stuff is happening in subframes ? I also just tried changing the Position in Motion Blur settings: "End of frame" seems to hide the problem. I checked a few other frames than 719 and I don't see it. But it just hides the problem I guess, not sure what is happening under the hood. My goal is to clean mocap data in Blender to use in Unreal Engine, but if vertices are jumping around in the background it could cause other problems.

I agree this needs a fix. It's just weird it only shows up in motion blur and not when scrubbing through subframes
Another thing I found: Disabling the animation of clavicle_l removes the glitch

I agree this needs a fix. It's just weird it only shows up in motion blur and not when scrubbing through subframes Another thing I found: Disabling the animation of `clavicle_l` removes the glitch
Author

Interesting !

Some info that might be useful: this is the UE4 Mannequin imported straight from Unreal (exported as FBX).
I also encountered this issue using the Newton character exported from a mocap session in Rokoko Studio.
Haven't tried any other character yet.

Interesting ! Some info that might be useful: this is the UE4 Mannequin imported straight from Unreal (exported as FBX). I also encountered this issue using the Newton character exported from a mocap session in Rokoko Studio. Haven't tried any other character yet.

@Chpouky I edited the description so everything is in one place and uploaded a cut down version of the file
have you experienced this bug with exported animation unreal as well? would be interesting to know because I can't reproduce it in EEVEE

@Chpouky I edited the description so everything is in one place and uploaded a cut down version of the file have you experienced this bug with exported animation unreal as well? would be interesting to know because I can't reproduce it in EEVEE
Author

I haven't tried importing the buggy one in Unreal yet, will do !

I haven't tried importing the buggy one in Unreal yet, will do !
Member

I did a little experimentation as well with butterworth_bug_simplified.blend.

Something that wasn't immediately obvious to me is that the NLA setup isn't necessary at all to trigger the issue. On either character, you can just directly assign the following actions to make the issue show up and disappear:

  • root|clip|Base_Layer Retarget (does exhibit the issue)
  • root.002|clip|Base_Layer.001 Retarget (does not exhibit the issue)

Something else I noticed: if you change the armature modifier to use dual-quaternion skinning (the "Preserve Volume" option), the issue goes away for the left character (regardless of action), but is swapped for the right character: root|clip|Base_Layer Retarget does not exhibit the issue, but now root.002|clip|Base_Layer.001 Retarget does exhibit a similar issue (though the motion blur trails are different).

I did a little experimentation as well with `butterworth_bug_simplified.blend`. Something that wasn't immediately obvious to me is that the NLA setup isn't necessary at all to trigger the issue. On either character, you can just directly assign the following actions to make the issue show up and disappear: - `root|clip|Base_Layer Retarget` (does exhibit the issue) - `root.002|clip|Base_Layer.001 Retarget` (does *not* exhibit the issue) Something else I noticed: if you change the armature modifier to use dual-quaternion skinning (the "Preserve Volume" option), the issue goes away for the left character (regardless of action), but is *swapped* for the right character: `root|clip|Base_Layer Retarget` does *not* exhibit the issue, but now `root.002|clip|Base_Layer.001 Retarget` *does* exhibit a similar issue (though the motion blur trails are different).
Christoph Lendenfeld changed title from Butterworth Filter is causing issues on geometry to Regression: Cycles motion blur is causing geometry artifacts 2023-09-29 15:06:23 +02:00
Christoph Lendenfeld changed title from Regression: Cycles motion blur is causing geometry artifacts to Regression: Cycles motion blur is causing geometry artefacts 2023-09-29 15:09:36 +02:00
Christoph Lendenfeld changed title from Regression: Cycles motion blur is causing geometry artefacts to Regression: Cycles motion blur is causing geometry artifacts 2023-09-29 15:09:54 +02:00

I found out that it seems to be a regression that happened between 3.4 and 3.5
@brecht tagging you here to give your input on the cycles side

also since this turned out to be not about the butterworth filter, I've unassigned myself

I found out that it seems to be a regression that happened between 3.4 and 3.5 @brecht tagging you here to give your input on the cycles side also since this turned out to be not about the butterworth filter, I've unassigned myself
Christoph Lendenfeld added
Type
Bug
Status
Confirmed
and removed
Type
Report
Status
Needs Info from Developers
labels 2023-09-29 15:18:13 +02:00
Christoph Lendenfeld removed their assignment 2023-09-29 15:18:43 +02:00
Christoph Lendenfeld added the
Interest
Cycles
label 2023-09-29 15:21:35 +02:00

This is a duplicate of #100425.

This is a duplicate of #100425.
Blender Bot added
Status
Archived
and removed
Status
Confirmed
labels 2023-09-29 15:27:36 +02:00

Disable auto-smooth to work around the problem. In general autosmooth does not work well on animated characters, as edges will change between smooth and sharp when the character deforms.

Disable auto-smooth to work around the problem. In general autosmooth does not work well on animated characters, as edges will change between smooth and sharp when the character deforms.

thanks for the clarification

sorry I missed this being a duplicate

thanks for the clarification sorry I missed this being a duplicate
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
5 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#112850
No description provided.