定格动画中的火焰艺术:从叙事设计到逐帧制作的全链路解析
1. 冰与火的反差这则赛会宣传片为什么敢让火焰当主角先聊一个挺反直觉的现象。冬季赛事相关的视觉作品绝大多数时候都在拍雪、拍冰、拍冷色调的呼吸白气。我们几乎已经形成了肌肉记忆——冬天嘛就要干干净净、清冷高级。可这次横扫社交媒体的那个定格动画宣传片偏偏反着来把火焰当成了贯穿全片的主角。某知名媒体机构的创意团队在短短几分钟里用一团团燃烧的火焰、迸溅的火星、被火光照亮的雪地硬生生把冬天拍出了灼热感。我第一次看到成片时第一反应不是拍得真美而是他们怎么敢的。要知道冬季赛事的官方宣传片往往承担着凝聚共识、团结情绪的宏大任务色彩、节奏、符号都偏向稳妥。火焰这种元素用不好就会显得燥、显得野甚至和冰雪运动的轻盈感打架。但问题恰恰在于——当所有人都在拍雪花飘落时观众其实已经审美疲劳了。而火焰带来的那种反差感正好戳中了情绪的空档。这个创意的内核其实是在做一个非常高级的符号转换把抽象的热血拼搏燃烧的竞技状态翻译成视觉上真正可感的火。运动员在雪场上冲刺身体里燃烧的是三万六千卡的代谢热量镜头里飞溅的汗珠被转译成迸开的火星冰刀擦过冰面的声音被设计成火焰爆燃的噼啪声。这些对应关系在定格动画的逐帧拍摄中被一一具象化观众不需要任何文字说明就能感受到竞技燃烧这个隐喻。而且这个选择在传播层面也给自己留足了退路。定格动画本身自带手工感诚意感即使火焰元素大胆观众也会因为这是逐帧做出来的而多一分宽容。换成纯CG特效同样的火焰浓度大概率会被评价为用力过猛。所以火焰大胆但并不冒失反而是经过身份掩护的精准操作。整个片子看下来我最想拆解的是它的制作逻辑而不是单纯夸一句好看。用定格动画表现火焰要解决的其实是三个核心问题火焰的形怎么设计、火与雪怎么在画面里共存、逐帧拍摄时火光的连贯性怎么保证。下面我一点一点说。2. 定格动画里最不听话的元素火焰的制作方案选择2.1 为什么火焰被称为定格动画的灾难区定格动画圈子里有个老说法拍水难拍火更难拍水和火一起出现就是灾难。原因很直接——定格动画的每一帧都是实体拍摄两个定格之间的运动是靠拍摄对象的位移量来骗过眼睛的。金属小人、粘土模型、毛毡道具这些都可以用铁丝骨架支撑、用角度标记物来控制位置每次挪动几毫米逐帧记录回放时就有了连续动作。但火焰没有固定形状没有骨架没法像摆弄人偶一样捏着它改变位置。而且火焰的颜色、亮度、飘动方向具有极强的随机性就算你在暗房里点燃一根蜡烛前后间隔两秒拍下的两帧火苗也不会在同一个位置、以同一个形状出现。一旦做成动画就全是抖动和闪烁完全没有定格动画那种每一帧都是精心设计的质感。所以各制作团队普遍采用的方案从来不是实拍火焰而是合成火焰或者逐帧绘制火焰。这次宣传片走的是混合路线主体角色、场景道具全部实拍定格火焰则分层处理——远景火焰用逐帧手绘叠加近景关键火焰用二维动画软件逐帧绘制同时配合真实的照明贴图来影响场景光影。这样做的好处是火焰本身就是被设计出来的而不是拍出来的每一帧都可以精确控制。我在自己的项目里也做过类似尝试必须说实话这条路比想象中费力。因为火焰作为画面元素在定格动画里不是一个图层而已它必须和实拍的道具产生互动。比如火焰出现在运动员手边的时候模拟火光的暖色调要同步投在运动员的脸上和雪地上。这意味着每一帧不仅要画火焰的形状还要画光照层至少要分两层处理。帧数一多工作量和复杂度是指数级上升的。2.2 两种主流火焰方案的取舍逻辑如果要给这类创作选型基本是两条技术路线之间的权衡。第一条路线是逐帧手绘火焰完全靠手绘板配合动画软件一帧一帧画火焰的形状、颜色、半透明边缘。这种方案可控性最高风格统一而且能和定格动画的粘土质感完全贴合。代价是人工量大到惊人。本次宣传片那些大范围的火焰背景几乎每一个镜头都要逐帧抠光晕边缘一个五秒的镜头、按每秒十二帧算就是六十张手绘团队里专门有七八个人负责这一项。第二条路线是流体模拟素材叠加用特效软件生成一堆火焰素材再旋转、缩放、调色后叠上去。这个方案制作速度快火焰的运动非常自然但问题也很明显——CG火焰自带油腻感和定格动画的粗糙纹理放在一起特别违和。就好比你在老式胶片放映机放了一部手工剪纸动画结果背景突然出现一段4K高清粒子特效观众立刻会感受到假。这次项目组很明显选了第一条路线而且为了不露怯他们把火焰的视觉风格往版画感上靠火焰边缘被刻意简化成色块和线条就像印刷在纸上的图案一样。保留手绘痕迹反而让火焰和粘土角色站在了同一个视觉世界里。这里面的分寸拿捏值得所有想做定格混合动画的团队记住跨材质的元素融合核心不是越真实越好而是质感统一。3. 从分镜脚本到逐帧拍摄让火焰参与演出的完整制作链路3.1 第一环火焰作为叙事角色而不是背景装饰这部片子最值得学习的是它把火焰从装饰层提到了叙事层。翻开分镜脚本就会发现火焰的出现并不是因为画面冷所以加点火照亮而是每一次火焰都有明确的叙事任务。开场镜头运动员的脸部特写半张脸埋在阴影里一团火从眼角蔓延到头盔寓意状态点燃中段比赛性镜头雪道上每一次转身都会带起一串火星火星落地的位置恰好是下一个转场镜头的地面冲刺终点火焰从胸中向外喷发形成一团巨大的、包裹全身的光圈随后火焰慢慢熄灭留下银色的冰晶粒子。这一套设计其实是用火焰在讲一个完整的心理弧线蓄势、燃烧、爆发、归于平静。我在做自己的动画项目时经常遇到一个问题是镜头里加了很多元素但每个元素只是存在并没有说话。这则宣传片给了一个很好的示范一个视觉元素反复出现每次出现的位置、大小、颜色都在变化观众会下意识地把它当成一个角色来跟随。火焰不再被动地当背景而是主动引导观众的情绪节奏。这个用元素完成叙事的思路值得单独拿小本本记下来。3.2 第二环实拍环节如何为火焰留出接口确定要加火焰之后实拍环节就要提前做规划。这里有个关键技巧拍摄时物理现场并没有火焰但灯光设计必须提前模拟出火焰的位置和情绪。团队的做法是把灯光分成两组一组负责正常的冷色底光照明另一组在角色身后和两侧打上了暖色侧逆光用来预留火焰的光位。这样做是出于后期合成的考虑逐帧手绘火焰叠加到画面上之后如果角色脸上的光影还是冷冰冰的火焰就会像贴纸一样浮在画面上。只有在拍摄阶段就把暖光的投影打在角色和道具上后期手绘火焰才能和光影融为一体。这个经验的本质是做合成思维前置——不要等后期合成时再回头补光而是拍的时候就想好火焰的光语言。另外拍摄中还大量用到了慢门拉光技巧。简单说实拍画面中会保留一些长时间曝光留下的光轨照片比如运动员道具上沾着的细小灯珠在运动时留下的拉丝光轨。这些光轨在后期被直接叠加在火焰素材下面让火焰看起来不是凭空出现的而是从道具的运动轨迹中生长出来的。这种物理光轨和手绘火焰的组合是整个片子火焰质感显得扎实的秘密之一。3.3 第三环逐帧拍摄与后期合成的交接逻辑定格动画的拍摄频率通常有两种一拍一每秒24帧每帧独立拍摄和一拍二每秒12帧同一个动作拍两帧。考虑到火焰运动的连续性和工作量这次宣传片大部分镜头用的是一拍二但火焰层本身是一拍一——也就是说角色动作每两帧才换一次但火焰手绘层每一帧都单独画。这样做的好处是实拍角色的动作保持定格动画特有的顿挫感而火焰却能流畅燃烧两种运动节奏交织在一起产生了一种很奇妙的视觉张力。后期合成团队拿到实拍序列帧之后要做的第一件事不是加火焰而是拆层。每一帧画面里道具上的暖色高光、地面的暖色反射、角色身体上的补光效果都要单独抠出来或者用蒙版遮罩确保手绘火焰叠加时不会把背景的细节盖死。这个步骤极其繁琐。我印象很深的一点是宣传片中有个雪地反射火光的镜头合成师为了保留雪的颗粒感用了将近二十层叠加模式才在火光很亮和雪地质感还在之间找到平衡。这里必须提醒所有准备做类似项目的人手绘火焰层的叠加模式不能套路化使用滤色要针对每一帧画面的明度分布单独选择。暗部多的镜头用滤色效果很好但雪地这种本身亮度很高的环境滤色叠加容易直接过曝成一片白板。折中的做法是先用正片叠底压暗局部再用柔光叠加回火光始终保持雪的纹理可见。这一条实操中我至少踩过十几次坑才总结出来。4. 让火焰听指挥运动节奏、色彩范围与声音设计的暗线配合4.1 火焰的运动节奏本质上是一条情绪曲线火焰动画做出来容易做得好看难。难在哪里呢难在火焰的节奏必须和配乐的鼓点、和运动员的动作节拍完全咬合。比如冲刺段落配乐的鼓点频率大概在每十六分之一音符一拍火焰的跳动帧就必须卡在同样的频率上抒情段落火焰的飘动速度放缓颜色从亮橙转为暗红看起来像是余烬。团队专门为火焰的运动做了节奏参考分轨把每一次火的跳动都精确到帧数上。有一个细节特别能体现这种节奏控制全片共出现了四次火焰深呼吸的镜头——火焰骤然收缩成一个亮点再轰然扩大。这个收缩-扩大的节奏恰好对应着运动员在比赛中的呼吸节律。观众也许意识不到但身体会跟着这个节奏走。这种藏在生理节奏里的设计属于高级的情绪操控也是我特别推崇这类作品的原因——它不是在炫技而是在用技术做心理引导。4.2 火焰的色彩范围被限制在一个安全的燃烧域内定格的火焰色板从橙黄到暗红看起来丰富但整个片子的火焰颜色其实被设计在一个相当克制的范围内。以橙红色系色值约#E25822为核心高光处叠加亮黄色约#FFD54A暗部边缘压到棕红色约#6E2C00。整个色板里几乎找不到品红或者紫色系因为一旦加入偏冷的品红火焰就会显得科幻而没有生命感。对比一些CG特效里常用的青蓝火焰这个片子的火焰走的是非常传统的物理燃烧路线颜色遵守真实火焰的温度梯度焰心偏蓝白、内焰偏黄、外焰偏橙红。这种色温正确很大程度上保证了观众的下意识代入感。这里有个细节值得学习为了让火焰在雪地画面里持续保持高对比度团队刻意压低了环境光的饱和度把雪地处理成偏蓝灰的低饱和色这样火焰的橙红就更跳。这种压低背景纯度、突出主元素的思路在色彩构成上非常经典。4.3 声音设计用听不见的火焰点燃情绪画面里的火焰是逐帧手绘的声音当然也要配套设计。这个片子的声音设计做得非常细角色的肢体摩擦声、雪地的咯吱声都做了颗粒感处理唯独火焰的声音被刻意做了不可识别化。你仔细听会发现火焰的燃烧声并不是真实的柴火噼啪声而是把冰面碎裂声、心跳声、低频弦乐揉在一起再通过滤波器处理后的结果。这种做法的用意是太真实的火焰声会提醒观众这是火而他们想要的是一种模糊的、燃烧的情绪。把冰裂声融进火声里反而让冰和火在声音层面也完成了融合。这个处理让我印象深刻——声音不一定是用来交代剧情的也可以用来传达两种对立元素共处一帧的心理暗示。如果你也在做混合媒体项目我建议多花点时间在声音材质设计上它往往花小钱办大事。5. 大胆背后的克制火焰用得多但不让人觉得腻的隐藏机制5.1 火焰的呼吸有节奏的留白其实很多人看到标题大胆运用火焰元素都会脑补成整部片子都是火的样子。但实际成片里火焰大面积出现的时间只占全片不到三成其余时间里火焰都是作为暗线存在的。比如运动员踏上领奖台的时候火焰转为胸前一个小小的心跳光点两人并肩前行的远景火焰变成远处雪山上一抹微弱的暖色反光。用得克制反而在每次火焰彻底亮相时制造了更强的冲击力。这种留白式叙事是很多新手容易忽略的。觉得主题是火焰就恨不得每帧都烧起来结果观众视觉疲劳之后再大的火焰也激不起任何情绪。这则宣传片的处理方式很像围棋里的气——火焰出现的间隙留出足够多的冰蓝色画面让观众期待火焰回归。情绪是积攒出来的不是堆砌出来的。5.2 火焰与定格动画手作感之间的分寸还有一点必须提团队定了一个规矩——任何一帧画面里火焰的覆盖面不能超过画面的百分之四十。理由很有意思如果火焰占的面积太大观众就会不再注意定格动画的角色表演而一旦火焰占了绝对主导手绘痕迹变得显著反而会削弱真人实拍定格的震撼感。只有当火焰退居配角观众的目光始终落在粘土角色的微表情和动作上火焰才能成为一种氛围而不是抢戏。这个百分之四十的红线本质上是给整个美术风格上了一道保险。火焰再狂野也是服务于角色表演的。这个取舍几乎所有成功的引导性画面都适用——视觉奇观必须让位于人物情绪否则就成了没有灵魂的特效秀。5.3 火焰的边界熄灭的方式比燃烧的方式更难短片收尾那段火焰并没有熄灭在一次性的大爆炸里而是逐步收缩成火星最终在冰晶里消散。表面上是熄灭实际上是把火焰的能量转移给了银白色的冰晶。这个转场既是镜头语言也是创作态度的表达火焰不是被扑灭的而是转化了的。这种转化式结尾在叙事上比燃烧殆尽更高明。它让观众记住的不只是火而是火带来的余温——而这个余温恰好对应着赛事结束后留在观众心中的情绪余波。我们常说好的设计要有余韵这个结尾就是余韵的标准示范。6. 对同类创作的启发从这则宣传片里能带走的四件事回过头看整个项目我觉得最有价值的部分不是用了多少特效而是它提供了一套可迁移的工作方法。如果各位也在做自己的定格动画、独立短片或者品牌视频有四件事可以立刻带走。第一跨材质元素融合时优先统一质感而不是统一真实度。手绘火焰之所以能和粘土模型共存是因为两边都保留了手工痕迹而不是努力把一边做得更逼真去迁就另一边。第二拍摄前把合成思维前置在实拍阶段就为后期元素预留光影接口而不是让后期一帧帧去擦屁股。第三建立一个主元素占比红线比如规定火焰不能超过画面百分之四十这比后期反复调整更高效它能把审美失控扼杀在流程里。第四声音材质也可以是叙事语言把对立元素的声响混在一起往往比画面更早让观众感受到对话。我还想多说一句关于团队协作的观察。这个项目能成型靠的绝不是某一个天才的火爆脑洞而是制作链路里每个环节都清楚地知道火焰是叙事的一部分这个前提。灯光知道要给火焰留光位动画师知道火焰必须配合角色节奏合成师知道要保护雪的颗粒质感声音设计师知道要把冰裂声融进火声里。一个视觉元素被所有人当作演员来配合最终才能在成片里立起来。如果你也想挑战类似的大胆元素创作我的建议是大胆完全可以但一定要给大胆配上更细的缰绳。火焰本身不可控可控的是火焰在叙事中的角色、出现的比例、熄灭的时机。把这几个维度想得足够细再狂野的火焰也能在画面里乖乖讲完一个故事。我在自己的项目里试过把这套思路迁移到其他材质元素上同样成立——大胆不是风险失控才是。

