• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

pixel art png file blurs when sliding it!

New Here ,
Feb 28, 2022 Feb 28, 2022

Copy link to clipboard

Copied

whenever i keyframe some pixelart and move it from one side to another it always blurs a little bit. I tried setting the image quality to draft, but the animation ends up being jagged or animated as if it where in 2s or 3s. is there a way to keep the pixels while the image is moving and have the movement smooth?

 

this has been torture trying to figure out.

TOPICS
How to , Import and export , Performance , Preview

Views

228

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Feb 28, 2022 Feb 28, 2022

Copy link to clipboard

Copied

A little more detail and maybe a screen shot or two would be helpful in finding an answer to the problem.

A screen shot of the timeline panel and the comp panel to show what type of blurring you are talking about would be helpful.

One thing that may be causing it: when something is moving it will blur if you have the motion blur switch for the layer turned on.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 28, 2022 Feb 28, 2022

Copy link to clipboard

Copied

Screenshot 2022-02-28 090947.pngScreenshot 2022-02-28 091010.png

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Feb 28, 2022 Feb 28, 2022

Copy link to clipboard

Copied

To prevent antialiasing on horizontal and vertical edges, you need to move a layer an even number of pixels per frame. You need to ensure that the resting position is perfectly lined up with the pixel grid. This is easy to do with an expression, but most of the time, it is unnecessary. Most of the time, unless the movement is slow, motion blur will make any animation look better. 

 

High frame rate compositions, which means anything above 30 fps, always have more problems with horizontal and vertical edges looking unnatural when the video is playing at full speed.

 

Here is the expression for precise vertical movement of things like rolling credits:

 

 

 

moveDistance = 6; // 4 to 8 are good values - must be a whole number
hvSwitch = 1; // 0 makes a scroll, 1 makes a roll 
startTime = time - thisLayer.inPoint;
frameCount = startTime / thisComp.frameDuration;
pixPerFrame = frameCount * moveDistance;
if (hvSwitch == 0)
	[value[0] - pixPerFrame, value[1]]
else
	[value[0], value[1] - pixPerFrame];

 

 

 

I hope this helps.

 

EDIT: Now that I see your screenshots, you are looking at the Comp with a Magnify Ratio of 200%. You are seeing magnified pixels. Your black line is also only 1 pixel wide, so it will antialias and look more or less gray as it moves. When designing artwork for the video, the minimum recommended line thickness, especially for horizontal and vertical lines, is 2 pixels.

 

I would turn on motion blur and make your final quality assessment previewing the video with the Magnification Ratio set to 100%, resolution to Auto, and have the Info Panel open to make sure the preview is running in real-time.

 

Those thin lines, especially the black against white, will also cause problems when the video is rendered (h.264 MP4) for delivery. Color is compressed in blocks of 4 pixels, and luminance is averaged over several frames so that may cause problems getting the best quality with such thin lines.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 28, 2022 Feb 28, 2022

Copy link to clipboard

Copied

is there a way to change the expression to make it move horozontaly?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Feb 28, 2022 Feb 28, 2022

Copy link to clipboard

Copied

LATEST

Change the value of hvSwitch to 0. 

moveDistance = 6; // 4 to 8 are good values - must be a whole number
hvSwitch = 0; // 0 makes a scroll, 1 makes a roll 
startTime = time - thisLayer.inPoint;
frameCount = startTime / thisComp.frameDuration;
pixPerFrame = frameCount * moveDistance;
if (hvSwitch == 0)
	[value[0] - pixPerFrame, value[1]]
else
	[value[0], value[1] - pixPerFrame];

If you want the movement to go the other way change " - pixPerFrame" to " + pixPerFrame in the if/else part of the expression.

 

Hope this helps.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines