Announcement

Collapse
No announcement yet.

Wheels, motion blur and motion vectors

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Wheels, motion blur and motion vectors

    Hey everyone!

    I sure I speak for all of us using vehicles that motion blur is a big problem for wheels.

    Click image for larger version

Name:	blur2.png
Views:	1
Size:	726.9 KB
ID:	1224418

    This happens because "motion blur in UE4 is linear".

    Epic explains it pretty well in The Human Race video, here:
    https://youtu.be/A0BfZoFZyBs?t=31m45s


    Now, as I see it, Epic is blending through different wheels (based on speed), and these wheels are moving slowly. That's fair enough, but what I don't understand is how they achieve that perfect motion blur effect.

    I did try to move the wheel slower, but it looks nothing like their version:

    Click image for larger version

Name:	Untitled-2.jpg
Views:	1
Size:	208.6 KB
ID:	1224422

    Help me, Epic, you're my only hope!
    Attached Files

    #2
    Same problems here with wheel motion blur, and I want Extract motion vector gbuffer.

    Comment


      #3
      Originally posted by bluearc View Post
      Same problems here with wheel motion blur, and I want Extract motion vector gbuffer.
      The problem is within the motion vectors themselves.



      As you can see in the video, the faster the wheel spins, the more the vectors have the tendency to be linear.

      What I'm looking for is to clamp the motion vectors somehow.

      Comment


        #4
        So, screen percentage 300% helps a bit, but not much. Also, it's pretty much unplayable (duh).

        The search continues!

        Click image for larger version

Name:	Untitled.jpg
Views:	1
Size:	386.0 KB
ID:	1130260

        Comment


          #5
          Maybe you can fake it with material or extra animation in the wheel instead of just hopng that the built-in motion blur does it perfect...
          I would bet for a fake solution, really.

          Comment


            #6
            Originally posted by Seehr View Post
            Maybe you can fake it with material or extra animation in the wheel instead of just hopng that the built-in motion blur does it perfect...
            I would bet for a fake solution, really.
            I'm really curious how Epic did it in The Human Race, though. I'm not expecting the built-in motion blur to work out of the box, rather I'm waiting to see if anyone who worked on it can give some hints.

            Comment


              #7
              Old school technique with motion blur was to render scene multiple times with substeps to accumulate buffer. This is insanely costly but gives nice algorithm that can be used with modern techniques. For correct motion blur for wheels you would need to render spinning wheel multiple times during when shutter is open. So let say your 4ms shutter speed and you render same wheel 4 times in time T, T - 1ms, T - 2 ms and T - 3ms. Also can use alpha testing instead of blending. I think they are doing just like that in The Human Race.

              Comment


                #8
                Originally posted by Kalle-H View Post
                Old school technique with motion blur was to render scene multiple times with substeps to accumulate buffer. This is insanely costly but gives nice algorithm that can be used with modern techniques. For correct motion blur for wheels you would need to render spinning wheel multiple times during when shutter is open. So let say your 4ms shutter speed and you render same wheel 4 times in time T, T - 1ms, T - 2 ms and T - 3ms. Also can use alpha testing instead of blending. I think they are doing just like that in The Human Race.
                That went waaaay over my head.

                How do I get started with this solution?

                Comment


                  #9
                  Really old school would be to have disc model with pre-blurred texture

                  Comment


                    #10
                    Yeah, exactly. Maybe have a kit of variants. 3 or 4 positions that you pre-rendered or even in an atlas if you want. And you just transition those nicely.

                    Comment


                      #11
                      Alex from what I seen on the behind the scenes cut. They didn't use animation on the car. They used film, and mocap. So this was Ue4 that retargets a body on their actual car. The wheel images your seeing are of the actual film, and weren't created in engine. Old school game tricks change wheel image as vehicle speeds. So you would start with a transparent texture, and move to one pre blurred, and basically play a flip book with the vehicles speed. This is really evident in games from the 90's. As sometimes when turning corners in a game like test drive 5 you'll notice the blurred image being stuck, and not moving at all. So in the 90's essentially you placed a round pane at the edge of the wheel, and have about 8 textures that are blurred. Speed up the flip book as your car speeds up, but if speed decelerates below set amount than go back to transparent to show the wheel. Even new games are doing this, but without the pane. You can watch a project cars video like this. https://www.youtube.com/watch?v=SNKjM-LHLdk and see that real physics dont apply. I think the cv joints in rear axle sometimes slow down as car goes faster, and at times the wheel images will glitch, and get stuck. Problems happen when hooking turns, or doing burn outs. because it doesnt detect wheel spin, but speed.

                      Comment


                        #12
                        Originally posted by thadkinsjr View Post
                        Alex from what I seen on the behind the scenes cut. They didn't use animation on the car. They used film, and mocap. So this was Ue4 that retargets a body on their actual car. The wheel images your seeing are of the actual film, and weren't created in engine.
                        Car is fully CG so wheels are too.

                        They used actual wheel mesh to get proper lighting.

                        Comment


                          #13
                          Originally posted by Kalle-H View Post
                          Car is fully CG so wheels are too.

                          They used actual wheel mesh to get proper lighting.
                          I seen that blackbird. The car that they had as a prototype.
                          They were showing them retargeting a body onto that car.
                          If The entire car modelled for cg then it's really, really good.
                          I haven't seen graphics that good in any racing game. Ever.

                          Comment


                            #14
                            Originally posted by Kalle-H View Post
                            Car is fully CG so wheels are too.

                            They used actual wheel mesh to get proper lighting.
                            Yeah, they did. You can see the wheel react to lighting in the making of video.


                            I did manage to cobble something together, but I don't think it looks quite like what Epic did (obviously):



                            Obviously, there's a problem:

                            Attached Files

                            Comment


                              #15
                              That's pretty good. I just re watched the livestream, and it's impressive. I hope to see the answer. Not only for wheels, but it can do a lot for rendering fast movements. At exactly 24.05 it shows a screen shot of the car with a black inverse domed wheel. Then at 27.41 a large piece of the tire is inside the concrete. This is all on the gdc 2017 video. There is a gigantic graphics card station next to the guy at 24.05. I'm wondering how much they boosted the game engine to get this effect. Im sure we're talking HP sitting on that desk. That has to be at, or near 100fps, or more. Theres a nice console command for forcing fps also. That bmw wheel looks so much better.

                              Comment

                              Working...
                              X