相关新闻

SwiftSoup 实体转义性能优化:批处理透传 Unicode 序列与完整可复现的基准验证

SwiftSoup 实体转义性能优化:批处理透传 Unicode 序列与完整可复现的基准验证

网页爬虫后端 【免费下载链接】SwiftSoup SwiftSoup: Pure Swift HTML Parser, with best of DOM, CSS, and jquery (Supports Linux, iOS, Mac, tvOS, watchOS) 项目地址: https://gitcode.com/gh_mirrors/sw/SwiftSoup 点击查看 免费下载 本篇技术指南围绕 Swift…

2026/10/13 8:33:45 阅读更多 →
双机并联逆变器自适应虚拟阻抗下垂控制:原理、参数与Simulink仿真

双机并联逆变器自适应虚拟阻抗下垂控制:原理、参数与Simulink仿真

双机并联逆变器这套东西,最近两年在微电网和储能项目里出现频率很高。不少刚接触的朋友照网上的下垂控制模型搭了一遍,两台逆变器一带负载就发现功率分得歪歪扭扭,甚至一台满载一台轻载,查来查去也不知道问题出在哪。这个问题大概…

2026/10/13 8:33:45 阅读更多 →
APQP系统如何解决汽车制造行业的质量管理痛点

APQP系统如何解决汽车制造行业的质量管理痛点

