始めに
コロナウイルスが少しずつ収まり、やっと緊急事態宣言が解除されました。ですが会津大学ではまだ授業がリモートであったり部活動が制限されています。
そんな中、A-PxL(VR部)ではリモートで部活動を行っております。私もそれに倣ってリモートで何か新入生に対して楽しませることが出来ないかなと思い、女の子になってプログラミング勉強会を行っております。
経緯
もともとは実家からリモートで部活動の発表やLTが出来たらいいなと考えていました。ただ、私自身実家に帰るのが1年に1回程度ですし、実家にいるとしても短期間なので制作しても実用する機会はほぼないので作る気はありませんでした。
しかし、リモートでプログラミング勉強会をすることが決まりまして「作るっきゃない!」ってことで開発を行いました。
作ったもの
こちらは会津大学で行われた「コロナウイルスにITで立ち向かう」に向けて投稿した動画になります。
基本的にはUnityを使って自作しました。今現在、様々なオンラインVRサービスがありますが通話アプリで画面共有して放送する点を考えて自分で作ってみようと思いました。 あと、久々に開発したかったのも理由の一つです。
やったこと
全身トラッキング
全身トラッキングについてはHTC ViveとVive Trackerを使用して行いました。 また、アセットのFinal IKを使用してモデルを動かしています。
全身トラッキングをする上で参考にしたサイトは以下の通りです。
Final IKを解説【3カ所の入力で人物を動かせます+微調整も大事】
Final IKのUnityでの設定を解説【体幹・手・脚で必要項目を整理】
Viveコントローラーでマウスを動かす
あまり情報がありませんでしたが、C#の機能として調べると見つけることが出来ました。以下のリンクに簡単に実装をまとめています。
オブジェクトを掴む
この機能はネット上ではVRTKを使った記事が多くありましたが、私はVRTKにトラウマを持っているので自作しました。
スライドを表示する
これはスライドのpngを設定して、Quadに表示させています。動画では未実装ですが、現在では簡単なスライドアニメーションが出来るようになりました。
今後の予定ですが、pngに変換するのが面倒くさいのでpdfから読み込めるようにしたいです。
twitter、Discordからコメントを取得する
勉強会ではDiscord、ハッカソンではtwitterからコメントを取得できるようにしました。Discordのほうは友人に依頼してDiscordBotとFirebaseの管理を実装して頂きました。twitterのほうはAPIがgithubにあったのでそちらを利用させて頂きました。こちらも後程まとめます。
ホワイトボードの実装
質問や付加情報を話す際に、ホワイトボードが欲しいなということで実装しました。こちらは過去にブログに上げています。 もしかすると、これもまた書き直すかもしれません。
使用させて頂いたもの
モデルについては有坂みと様のモデルを使用させて頂きました。滅茶苦茶かわいいです。
ボイスチェンジャーはバ美声を使用させて頂きました。本当にありがとうございます。
プログラミング勉強会をしてみて
只今、このVTuberシステムを使用して新入生向けプログラミング勉強会を実施しております。
個人的に使用してみて私自身がとても楽しいです。恐らく、普通に画面共有して放送するよりも断然こっちのほうが私は話しやすいと感じております。
まだすべての内容が終わっていないので新入生からの感想は頂いておりませんが、最終的にはアンケートで感想を頂こうと思います。
「コロナウイルスにITで立ち向かう」で発表した
このコンテンツを開発しようと決めたときに丁度大学でこのハッカソンが開催されていると知りました。
タイミングがよかったこととモチベーション向上を兼ねて参加して、このコンテンツを発表しました。
以下私の投稿です。
軽いノリでの参加でしたが、最優秀賞を頂きました。恐らくコンテンツの発表がコンテンツの紹介となっている点が他のコンテンツに比べて強かったのかもしれません。感想については上記のリンクで書いています。
これからについて
開発している中でYoutubeの「非株式会社いつかやる」の動画を視聴しました。こちらのチャンネルのいくつかの動画ではVirtual Castを使用して放送しているようです。
この動画を見た際にまだまだ実装できてない機能が多いと感じたのでこれからも引き続き改良していこうと思います。
感想
久々の開発でとても楽しかったです。また、勉強会もスムーズに進んでおり日用出来るコンテンツだと感じております。
開発では友人の力もあり、開発が止まったりサボったりすることもなく行うことが出来ました。ありがとうございます。
これからリモートでの発表やLTなどでも活用していく予定です。
ちょっとした雑談
モデルを買うためコンビニに向かう途中に警察に事情聴取を受けてしまいました。
女の子買おうとしたら警察に捕まった
— ひさし (@CCPJ_a) 2020年4月20日
ハッカソンでコンテンツ名を考えた際にいい名前を思いつき、それにしようと思ってましたが検索したところトップにいかがわしいお店が出てきたので却下となりました。
最終的に決定したコンテンツ名は「Kawaii-Jyuku」です。とある塾をもじりました。
最後に、就活での面接にて「コロナに対してITでどのようなアプローチが出来ると思いますか?」という質問を受けまして、「中国ではVTuberになって授業をしているという記事を拝見しました。この技術を使えばリモートでも楽しい授業が出来ると思います。」みたいな解答をしました。この時はまだ、このコンテンツを開発することは未定でした。
その直後に開発することを考え情報収集を始めました。そんなとき最終面接にて「今どのような技術に興味がありますか?」と聞かれ、「これ普通はゲームAIやグラフィック、エディタ拡張とか言うのが正しいだろなぁ」と思いつつこのコンテンツを開発しようと計画していることをお話しました。(「間違った返答かもしれませんが、」と付け加えてます) それでも、とても真摯に話を聞いて頂きましてとても嬉しかったです。ありがとうございました。