新款VR游戏加入触觉反馈,让玩家产生强烈真实感-1

 

新款VR游戏加入触觉反馈,让玩家产生强烈真实感-1

最近,日本名古屋大学信息学学院的研究人员创造了一款新的 VR 游戏,将沉浸式视听体验和触觉感知融为一体。这款游戏利用玩家的生物识别数据在虚拟现实空间中创建一个与玩家心脏同步跳动的球形物体。玩家可以通过这个球形物在视觉、听觉和触觉上感知自己的心跳。

 

在过去的几十年里,随着技术的进步,电子游戏发展得越来越复杂,场景越来越逼真,玩家能够得到身临其境的体验。这些进步中最值得注意的是虚拟现实(VR)游戏,用户可以通过电子可穿戴设备来深入体验游戏或其他模拟环境,好像他们就是游戏主角一样。

 

现有大多数 VR 系统主要专注于视觉,使用头戴设备将游戏场景从屏幕上移到了玩家眼前。这可以带来高度吸引人的视觉体验,但视觉体验并不总是能与其他感官体验相匹配。

 

从现在开始,这种情况似乎会逐渐有所改观。这款游戏发表在《机器人、网络和智能生活》(Journal of Robotics, Networking and Artificial Life)上的一篇论文中,研究人员在他们的论文中写道:“触觉感知的影响比视听感知更为显著。因此,如果触觉和视听感知相结合,我们就可以在虚拟现实空间中创造‘虚拟存在’的效果。”

 

这款新的多感官 VR 游戏是使用 Unity 开发的,Unity 是一个著名的视频游戏设计平台,由 Unity 科技公司开发。用于实现游戏的设备包括 HTC 的 Vive VR 眼镜、控制器和跟踪系统,以及集成在控制器单元内的触觉展示设备。游戏设备使用内置麦克风的听诊器,来收集玩家的生物特征信息。为了降低麦克风噪音,提高对球员心跳的检测,该团队还使用了 500Hz 的低通滤波器。

 

在这套系统中,用户的生物信息与呈现的视听数据相关联。玩家通过身体运动来玩虚拟物体,系统会反馈生物特征信息,并通过感官呈现将生物特征数据的变化传递给用户。

 

游戏过程中,玩家需要向一系列目标投掷球体并打破它们。在虚拟环境中,这个球体通过一根电线与玩家所站的地方相连。

 

从本质上说,研究人员的想法是通过视觉、听觉和触觉刺激的结合,在虚拟现实空间中创建一个与玩家心脏同步跳动的球形物体。在游戏的最后,当玩家摧毁了所有目标后,系统会要求玩家用一把在模拟环境中出现的剪刀剪断连接玩家和球体的电线。如果游戏产生了想要的效果,例如,玩家产生了球体与心脏相连的感觉,那么玩家在剪线时就会有一种奇怪的感觉,甚至可能会犹豫不决。

 

在未来,研究人员计划开展进一步的研究,评估游戏产生预期效果的有效性。到目前为止,他们收集到的反馈似乎很有希望:大多数游戏玩家都能感受到自己的心跳和模拟环境中的球形物体之间的联系。

 

根据论文记录,一名尝试过这款游戏进行初步调查的玩家说,“这个与心脏关联的球体是有生命的,因为物理运动产生的变化会通过触觉产生反馈”。有些玩家已经预见到它会影响情感,“我有一种感觉,我会犹豫是否要在最后切断电线”。

 

作为研究团队未来的目标,除了玩家评估之外,提高系统中生物信息分析的执行速度将对其更广泛的应用具有重要意义。

 

道翰天琼CiGril机器人API

道翰天琼CiGril认知智能机器人API用户需要按步骤获取基本信息:

  1. 在平台注册账号
  2. 登录平台,进入后台管理页面,创建应用,然后查看应用,查看应用相关信息。
  3. 在应用信息页面,找到appid,appkey秘钥等信息,然后写接口代码接入机器人应用。

开始接入

请求地址:http://www.weilaitec.com/cigirlrobot.cgr

请求方式:post

请求参数:

参数

类型

默认值

描述

userid  

String  

平台注册账号

appid  

String  

平台创建的应用id

key  

String  

平台应用生成的秘钥

msg  

String  

""

用户端消息内容

 

接口连接示例:http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552

注意事项:参数名称都要小写,五个参数不能遗漏,参数名称都要写对,且各个参数的值不能为空字符串。否则无法请求成功。userid,appid,key三个参数要到平台注册登录创建应用之后,然后查看应用详情就可以看到。userid就是平台注册账号。

示例代码JAVA:


import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class apitest {

    /**
     * Get请求,获得返回数据
     * @param urlStr
     * @return
     */
    private static String opUrl(String urlStr)
    {        
        URL url = null;
        HttpURLConnection conn = null;
        InputStream is = null;
        ByteArrayOutputStream baos = null;
        try
        {
            url = new URL(urlStr);
            conn = (HttpURLConnection) url.openConnection();
            conn.setReadTimeout(5 * 10000);
            conn.setConnectTimeout(5 * 10000);
            conn.setRequestMethod("POST");
            if (conn.getResponseCode() == 200)
            {
                is = conn.getInputStream();
                baos = new ByteArrayOutputStream();
                int len = -1;
                byte[] buf = new byte[128];

                while ((len = is.read(buf)) != -1)
                {
                    baos.write(buf, 0, len);
                }
                baos.flush();
                String result = baos.toString();
                return result;
            } else
            {
                throw new Exception("服务器连接错误!");
            }

        } catch (Exception e)
        {
            e.printStackTrace();
        } finally
        {
            try
            {
                if (is != null)
                    is.close();
            } catch (IOException e)
            {
                e.printStackTrace();
            }

            try
            {
                if (baos != null)
                    baos.close();
            } catch (IOException e)
            {
                e.printStackTrace();
            }
            conn.disconnect();
        }
        return "";
    }
    
    
    public static void main(String args []){        
            //msg参数就是传输过去的对话内容。            
            System.out.println(opUrl("http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552"));
            
    }
}