跳转到内容
独立打开
扩展说明

面部感知

利用摄像头检测面部,让角色跟随鼻子、眼睛、嘴巴等部位移动,或根据面部倾斜触发脚本。

开始使用

  1. 添加扩展,允许编辑器使用摄像头。
  2. 正对镜头,保证面部在画面中清晰可见。
  3. 在角色中循环执行“移到鼻子”,或者使用“当面部向左倾斜”触发事件。

“面部感知”只检测面部位置和特征点,不用于识别人脸对应的身份。

检测结果

  • 多人入镜时,当前实现使用检测结果中的第一张脸。
  • 倾斜方向沿用 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