1. 项目背景与行业痛点解析在汽车及高端制造行业,产品质量先期策划(APQP)是产品研发过程中不可或缺的核心方法论。这套由AIAG提出的标准化流程,涵盖了从项目立项到批量生产的完整产品生命周期管理。然而在实际操作中,传…

2026/10/13 8:33:45 阅读更多 →

最新新闻

Python大数据分析实验通关指南:从数据清洗到可视化全流程

Python大数据分析实验通关指南:从数据清洗到可视化全流程

1. 从lab7这个编号说起:为什么Python课设总在第七周卡住 如果你正在翻这门课的实验安排,看到lab7这个编号,大概率已经过了前六周的语法基础、循环判断、函数封装,开始进入真正要“处理数据”的阶段了。这门课的名字叫《Python程序…

2026/10/13 9:22:51 阅读更多 →
RAG系统实战:从知识库构建到检索生成的全链路设计与调优

RAG系统实战:从知识库构建到检索生成的全链路设计与调优

1. RAG系统到底在解决什么问题第一次接触RAG这个概念是在一个内部知识库项目里。当时团队想把一堆产品文档、会议纪要、客服记录做成一个能问答的系统,第一反应是直接丢给大模型。结果很快就撞墙了:模型对内部信息一无所知,问它某个产品的具体…

