# 37_rick_morty · Rick & Morty扁平描边卡通 镜头表使用代码角色时写`画风:37_rick_morty Rick & Morty式平面卡通`和`角色:原创语义SVG角色`,以启用角色检查的窄例外;y4仍需帧库。 来源:2026-10-14的SVG单帧复刻与动画实验。第36种入库风格;内部ID用37_rick_morty,避免覆盖已有36_picasso_blue。是独立画风,穿越其他画派只是可选叙事。 ## 起手必查 - 本例是SVG管线,不能直接加入Canvas引擎的eras.js或用普通render.py录Canvas;否则SVG角色会漏掉。使用本例的render.py截图整页,或先导出视频再作为引擎clip接入。旧35种gallery和总览图保持原样,本例单独预览。 - 示例只包含代码绘制的房间、少女和猫,不依赖原片截图、Rick/Morty人物资产或声音。迁移新题材时保留画法,重新安排场景。 - 本画风允许按明确参考用语义SVG绘制角色,这是现有「角色用AI生帧」路线的窄例外;不推广到真人肖像或任意Q版角色。 ## 可运行起点 将`scripts/engine/reference_films/rick_morty/`整个目录复制到项目。直接打开index.html可离线预览、播放和拖时间。Node、API和在线字体均不需要。 ```sh uv run --with playwright playwright install chromium uv run --with playwright python render.py --stills 0,1,2 --out 验证 uv run --with playwright python render.py --from 0 --to 8 --fps 24 --out 风格36.mp4 ``` 视频导出另需ffmpeg。入口默认8秒无声,--to可指定更长的时间。逐帧接口`window.seek(t,state)`:t是非负秒;省略state自动端杯和转眼;传入state完全控制表演。state包含`look:[x,y]`、`catLook:[x,y]`(各轴-1..1)、`sip`、`catJump`、`gBlink`、`cBlink`(均0..1)。seek不累计状态,支持乱序渲染;自动眨眼和摆尾取决于t。 文件分工:svg-kit.js提供圆角描边图元、曲线、种子纹理;room.js绘制分层角色及场景,颜色集中在C对象;index.html负责预览与seek;render.py负责整页逐帧截图和编码。 ## 画法与运动 1920×1088原始坐标,viewBox为`0 4 1920 1080`。描边#222323、默认2.35px,圆端圆接;细节线1.6–2.6px。暖灰墙#cdbf96、木地#9b7752、肤色#efc4a0、天空#a7d6ea;硬边平涂,少量同色系暗面,低对比斑驳留在背景。人物和道具共用描边,不用写实光照补质感。 脸靠轮廓比例、眼睑和嘴的少量曲线;大眼白、小点瞳孔,不画高光玻璃眼。头发尖角用mixedPath,脸颊与四肢用smoothPath。身体、头、手臂杯子、眼皮、瞳孔分组;先定静帧,再用原有锚点移动。尾巴用中心线+宽度生成闭合轮廓,禁止每帧换随机形状。 默认表演:端杯慢抬、头部小角度转动、目光偏移、确定性眨眼、猫摆尾。catJump是正弦腾空进度,身体和尾巴共用位移;没有落地压缩和行走循环。端杯时肩部锚点保持原位,袖口跟随杯子。 ## 从参考帧迁移到其他场景 先测构图与遮挡,再取区域中位色;深色描边阈值切连通色块可辅助测坐标,不能把自动描摹路径当角色骨架。将手、眼、脸、衣摆、家具按语义分组,静帧就是骨骼第0帧。走路需脚尖驱动两骨IK、按实际距离推进相位;本例没有走路rig,不能据此声称已经支持任意角色行走。 正面角色横移容易剪刀腿:两脚基准拉开、缩小步幅、用目光转向;不镜像带不对称服饰的角色。地面物件以脚/底座y排序,墙面纹理用同形状裁剪。SVG与Canvas同页时用IIFE隔离模块;SVG滤镜的userSpaceOnUse区域用真实画布坐标,不能写0,0,1,1。 ## 验证与后续回流 随附render.py使用Chromium的`--disable-partial-raster`,避免SVG局部栅格化带来的抗锯齿差异。2026-10-14独立复验:此配置下冷启动及[1,7,1,1,0,1]乱序取帧的t=1截图为0像素差;普通浏览器只保证DOM状态确定,不能宣称截图逐像素相同。 每次修改至少在上述渲染配置下核同一时刻冷启动/乱序seek像素一致、两个时刻画面有变化、0与最大表情无裁切、浏览器无错误;再肉眼检查头身接缝和眼皮。示例质量暂列★★:可运行,造型和复杂动作仍有提升空间;不能把原车库复刻的轮廓分数移作本房间的相似度评分。 使用前读本卡的短板;新发现按日期、场景、证据和验证状态写回本卡。旧结论失效先修改原句,单次经验不升级为全风格规则;复现稳定的故障优先改代码并测确定性。