十种视频风格 是做什么的?
用代码渲染视频,将同一主题呈现为10种截然不同的艺术风格的配方。风格不是颜色变化:每种风格都有自己独特的几何形状、纹理、动画和字体。如果你的场景中的一帧可能会被误认为是平面矢量图,那么该风格还没有完成。
如何使用
- 询问(或推断)三件事:主题(例如,一辆自动人力车)、风格(下面10种之一)和格式(默认1080x1920,30 fps)。
- 将主题一次性绘制为简单的多边形和圆形(点的列表,没有曲线)。下面的每种风格都会重新渲染相同的数据点,因此主题在不同风格中都能保持可识别性。
- 根据所选风格的配方构建场景:背景、主题处理、动画、字体。
- 在完整渲染之前,先每场景渲染1帧静态图像并查看它。修正,然后渲染。
用户可以输入的提示公式:
[主题] ka video banao, [STYLE] style mein + 氛围 + 镜头 + 目的。
每种风格的规则
- 主题位于画面中央的60%区域;文字保持在顶部220像素和底部380像素之外(Reels用户界面会覆盖这些区域)。
- 标题使用属于该风格的字体(每种风格列出)。将字体作为本地文件加载;不要依赖系统默认字体。
- 背景必须移动(滚动道路、视差、网格),这样即使主题居中,也会感觉像是在穿行。
- 为所有SVG滤镜赋予唯一ID;一个屏幕上多个风格共享一个文档时尤其重要。
- 重度的SVG滤镜在场景缩小时(缩略图)会失效。提供一个
mini模式来移除它们。
10种配方
1. 像素风 - "purane video game jaisa"
- 外观: 块状方形像素,硬朗的深色轮廓,明亮平坦的颜色。
- 方法: 正常绘制场景,然后用SVG滤镜对整个组进行像素化:
feFlood(在偏移5,5处设置2x2像素)->feComposite(12x12)->feTile->feComposite in=SourceGraphic operator=in->feMorphology dilate radius=5。这样得到12像素的单元格。首先为主题添加8像素的暗色描边。 - 动画: 时间步进到10 fps(
floor(frame/3)),位置锁定到12像素网格,恰好一个单元格内上下浮动。 - 额外: 用矩形构成的块状太阳和云朵,棋盘草地,漂浮的金币。
- 字体: Press Start 2P,白色带硬偏移阴影。
2. 黏土风 - "haath se bana hua"
- 外观: 柔和蓬松的形状,光线来自左上角,哑光表面,接触阴影。
- 方法: 圆润每个形状(相同颜色的描边14像素,圆角连接)。每个部分应用一个滤镜:低频
feTurbulence+feDisplacementMap(比例12,边缘波动)->feGaussianBlur(7)作为高度图 ->feDiffuseLighting乘以颜色 + 少量feSpecularLighting-> 精细噪点用于指纹纹理 ->feDropShadow。 - 动画: 定格动画。每3帧更新一次,每步步进位置抖动1-3像素,循环湍流种子(3个值),使边缘“沸腾”。
- 调色板: 淡彩桃色、鼠尾草绿、芥末黄。字体: Fredoka Bold。
3. 纸板剪裁 - "kaagaz ki layers"
- 外观: 扁平的纸张层叠,层间有阴影,边缘粗糙,有颗粒感。
- 方法: 每一层都应用
feDisplacementMap(比例5)+feDropShadow(dy 9,blur 5,38%)。最后以一个全帧噪点矩形使用multiply混合模式覆盖。 - 动画: 3-4层山丘层以不同速度滚动(视差),云朵挂在细线上摆动,主题像木偶一样晃动1-2度。
- 调色板: 工艺纸:蓝绿色、芥末黄、陶土色、奶油色。字体: Alfa Slab One。
4. 低多边形 - "kam shapes, clean 3D"
- 外观: 一切由平坦着色的三角形构成,无轮廓,无渐变。
- 方法: 将每个多边形从稍微抖动的中心点以扇形方式三角化。每个三角形着色不同:一个光照方向项加上一个小的随机偏移。每个三角形用其自身的填充描边以隐藏接缝。天空构建为由高度着色的抖动三角形网格;山脉由两个三角形组成(亮面,暗面)。
- 动画: 平滑;山脉层视差滚动,多面太阳旋转。
- 字体: Oxanium ExtraBold,大写。
5. 体素 - "chhote cubes ki duniya"
- 外观: 主题由小方块构成,从等距角度观看。
- 方法: 将主题描述为一个由彩色单元格(约14x7x9)组成的三维网格。用
sx=(x-y)*u*0.866, sy=(x+y)*u*0.5-z*u投影。每个方块绘制3个面(顶面最亮,左侧中亮,右侧最暗),跳过被相邻方块隐藏的面,按x+y+z排序后绘制。 - 动画: 地面是由菱形瓷砖组成的棋盘,沿道路轴方向滚动;方块树掠过;主题做一个小跳跃。
- 字体: Bungee,带硬块阴影。
6. 等距视角 - "upar se tirchha view"
- 外观: 一个悬浮板上的干净微型城市街区,光滑的盒子(不是方块),柔和色彩,板下柔和的阴影。
- 方法: 与体素相同的投影,但使用大型光滑盒子:建筑物在两个可见面上都有窗格网格,一条道路,树木,一个售货亭,一个路灯。主题是8-10个盒子,沿着道路行驶。
- 动画: 建筑物从地面升起,带有一点过冲,交错进行;整个板子缓慢上下浮动。
- 字体: Oxanium,深色文字配浅色背景。
7. 霓虹 - "raat wali cyberpunk vibe"
- 外观: 暗夜,发光轮廓线绘图,合成波网格地面。
- 方法: 主题 = 仅描边(4-5像素),填充设置为背景色,这样部分仍然可以互相遮挡。发光滤镜 = 宽模糊(14)、紧模糊(4)和清晰源图像的合并。地面 = 从消失点放射出的线条 + 由
p*p间隔的水平线向摄像机方向滚动。 - 动画: 前8帧的招牌式闪烁,拖尾光线,闪烁的星星,地平线上条纹状的太阳。
- 调色板: 青色、品红、黄色,配近黑色紫色。字体: Tilt Neon,带叠加的品红色文字阴影。
8. 蓝图 - "engineer ka drawing"
- 外观: 蓝色图纸,精细+主要网格,细白色技术线条图。
- 方法: 主题 = 白色3像素描边,填充 = 图纸颜色。使用
pathLength=1+ 动画strokeDasharray绘制线条,每部分交错。然后添加尺寸线(带箭头和毫米值)、车轮上的虚点中心线、带标签的指引线和边框。 - 动画: 首先绘制(0.5秒),尺寸从其中心延伸,之后只有车轮缓慢转动。没有弹跳。
- 字体: Share Tech Mono,大写。
9. 复古VHS - "nabbe ke dashak ki tape"
- 外观: 90年代家庭视频:颜色边缘偏色,柔化画面,扫描线,磁带噪点。
- 方法: 整个场景只用一个滤镜:红色通道偏移+9像素,绿色+蓝色偏移-7像素,
screen混合,水平模糊(2.6,0.6),饱和度1.25。覆盖层:扫描线图案,每帧噪点,一个跟踪带沿着帧向下移动(其内容水平偏移),底部边缘的撕裂条,暗角,以及“PLAY”和运行计数器作为屏幕上文字。 - 动画: 2像素水平抖动,偶尔有更大的跳跃。
- 调色板: 日落紫、粉、橙。字体: VT323,带红色/青色阴影。
10. 涂鸦 - "copy ke peeche wala sketch"
- 外观: 圆珠笔在有红色边线的横格笔记本页面上的素描。
- 方法: 仅描边,填充 = 纸色,用影线图案进行着色。对所有笔触线条应用一个
feTurbulence+feDisplacementMap(比例11),并且每4帧改变种子,使线条“沸腾”。 - 动画: 线条快速绘出,螺旋太阳分步旋转,星星晃动,主题后面的速度线,一个手写单词如“vroom!”。
- 字体: Caveat Bold。
并排展示风格
当视频比较风格时,每个场景中保持一个元素完全相同(例如,一个提示框,只有风格词变化),并在画外音节奏处使用硬切。这正是让“只改变一个词”的效果变得可见的原因。
交付前检查
- 每个场景通过测试:“在没有标题的情况下,有人能说出这种风格的名称吗?”
- 主题在每种风格中保持相同的形状和尺寸。
- 标题和字幕在手机上、在安全区域内可读。
- 在完整渲染之前检查每个场景的静态图像。