Edited at

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

More than 1 year has passed since last update.


紹介

富士通インキュベーションセンターの「シュウゾウ」さんが、

「脳波で動くVTuber」を作成したので紹介します。


本記事について


  • Youtubeに投稿した動画「脳波でうごくVTuber」の作り方の記事


    • 上記リンクのVTuber動画作成の解説



  • ユニティちゃんの頭についているリボンを脳波でうごかす


環境


  • MacBook Pro 2017, macOS High Sierra 10.13.4


    • MindWave自体はWindowsでも利用可能



  • MindWave Mobile


    • NeuroSky社の脳波計




背景


脳波でうごくVTuberとは?


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


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


  • VTuberの表現の幅が広がる


    • 手が離せない状況でも使える(ゲームプレイ中など)

    • 自動的に感情表現してくれる



  • 自分の今の感情を大まかに伝えることができる


    • 脳波は正直?




使用したもの


構成と解説


①脳波計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値は楽しんでいるときや、笑顔で会話しているときによく反応していた(主観)

    • 大まかには気持ちに沿って反応しているように感じるが、反応しない場合もあるため今後の課題と感じた


      • 考えすぎて自分の本当の気持ちがわからなくなる

      • 脳波はいまだ未知の部分が多い



    • 脳波は人によっては制御可能


      • 部署の先輩に自分の意志で脳波の値の上げ下げが可能なニュータイプな人がいる





  • 環境構築に手間取った


    • ソフトウェアのバージョンが古い記事が散見されるので注意



  • 脳波計が頭に食い込んで少し痛む


    • クリップで耳を挟む

    • 装着がシビア


      • 脳波取得のためピンポイントで装着する必要あり

      • もう少し手軽に装着できるといいと思った





  • 猫耳や尻尾を動かしたい


    • きっとかわいいに違いない