扩展说明
面部感知
利用摄像头检测面部,让角色跟随鼻子、眼睛、嘴巴等部位移动,或根据面部倾斜触发脚本。
开始使用
- 添加扩展,允许编辑器使用摄像头。
- 正对镜头,保证面部在画面中清晰可见。
- 在角色中循环执行“移到鼻子”,或者使用“当面部向左倾斜”触发事件。
“面部感知”只检测面部位置和特征点,不用于识别人脸对应的身份。
检测结果
- 多人入镜时,当前实现使用检测结果中的第一张脸。
- 倾斜方向沿用 Scratch 的方向角约定,正对镜头时接近 90。
- “面部大小”是上游依据检测框宽度作出的近似值;“头顶”位置也是估算。
- 暂时检测不到脸时,检测判断返回假;倾斜方向和大小报告积木保留最近一次结果,首次检测前为 0。
摄像头与浏览器
浏览器需要支持 WebGL、WebAssembly SIMD 和摄像头。通过 HTTPS 或 localhost 打开编辑器;拒绝摄像头权限时不会产生有效检测结果。
模型和运行依赖已经内嵌到构建后的扩展脚本中,脚本体积明显大于普通扩展。加载时不再向原来的依赖 CDN 请求模型。检测计算在浏览器中执行,这段实现不上传摄像头帧。
若出现“无法加载面部检测功能”,请检查浏览器支持和开发者控制台。该提示也可能由模型初始化失败引起,并非所有情况都是摄像头权限问题。
兼容性与来源
保留 faceSensing ID 和 lab/face-sensing.js 路径。基于 TurboWarp 的 Scratch Lab 兼容实现,作者 GarboMuffin。运行代码保留上游原样,中文翻译和本文由 Blockdia 维护。当前仅声明角色目标;容器、组件及非标准舞台尺寸仍需专门验证。
内容来源:extensions · lab/face-sensing · 0.1.0 · f05ab05fa1d2