Animation 处理动画时非常紧张
我只是在处理方面做些小修补,以便按程序制作一些Animation 处理动画时非常紧张,animation,processing,procedural-generation,Animation,Processing,Procedural Generation,我只是在处理方面做些小修补,以便按程序制作一些.gif动画。出于某种原因,我刚完成制作的一个在运行它时(以及在使用动画导出它时)会有很多抖动。我不完全清楚为什么会发生这种情况 请原谅,这是我的代码: long lastTime = 0; float angle1, angle2, angle3, angle4, angle5, angle6; int change; public void setup() { size(120, 120); lastTime = millis();
.gif
动画。出于某种原因,我刚完成制作的一个在运行它时(以及在使用动画导出它时)会有很多抖动。我不完全清楚为什么会发生这种情况
请原谅,这是我的代码:
long lastTime = 0;
float angle1, angle2, angle3, angle4, angle5, angle6;
int change;
public void setup() {
size(120, 120);
lastTime = millis();
angle1 = -60;
angle2 = 240;
angle3 = -30;
angle4 = 210;
angle5 = -75;
angle6 = 255;
change = 3;
noFill();
stroke(0);
strokeWeight(10);
smooth();
}
public void draw() {
if (millis() - lastTime > 12) {
background(255,255,255);
lastTime = millis();
stroke(#3aa8c3);
arc(60, 60, 70, 70, radians(angle1), radians(angle2));
ellipse(60, 60, 10, 10);
stroke(#e7e7e7);
arc(60, 60, 40, 40, radians(angle3), radians(angle4));
arc(60, 60, 100, 100, radians(angle5), radians(angle6));
angle1-=change*2;
angle2-=change*2;
angle3+=change*3;
angle4+=change*3;
angle5+=change;
angle6+=change;
}
}
结果如下:
这是我做错了什么,还是仅仅是对处理环境的限制
编辑:
将渲染模式更改为P3D(size(120120,P3D);
)后,工作更加顺利。它去掉了圆角,我不得不添加一些抗锯齿(smooth(8)
),但它不再抖动。透明的背景也是一个额外的好处:
如果您发布问题的最简单形式,您的运气会更好,比如:
public void setup() {
size(360, 360);
noFill();
stroke(0);
smooth(10);
}
public void draw() {
background(255);
stroke(#3aa8c3);
arc(60, 60, 70, 70, radians(mouseX), radians(mouseY));
}
这使我们能够消除原因,更容易找到解决方案
另外,我在谷歌上搜索了“处理弧抖动”和“处理弧摆动”,找到了答案,上面说要尝试提示(启用\u STROKE\u PURE)
功能。当我将其添加到示例中时,它似乎工作得更好:
public void setup() {
size(360, 360);
noFill();
stroke(0);
smooth(10);
hint(ENABLE_STROKE_PURE);
}
public void draw() {
background(255);
stroke(#3aa8c3);
arc(60, 60, 70, 70, radians(mouseX), radians(mouseY));
}
添加
提示(启用\u笔划\u纯)代码>作为setup()
函数的最后一行,似乎也可以解决您的问题。这可能是低质量的抗锯齿。也许可以试一试?我刚刚将渲染模式更改为P3D
,抖动是固定的。它去掉了圆角和抗锯齿,但该命令使它看起来更好。谢谢可能重复的