Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

「脳波でうごくVTuber」の作り方

More than 1 year has passed since last update.

紹介

富士通インキュベーションセンターの「シュウゾウ」さんが、
「脳波で動くVTuber」を作成したので紹介します。

本記事について

脳波でうごくVTuberの動画

  • Youtubeに投稿した動画「脳波でうごくVTuber」の作り方の記事
    • 上記リンクのVTuber動画作成の解説
  • ユニティちゃんの頭についているリボンを脳波でうごかす

環境

  • MacBook Pro 2017, macOS High Sierra 10.13.4
    • MindWave自体はWindowsでも利用可能
  • MindWave Mobile
    • NeuroSky社の脳波計

背景

脳波でうごくVTuberとは?

  • 脳波計を頭に装着し脳波を計測。脳波でVTuberをうごかす

脳波でうごくVTuber概略図.png

脳波をVTuberに適用することで

  • VTuberの表現の幅が広がる
    • 手が離せない状況でも使える(ゲームプレイ中など)
    • 自動的に感情表現してくれる
  • 自分の今の感情を大まかに伝えることができる
    • 脳波は正直?

使用したもの

使用したもの.png

構成と解説

脳波でうごくVTuber構成図.png

①脳波計MindWaveから脳波を取得

1. PC上の環境構築

  • NeuroSkyのデベロッパーサイトのBrainwave Starter Kit Product Support

    使用したのはMindWave Mobileだが、MindWave Mobile Plusのほうが抜けなく書いてあると思われる。

    Brainwave Starter Kit Product Supportの下の方にあるようにOSバージョンによる可能性がある。

    筆者は環境構築中に試行錯誤した。上記手順でうまくいかない場合は以下のようなQ&Aを使う。 MindWave won't work on Mac or Windows

  • うまくいかない場合のチェック項目

    • MindWave Managerはインストールされ、起動しているか(ステータスバーにアイコン)
    • ThinkGear Connectorはインストールされ、起動しているか(ステータスバーにアイコン)
      • 上記ソフトウェアはソースがいくつかある
      • うまくいかない場合は別のソースでインストールし直す
    • サポートサイトのQ&A MindWave won't work on Mac or Windows

2. Unityプロジェクトの作成

  • GitHub上のmindwave-unityプロジェクトをClone

    MindWaveの公式にもUnityでうごかすチュートリアルがある。

    しかし今回はうまく動かなかったためGitHub上のプロジェクトを利用させていただいた。

②Bluetooth通信

③ユニティちゃん(のリボン)をうごかす

  • 脳波を受け取る方法
    • 以下のようにセンサデータを受け取りたいスクリプトにイベントを登録
  • 今回は脳波のデータとしてMindWave独自のアルゴリズムに基づき出力されるattention値を利用
    • attention値は集中度を示すとされている
void Start () {
    MindwaveManager.Instance.Controller.OnUpdateMindwaveData += OnUpdateMindwaveData;
}

public void OnUpdateMindwaveData(MindwaveDataModel _Data)
{
    sensorData = _Data.eSense.attention;
    Debug.Log("nouha meditation : " + _Data.eSense.meditation);
    Debug.Log("nouha attention : " + _Data.eSense.attention);
}
    public void mulObject(float a, float x, float y, float z) {
        mulObject(Quaternion.AngleAxis(a, new Vector3(x,y,z)));
    }
    public void mulObject(Quaternion q) {
        Transform tr = gameObject.transform;
        tr.localRotation = q * tr.localRotation;
    }

④REC(撮影)

  • 録画はMacに標準で入っているQuick Time Playerを使用
    • ファイル->新規画面収録 で画面内を撮影
  • 編集はMacに標準で入っているiMovieを使用

まとめと所感

  • 脳波に気持ちが(一部)反映されることを確認
    • attention値は楽しんでいるときや、笑顔で会話しているときによく反応していた(主観)
    • 大まかには気持ちに沿って反応しているように感じるが、反応しない場合もあるため今後の課題と感じた
      • 考えすぎて自分の本当の気持ちがわからなくなる
      • 脳波はいまだ未知の部分が多い
    • 脳波は人によっては制御可能
      • 部署の先輩に自分の意志で脳波の値の上げ下げが可能なニュータイプな人がいる
  • 環境構築に手間取った
    • ソフトウェアのバージョンが古い記事が散見されるので注意
  • 脳波計が頭に食い込んで少し痛む
    • クリップで耳を挟む
    • 装着がシビア
      • 脳波取得のためピンポイントで装着する必要あり
      • もう少し手軽に装着できるといいと思った
  • 猫耳や尻尾を動かしたい
    • きっとかわいいに違いない
Fujitsu_IncubationCenter
富士通株式会社インキュベーションセンターの公式技術ブログです。 インキュベーションセンターの活動を「ツバサ」が広報します。 本チャンネルは、富士通グループソーシャルメディア公式アカウントポリシーに従って運営いたします。 ■富士通グループソーシャルメディア公式アカウントポリシー http://www.fujitsu.com/jp/about/resources/socialmedia/
http://www.fujitsu.com/jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away