让我列出事实,然后说出我在哪里。首先,这是我需要的功能:
(理想情况下,我也希望能够在容器中运行代码(什么是无头WebKit?),并借助主机程序抓取帧,推送ffmpeg并创建mpeg记录。但是这是奖金)
我找到的东西,以及为什么我不确定每个:
我希望现代CSS 3d投影和动画中有一些我可以使用的东西,可能是由一个积极维护的库松散地包裹着......这样的事情存在吗?或者,甚至更好的是,新的CSS /画布的东西是否足够好,以便在不使用外部库的情况下跨平台轻松实现?
任何建议都非常感谢。我意识到这可能似乎就像一个开放的问题,但我会接受像'忘记processing.js,任何其他库将做你想要的,他们都写到画布,添加一个通过覆盖另一个画布来后处理alpha混合。',例如!
答案 0 :(得分:2)
对于滚动文本,您可以使用任何画布库。在paper.js中,星球大战文本介绍可能如下所示:
var text = new PointText({
point: [0, view.center.y],
content: 'A long time ago, in a galaxy far, far away.... \n\
\n\
It is a period of civil war. Rebel\n\
spaceships, striking from a hidden\n\
base, have won their first victory\n\
against the evil Galactic Empire.\n',
fillColor: 'yellow',
fontFamily: 'Arial',
fontWeight: 'bold',
fontSize: 25,
justification : 'center'
});
text.translate(view.center, 0);
function onFrame(event) {
text.translate(0,-1);
}
然后为了实现3D效果你可以transform画布如下:
#canvas {
-webkit-transform-origin: 50% 100%,
-webkit-transform: matrix3d( 1, 0, 0, 0,
0, 1, 0, -0.003,
0, 0, 1, 0,
0, 0, 0, 1),
-webkit-transform-style: preserve-3d
}
如果您的背景为黑色,则可以在文本上方添加黑白圆gradient,并将blend mode设置为multiply
以获得圆形淡出效果。也许也可以像here所描述的那样使用svg剪贴蒙版,但我不知道你是否可以在svg中使用画布。
我在Chrome上运行的paper.js sketch website上制作了一个小脚本(因为通过jquery添加了css,所以有点hackish,所以如果你做了一些修改就重新加载)。
但也许为您的项目使用像three.js这样的JavaScript 3D库会更容易。