3

I didn't know which forum to post this in, but I'm going to try here first. I am making a shotgun with 3 barrels which spin. However, I also want it to have kickback in the animation, but every time I add that recoil it breaks the animation, making a strange wagon-wheel style illusion. No matter what I try, it always reappears once I add the recoil. Here is the animation:

enter image description here

Here is how the animation is supposed to be perceived, with the barrels spinning in one direction:

enter image description here

But this is what I often see when I look at it, where it seems to snap backwards one step:

enter image description here enter image description here

It may be a bit hard to see, but if you look at it long enough it will flip between the two, similar to that animation of a ballerina which can be spinning in either direction. I have tried having it only spin when it is down, only spin when it is up, changing the interpolation of the spinning and of the recoil, everything I can think of, but none of it works.

How do I solve this problem? Can I stop the optical illusion while keeping the recoil?

DMGregory
  • 134,153
  • 22
  • 242
  • 357
  • Welcome to GDSE. Is the animation rendered in 3D or did you make the frames in 2D as a sequence? – Pikalek Apr 27 '21 at 00:50
  • More of an art question, but: I would make the barrels recoil individually. Keep gun chassis steady but make each barrel recoil in sequence. – Bram Apr 27 '21 at 01:10
  • @Pikalek It is rendered in 3D but it will be compressed into a 2D sprite animation as a stylistic choice. – Wolfie_Waffle Apr 27 '21 at 06:17
  • @Bram I tried that a bit, I think it could work but I would really like the whole thing to move if possible. I want the feedback to be exaggerated. I'm trying to figure out why pulling it back makes the barrels seem to shift. – Wolfie_Waffle Apr 27 '21 at 06:19

1 Answers1

2

The illusion is caused by partial ambiguity in visual cues for depth. The brain perceives some hints about the dimensionality of the image & infers a rotation in a given direction. But some of the hints are ambiguous and allow for a competing interpretation. When this happens, our perception 'flip flops', creating the illusion that image has changed direction.

One of the strongest depth cues is shading. The current image looks relatively flat, which means that we must use relative size to infer depth. Adding some shading to the image may restore enough depth cueing to reduce the illusion: enter image description here

According to this research paper, the rotational bias is sensitive to viewing angle, as illustrated in their abstract:
enter image description here

So one possible fix would be to try adjust the angle of the gun such that the far end is further away from the viewer:

enter image description here

Finally, your current motion is a slide along the Z axis coupled with a rotation about the Z axis. Additional motion may help break the illusion. Specifically, try making the animation of the gun buck up and down my rotating along an X axis near to the viewer. To do this, the far end of the gun would dip down or up (depending on your preferences) before returning to its original position.

enter image description here

Adding these individually or in some combination may help.

Pikalek
  • 12,372
  • 5
  • 43
  • 51