2026/10/13 9:22:51 阅读更多 →
AI写的PowerShell脚本一跑就崩?根因分析与实用提示词模板

AI写的PowerShell脚本一跑就崩?根因分析与实用提示词模板

前几天帮朋友排查一个调度任务,卡在一个PowerShell脚本上,AI一口气生成了四十多行“看起来很完整”的代码,结果跑起来第一行就报“术语无法识别”,后面全部白给。这不是我第一次见到AI写的PowerShell翻车了。它给出的命令确实存在…

2026/10/13 9:22:51 阅读更多 →
基于OpenCV的单目与双目相机测距:标定、视差与精度实践

基于OpenCV的单目与双目相机测距:标定、视差与精度实践

简介:一套基于Python和OpenCV的普通相机图像测距系统资料包,面向计算机视觉与立体成像方向的开发者和学习者,解决通过普通相机拍摄图像实现精确距离测量的问题。系统涵盖单目相机标定校正、双目相机空间位置关系标定、左右视图视差计算与深度…

2026/10/13 9:22:51 阅读更多 →
dplyr 值映射重编码:深入解析 `recode_values()` 与 `replace_values()` 的语义、类型安全与防御性编程

dplyr 值映射重编码:深入解析 `recode_values()` 与 `replace_values()` 的语义、类型安全与防御性编程

数据分析 【免费下载链接】dplyr dplyr: A grammar of data manipulation 项目地址: https://gitcode.com/gh_mirrors/dp/dplyr 点击查看 免费下载 recode_values() 与 replace_values() 是 dplyr 1.2.x 引入的"按值匹配"重编码函数族:前者用…

2026/10/13 9:22:51 阅读更多 →
互联网大厂职场生存指南:高薪背后的健康与职业危机

互联网大厂职场生存指南:高薪背后的健康与职业危机

1. 职场生存现状:光鲜背后的残酷现实那天晚上十点半,我正收拾东西准备离开办公室,突然听到隔壁工位传来一阵骚动。老张,那个连续加班三个月的技术总监,突然倒在了键盘上。救护车来得很快,但已经来不及了。一…

2026/10/13 9:21:48 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →