Making temporal samples and physics work - $500 bounty

Making temporal samples and physics work - $500 bounty

For the last month, I have been struggling to make physics work in the movie render queue when using temporal samples for realistic motion blur. Realistic motion blur is important for particle systems and non-linear motion. Specifically, I have been rendering with 32 temporal samples, anti-aliasing overridden to None and motion blur set to 0.5 (as far as I understand, this corresponds to a shutter angle of 180).

At the moment, physics do not work with these settings, e.g. hair grooms or any other animations that are driven by physics explode. See this video as an example of a hair groom going crazy:

I have been searching for over a month now for potential solutions to this. I tried changing the amount of motion blur in the camera, enabling fine grained substepping in the physics engine as well as the hair grooms. None of this has made a difference.

I will pay $500 to the first person who posts a detailed solution of making this work as a public blog post. If there is a fix, it needs to work without recompiling the engine. A public blog post will help future people who run into these issues as well.

Requirements for qualifying for the $500 bounty:

  • A public blog post providing a detailed solution to make physics and temporal samples work; using temporal samples and anti-aliasing set to None in Movie Render Queue.
  • The solution needs to work in Unreal Engine 5.2.1 on Windows
  • A wayback machine URL capturing your public blog post
  • A commitment to your email address so you can be paid via Paypal; see details below.

The bounty will go to the first person who provides a solution that I can verify in my current Unreal project setup. It’s possible that there is currently no solution in which case I will not pay the bounty but I might still provide a smaller bounty to someone who writes up an explanation of the problem in a way that makes future people not go crazy searching for a solution that does not exist.

Committing your email address: use SHA256 Online and enter your email address followed by a random sentence. The commitment is the resulting hash. To be paid you need to privately communicate the same email address and random sentence and it needs to result in the same commitment hash posted in the forum post. I am doing this to avoid any kind of impersonation and so that the right person gets the bounty.

For example,

test@bademail.com This is a random sentence that nobody should be able to guess.

Would result in a commitment of:

4408a3d9592665e3ddaafbb28ba55bf5df5cf54ce4c8c2d038978c37e9dcb248

1 Like

This is now an official bug (UE-193082) against Unreal 5.3. I will also be posting my work around using time dilation tracks and compositing in Nuke in a few days. It’s pretty wasteful in terms of compute and storage but gets good results without crazy physics.

I’m still relatively new to Unreal, and have been trying to figure it out in regard to realtime rendering, so apologies if I’m of fthe mark here. Would it be better, or solve any part of the problem if the hair sim was baked with the Take Recorder first? I’ve played around with this a little, but havent quite got around to a full test right through to render.

I had considered taking the hair groom into Houdini, simulating it there and reimporting as an animated FBX into Unreal. That defeats my main reason for using Unreal though which is an efficient workflow. At the moment, I am using iClone to drive body and facial animations and record them using the take recorder. I have not investigated whether Live Link works in PIE mode but from what I have read it doesn’t. I also imagine that in PIE mode, locking to timecode would no longer be possible.

Found this thread via the bug tracker.

Hair is hard to render. You never see any art containing hair on this site.

A few thoughts and resources you can try:

  • I’m pretty sure you can bake the hair animation in iClone and then export it over. I think there’s a project settings that allows for this.

  • Make sure you include “Game overrides” in MRQ. This adds a number of high quality Cvars for rendering and cinematics.

  • Check this out: Rendering Hair & Fur | Epic Developer Community (epicgames.com)

  • Have you looked at p.ChaosCloth.UseTimeStepSmoothing 1 CVar? It worked for cloth going nuts when using temporal samples and I think someone said it worked for hair too, but can’t confirm.

  • 32 temporal samples seems like a lot for motion blur. Have you tried lowering that number and mixing it with spatial samples?

1 Like

I ended up using a time dilation track and then comping the resulting images in Nuke to create the motion blur there. It was more time consuming but worked ok in the end.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.