回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

AI棒球高手 简单

头像 Anders项勇 2019.12.21 619 0

Mind+1.6.1新增“AI图像识别模块”。通过图像识别模块,可以进行人体关键点识别等功能。 利用这个功能我设计了一个AI棒球高手的游戏,大家可以参照此方式类推编出各种互动游戏,比如足球守门高手、射门高手等

步骤1 整体思路

通过AI功能获得手腕坐标,用两个虚拟物体跟随手腕坐标移动。按空格键击球人击球,用手去抓球,虚拟物体跟随手腕移动,判断碰到球就加分并欢呼,没碰到就大笑。

步骤2 Mind+添加扩展网络服务--AI图像识别模块

步骤3 注册百度AI服务独立账号

首先登录百度AI开放平台,http://ai.baidu.com,点击页面右上角“控制台”,“注册”百度账号。登录成功后进入控制台页面,点击左边栏“人体特征分析”,右边其他功能也可以一一选择。在新页面中点击“创建应用”。在“应用管理”中复制AppID、API Key、Secret Key的参数,填到Mind+中的“切换至独立账户”功能中。

步骤4 取得手部特征点赋给变量

在背景中增加以下代码。通过特征点识别获得左右手腕xy值,由于没有手指坐标,所有有点误差,可以进行修正,不处理也可以大致满足要求。

project-image

步骤5 模拟左右手

添加两个不同颜色圆圈,颜色浅些(避免过多干扰实际图像),模拟左右手在背景中的位置,跟随上一个步骤获得的手腕坐标。

project-image
project-image
project-image

步骤6 棒球运动员击球

按空格后棒球运动员按每个造型切换形成循环击球,在击球造型发出击球广播。每次循环开始的时间设长一点,因为实际测下来Ai的识别还是有点慢(这个希望Mind+后续版本功能改善阿,不然体验不好),虚拟手部跟随有很大延迟,所以这里时间长点可以等待接球结束。

project-image

步骤7 棒球动作

接收到棒球手击球的广播后,让棒球移动到随机位置,注意调整滑动时间,太短时间模拟手跟不过来。判断棒球碰到模拟左手或模拟右手就发出大笑广播,这里注意用广播,否则直接在里面播放声音,因为一直在循环,会导致声音很乱。没碰到就发出大笑广播。接收到对应广播发出对应声音。

project-image

步骤8 总结

通过人体特征点识别,可以把我们的主要特征点获得坐标,然后让虚拟物跟随这个坐标。虚拟物再跟程序里面的其他物体进行互动游戏。按照这个模式可以把之前需要用鼠标键盘控制的游戏都改造成AI游戏。但要解决AI识别延迟的问题,否则体验会不好。

评论

user-avatar