Releases: xr843/insect-world
Releases · xr843/insect-world
Release list
v0.2.0 — 虫子开始动了
虫子开始动了,而且能看完一生。
这一版做的是「参数化几何能做、扫描来的模型做不到」的那一类事 —— 变形与运动。
它们是活的
站定的虫在做极小幅度的姿势微调(约 1.7°,六条腿按着生位置错开相位)。本来就会悬停的八只 —— 蜻蜓、豆娘、蜜蜂、熊蜂、食蚜蝇、草蛉、天蛾、大蚊 —— 在原地振翅;蜻蜓目的前后翅反相扑动,那是它们能悬停的原因,也是一眼认出蜻蜓的动态特征。
拍翅频率是压过的,而且是明摆着的取舍:蜜蜂真实 230Hz、食蚜蝇 200Hz,而 60fps 屏幕的奈奎斯特上限是 30Hz —— 照实数驱动的结果不是「快」是混叠,翅膀会看起来慢慢倒着扇。用对数压到 4~12Hz,保住物种之间的相对次序;真实频率留在代码的数据表里,压缩函数写在旁边,不藏。
没做完整步态,理由也写进了 README:展台是转台、虫子居中,腿在迈而身体不位移,读出来不是「走路」是踏步机。悬停没有这个问题 —— 悬停本来就是原地不动的真实行为。
一生
底部的「生活史」卡片点开,展台会跟着弹窗逐步换成卵、幼虫、蛹的立体标本。八种、22 个阶段模型:
| 完全变态 | 招牌 |
|---|---|
| 独角仙 | 乳白的蛴螬 → 已长出角雏形的蛹 → 黑亮的成虫,反差最大的一条 |
| 帝王蝶 | 三色横带的毛虫、金斑绿蛹(垂蛹,尾钩倒挂) |
| 柞蚕蛾 | 蚕宝宝 + 纵向半剖的茧,能看见褐色的蛹躺在里面 |
| 西方蜜蜂 | 全程在六角巢房里;蛹的复眼先于躯干显色 |
| 中华黄萤 | 卵、幼虫、蛹全都发光;幼虫的叠瓦状背板 |
| 神农洁蜣螂 | 卵与幼虫都在育儿粪梨里 |
| 不完全变态(对照) | 招牌 |
|---|---|
| 黑蚱蝉 | 知了猴:开掘前足 + 背上一对翅芽 |
| 碧伟蜓 | 水虿:可折叠的面罩状下唇 + 四片翅芽 |
若虫背上那对(或四片)翅芽,就是「翅还停在芽的阶段」的可视证据 —— 完全变态与不完全变态的区别正是中小学讲昆虫的第一课,也是这个功能存在的理由。
羽化展翅
阶段之间不做连续形变:毛虫变蝴蝶在生物学上本来就不是连续形变(组织解离 + 成虫盘发育),硬 morph 出来好看但错。唯一做成连续的是蛹 → 成虫那一步的翅展开 —— 因为它本来就是连续的:刚出蛹的翅是一小团皱缩的软组织,靠血淋巴撑开再硬化。
快了很多
| 之前 | 现在 | |
|---|---|---|
| 桌面热缓存「虫子出现」 | 1592 ms | 220 ms |
| 移动 slow-4G 冷缓存 | 5587 ms | 2623 ms |
方法记在 docs/perf-notes.md 里,包括被排除掉的那些方向与它们的依据(环境贴图 PMREM 不是大头、2048 阴影贴图不是大头、three 再切没路)。
还有
- 非中文浏览器落在根页会被送到
/en/(边缘判定,爬虫不重定向,带Vary) - 全站 14 个自定义事件的匿名统计(不记搜索词、不记笔记内容)
- 测试从 4329 涨到 4815
已知不足
- 生活史只做了八种,其余 55 种的卡片仍只有文字;羽化只对有翅骨架的物种成立(甲虫的鞘翅是逐只自写的)
- 拍翅频率的绝对值不是真的,别拿屏幕上数出来的次数当数据
- 图鉴文案仍由 AI 撰写、未经昆虫学文献逐条核校