4 ms·
Actually, 50 fps is not going to be "buttery smooth" as well, because with a framerate of 60 fps you cannot update display image 50 times per second, so some fr
by codedokode 4y ago
Actually, 50 fps is not going to be "buttery smooth" as well, because with a framerate of 60 fps you cannot update display image 50 times per second, so some frames will be doubled.
I have another hypothesis on "smoothness" of animated images. Most of computer-generated animations are unnatural and not cinematic because the objects jump between frames instantly while in real life and on a camera film they move smoothly. The hypothesis is that if the animation was closer to real life, then it would look really smooth even with lower fps, for example, 24 fps or 30 fps.
For example, when moving a mouse cursor, it jumps between points every 16 ms instead of moving smoothly. You could argue that a human is unable to notice such tiny details, but here is a simple test to find out: take a mouse and move it in a circle, so that it makes 2-3 turns per second. If a real object would move with such speed, all you would see would be a blurred circle (you can take any real object and see for yourself), however with a mouse I can clearly see a circle made of about 10-15 mouse cursors. So the animation of mouse cursor is unrealistic, computer-like and it can be easily seen (I noticed this effect long time ago but initially thought that it is a problem with Linux or slow graphics card).
So to make a smooth animation you could use oversampling: generate an animation at say 6000 fps, and blend every 200 frames together (remember about non-linearity of RGB values when mixing colors). If by chance anyone has some free time and curiosity, could you test it?
- jessermeyer 4y agoThe instantaneous motion problem was discovered by claymation artists decades and decades ago. Motion blur is an essential component for our optical system to infer velocity and acceleration.
- mgoetzke 4y agoWhen opening the article I actually assumed it would be shown how to create motion blur from the individual frames calculated for the target frame rate. might have been a nice feature
- Ruphin 4y agoA technique similar to what you described is sometimes used in graphics engines for games. It's generally referred to as "motion blur". I think what the engines actually do is determine if an object has a velocity relative to the camera, and apply a stretch and blur effect on the object based on the direction of movement. This is relatively cheap (don't have to render many times times per single frame), but comes with a downside that the blur effect "overshoots" which can look weird when an object suddenly decelerates.
- hnuser123456 4y agoIn the source engine at least, you can playback recorded gameplay at arbitrary timescales, and at one point I had it play back a scenario at several hundred FPS equivalent and used some virtualdub plugin to merge batches of frames, and indeed the footage looked much more continuous than just a single, infinitely fast exposure per displayed frame.
- kllrnohj 4y agoNote that games have 2 different types of "motion blurs" - there's camera motion blur (blur the entire scene based on camera movement), and per-object motion blur (blur the object, really the pixel, by its velocity). The former is often hated because it causes motion sickness, but it can help for rapid camera moves on low framerates. The later is generally just pretty good looking.
- seabea 4y agoSounds like you proposing smearing and motion blur. Those techniques have actually been around for a long time in traditional, handrawn animation. https://www.traditionalanimation.com/2017/smear-speed-motion-blur-effects-in-animation/ https://www.traditionalanimation.com/2017/smear-speed-motion...
- dannyz 4y agoThis should be correct but it probably is less about the "animation being closer to real life" and more about the actual measurement method. A camera measuring at 24 fps is likely going to have exposure times closer to 1/24 and measure an average scene over that time instead of an instantaneous measurement. The oversampling method you suggest would correct for this.
- thomastjeffery 4y agoI think it's easiest to talk about smoothness in video by talking about choppiness. There are two kinds of choppiness that happen in recorded video: 1. The amount of time/motion between captured frames (framerate). 2. The amount of time/motion captured by each frame (shutter speed). You are right that the instantaneous shutter used in rendering maximizes the choppiness of a given framerate. The solution you described is a feature in most rendering software called "motion blur". If you want perfect motion blur, you have to render enough intermediary frames to cover the motion in a scene across every pixel it moves across. There are a few other less obvious places shutter speed choppiness comes into play: 1. Cameras. Some digital cameras have a physical shutter that opens and closes, and all of them have a speed at which light is captured by their sensors. When using a shutter to record video, there is a non-zero amount of time that is skipped in recording. 2. Lighting. Most lights have a framerate that matches the local standard alternating current rate: 60hz in the US, and 50hz in Europe. This is why NTSC is 60fps and PAL is 50fps. Different types of lighting fixtures have varying amounts of flicker, because they don't keep the same amount of brightness over each alternation of current. Florescent lighting is well known for (often) having a noticable flicker. You can see the effect of flickering lights by waving your hand in front of you. If it looks like a blurred motion, your lights aren't flickering. If it looks like you have many transparent fingers staying in place, then you have flickering lights. Because resolution has been steadily increasing in popular media, but framerate has not, most filmmakers have been using faster shutter speeds to compensate. If you have motion across 10% of the screen over 1 second at 30fps, then during each frame, that motion will cross 1280px*10%/30fps = 4.266px of a 720p video, or 3840px*10%/30fps = 12.8px of a 4K video. A slower shutter will give you motion blur across those pixels, yeilding an effective resolution close to 1/4.266 of the 720p video (168.75p) or 1/12.8 of the 4K/2160p video (still 168.75p). A faster shutter would remove the blur, replacing it with an uncanny teleportation: the same that makes your fingers look copied and transparent when you wave them in front of a CRT monitor. In order to get a smooth and clear/focused motion over 1 second across 10% of a 720p video, you must have a framerate of at least 128fps. 384fps for 4K. Now consider that most motion we capture in film is faster than that; some of it much faster.
- iforgotpassword 4y agoThe effect you're looking for is motion blur. You can actually get a "video game like" effect with a real camera too if a scene is very well lit and you chose a large aperture size and very fast shutter speed. It looks similarly jerky. What you suggest trying is actually possible with quite some games/engines. Some other commenter mentioned the source engine, I did it once with trackmania a good decade ago. It does very much amplify the feeling of speed.
- CuriousSkeptic 4y agoYou might enjoy this site https://blurbusters.com/the-stroboscopic-effect-of-finite-framerate-displays/ https://blurbusters.com/the-stroboscopic-effect-of-finite-fr... It’s more or less dedicated to that issue Another thing that can help is black frame insertion (thus removing the sudden “jump”)