• 投稿

钢琴演奏动画算法03 | 指尖的位置,手掌说了算还是琴键说了算

178
0
2026-10-30 18:18:00
含AI生成内容
4
投币
4
1
手指按在琴键上,手掌却在往右移——这一帧,指尖到底听谁的? 上一期讲完了位置和时间,还剩第三块拼图:谁说了算。这里的"权威"跟权力没关系,它只问一件事:这一帧的位置,以谁算出来的为准。 最早做的是吉他动画。品格是固定的,手指和手掌各算各的、彼此平级,看不出问题——弹吉他时手腕只转十来度,两种算法给出的轨迹差 0.4%。换到钢琴,手要跨很远,极端时从左转到右将近九十度;还是只连起终点,指尖就走成一条直线,跟真实轨迹差了 29.3%。 于是让手掌当父级,手指只记"相对手掌在哪"。代价马上来了:得先算手掌在哪、朝哪;要换算回世界坐标,才能判断手指够不够得着琴键;算完还得写回去。这三步的顺序不能换。 但挂成父子还不够。手指按在键上的时候不能跟着手掌跑:实测 75 帧里,指尖会被拖走将近一整个白键宽。所以分成两种权威——落点由琴键决定的那几段(预备、触键、按住)听琴键,其余时间听手掌。 后面是这两条规则各自的用处:一个负责把手钉在键上,一个负责检查路上会不会扎进琴键。检查点每 0.2 秒补一个,因为实测里手掌有四十多秒完全没有关键帧;修正也必须成段抬,一帧一帧各自改,画面就像手指不停被针扎。 最后讲这套东西为什么会长出来:吉他、钢琴、保留指,三件事凑齐才逼出它。 章节 0:00 序 · 还差一块:听谁的 1:04 第一章 · 一开始,手指和手掌是平级的 2:16 第二章 · 两条轨迹 4:11 第三章 · 挂下去的代价 5:01 第四章 · 什么时候该听琴键的 6:37 第五章 · 两条规则各自的用处 8:46 第六章 · 为什么会长出这套东西 9:51 尾声 · 三句话,和下一期 "钢琴演奏动画算法"系列第 3 期,共 4 期。片子里每个数字都来自真实角色和真实演奏数据——没有动捕,没有训练,也没有大模型。 画面用 three.js 与 Canvas 2D,解算在 Node 里跑,逐帧在无头浏览器里渲染。 MusicDoll · musicdoll.online
www.musicdoll.online
1074播放
简介
1.让手落在该落的地方
12:57
2.让手动在该动的时候
12:22
3.指尖的位置,手掌说了算还是琴键说了算
10:45
客服
顶部
赛事库 课堂 2021拜年纪