我一直爱踢足球和打板球。但比起比赛本身,更让我着迷的是最初学习的过程——第一次带球、第一次盘带、第一次传球和踢球,这些从零开始的动作,反而埋藏着最纯粹的乐趣。当我们水平不够或者输球时,可能会讨厌这项运动,但某个时刻,你会重新发现当初学习的那些点滴,重新找到快乐。这就是我搭建这个项目的原因。颠球是最让人上瘾的练习,我曾在上面花费了数不清的时间。
在这个周末,我用计算机视觉打造了一款颠球游戏。规则很简单:像现实颠球那样,用腿把球保持在空中,屏幕上随机出现一个球门,只要球碰到球门——没错,进球!那一刻真的让人兴奋。
![]()
这个游戏跑在浏览器里,完全本地运行。我借助了谷歌的MediaPipe库,通过调用PoseNet来获取腿部的关键点(PoseLandmarker),然后检测足球位置与这些关键点的碰撞。当你的腿碰到屏幕上的球,球就会弹起;你颠球越稳,球越不会落地。而球门随机出现在不同角落,你需要一边颠球一边控制方向,让球飞向球门。
我自己在周末玩了好多遍。作为一个开发者,如果你喜欢自己做出的东西,就会有种直觉——别人也会喜欢。我相信你玩过之后,会像我一样上瘾。我对这个项目还有许多想法,比如让它支持实时多人对战,这样朋友们可以一起在Google Meet里颠球比赛。我还注册了域名10min.in,打算今后加入更多足球练习和小游戏,把它变成一个小型训练空间。
这个项目的技术核心是MediaPipe的姿态识别。代码中,通过FilesetResolver加载视觉任务,再创建PoseLandmarker实例,检测画面中的人体姿态,只追踪一个人,并设置置信度阈值来保证稳定性。拿到腿部坐标后,我写了简单的碰撞逻辑:计算球的位置与脚或膝盖的包围盒是否重叠,以此触发弹跳和计分。
我很喜欢那些用计算机视觉做游戏的人,他们的创意总是既巧妙又实用。这次尝试让我重温了小时候练球的感觉,也让我看到,AI不仅仅是对话和绘图,还能把身体活动变成有趣的数字体验。如果你也想试试,可以打开那个链接,用摄像头来一场颠球挑战。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.