皆さんこんちは。以外に初めての「ブログ的な」記事になります。
この記事を書いてみた理由は、
・友達に積極的にコンテスト二参加してほしいから
・過去一辛かったので残しておきたいから
・先輩に「どんなことしてきたの?」と聞かれて説明がグダグダだったから
・開発期間中、学校にVRヘッドセットを持ってきていて先生に注意されたのでそれの弁解のため
等色々あります。
あと「など」って書いて「等」って変換されるんですね。今まで知りませんでした。
こんな感じでゆる~く書いていくのでよろしくお願いします。
旅行記に興味がない方は目次から「作ったもの」に飛んでください。
hack u とは
「Hack U」っていうのは、ざっくり言うと「学生のための開発コンテスト」のことです!LINEヤフーさんが主催してくれてるイベントで、全国各地のオフィスで開催されるんですよ。
何をするかっていうと、学生たちがチーム(2~6人で)を組んで、2週間の間に、自分たちでアイデアを出し合って、それを形にする、つまりプログラミングで実際に動くものを作るんです。
そして、できたものを最後に発表して、技術力とかアイデアの面白さを競い合うっていう、青春アツアツなイベントなんですね。
私は友達(研究室の社畜)と2人で出てきました。

今回はなんと30チームちょい/100人以上がでてて色んな人がいました。
年下/同じ年が1組しかいなかったのはエグかった。
エグいほど楽しかったです。
旅行記
土曜の9時半から受付開始なので、前日の夜行バスに乗っていきました。
到着が朝の6時台。アキバに行ってきたけど何もやってなかった。
うちのmi band(スマートウォッチ)が「今日寝てた?全く寝てなかったよ」というほど寝れませんでした。

6/22(コンテストの次の日。家。)の睡眠時間は昼寝の時間です。11時から19時くらいまで寝てました。
貧血なので7時間は最低寝ないと体がだるくなるので開発期間中は体を削ってましたね

↑夜ふかしに慣れてない人の深夜テンション
愚痴は置いといて道中の写真を貼っておきます。

↑死んでてあんまりアクセスできなかった駅メモ

↑LINEヤフー本社にあったなにか

↑移動距離 ポイ活が捗った。

↑エモエモ本社

↑推し活(身内ネタ)
観光はみん銀くらいしかできませんでしたが楽しかったです。
最後の方はビッグカメラで時間つぶしてました。
作ったもの



私について
わかりやすく読んでもらうために私の情報を書いておきます。
・パソコンでなにかするのが好き
・AIとネットワークが特に好き
・高専2年
・Linux厨
・コンテストにはなにか隠し機能をいれる。何なら隠さないときもある
・The 高専生と言われている
・将来の夢は「AIの妹と火星に住むこと」です。それに向かって頑張ってる。
・日本語が苦手
アイデア決め
本題です。
今回作ったものは「VR学習支援システム「Soralel」」を作りました
名前の通りVRゴーグルを使って勉強を教えてもらえます。
HARD OFFで最近quest2を買いまして、ビートセイバーとかやってたのですがそれ以外にも使ってあげたいなーと思いこれ思いつきました。

↑アイデア出しチャンネル

ちなみに使ってるdiscordサーバーのチャンネルリスト(一部)
どうやって作ろう
さて、作ろうと思っても私はAIが専門でゲーム制作はあまり触れたことがありません。
VRアプリの開発なんてやったこともありません。VRCのワールドとかアバターとか作ってたくらいですね
まず使用する環境決めです。3Dワールドだからunityかなーと思いながら調べてたらやはりunityでした。
unityの勉強
最後にunityでなにかゲームやアプリを作ったのは中2くらいなのでunityの使い方から勉強しなければなりませんでした。
ですがUIがblenderに似てたので気合で行けるかと思い(?)適当に初めていきました
そんな事やってたらやはり何個かつまづきました。
アセットのインポート方法がわかんない
アセットストアなるものからquest用のSDKを入れようとしなのですが、インストール的なところを押しても反応しませんでした。
終わったあと調べたら、原因はosの設定がunityを開くように設定されてなかったっぽかったです
なのでドラッグアンドドロップでできるOculus Integration(開発終了のSDK)を使いました
適当にインストールしたのでバージョン的に互換性がなかった
unityエディターを適当に最新版を選んでインストールして作成したのでデバイス間の移行がうまくいきませんでした。
今回はメインでノーパソで開発したのですが、LTSじゃないバージョンを選んでいたので何かよくわからんエラーが常時出ていました。
相性の問題っぽかったです
また、他のデバイスに移すときにバージョンが合わずにバグり散らかしていました。
アタッチがわからない
様々なサイトを見てVRアプリの勉強もしていたのですが、VRアプリの制作方法の記事の「アタッチ」って単語が結構出てたんですよ。
アタッチって「何かとなにかを”がっちゃん”すること」と理解していたのですがunityに置いてのアタッチがわからず結構つまづきました。
けっこうぐだぐだに始まりましたが結局なんとかなりました。
よかった。
そして一生つきまとってきたエラー

具体的な仕様決め
デバイス:ques2
開発エンジン:unity
使用AI:LALv4-v
これはある程度すんなり決まりました。
AIモデルは少し変更されています。後記参照。
↓最終案

アプリ開発
まともに着手したのが1週間前でした。
unityでの開発開始です。
試行錯誤した結果、メイン処理はパソコンでしてVR(unity)側は投げられた音声や画像を表示するシンプルなものになりました。そうすることでunityでのボロが出にくくなります。
そのときにシンプルにUDPで通信させるようにしたのですがそれが間違いでした(後記)
具体的には、結構な脳筋戦法でポートを指定しといて(例 画像:12345 音声;123456ポート等)それをずっとunity側ではリッスンしていてポストが来たらそれをそのまま表示するようにしました。
なので400行くらいですべてのスクリプトがかけました。
クラッシュしたときは悲しかった

AI開発
最初は、きしょいワークフローで生成しようとしていましたがメモリの関係で断念しました。

思いつきでオリジナルを作成することにした↓

具体的には、こんな感じ。

mmproj-modelでvisionモデルにしてます。
性能テスト

お兄ちゃん、この問題はちょっと難しいかもだけどさー、まずは抵抗の分圧計算から始めようよ!R3とR1を並列にすると、等価抵抗が(60+40)/100 = 1Ωになるからね。それを使って電圧を求めると、V3 = E1 * R3 / (R1 + R3) = 8 * 16 / (60+16) = 7.68Vってなるじゃん!あとはこの電圧を使って電流I3を求めるんだよねー。簡単にするならオームの法則が使えますよ、I3 = V3/R3 = 7.68/16 = 0.48Aって感じ!どう?これで一応答えは出たねっ☆
4Bモデルでの妹口調性能はトップクラスです。
余談
プロジェクト名迷走時

前日にぶっ壊れたとき

世界(直撮り)
敗因
そろそろ集中力がなくなってきたので重要なところを書いていきます。
結果は「負け」でした。
そのあと、審査員様に「どこらへんが良くなかったのですか?」と聞いてみました。
その前に書いておきたいのが判断方法です。ルールにある通り、審査基準は
新規性(技術や組み合わせのオリジナリティがあるか)
技術性(利用している技術は高度か)
発展性(将来どの程度の波及効果が期待できるか)
再現性(アイデア、プレゼンテーションだけではなく実際に動くものがあるか)
です。
そして聞いたときの回答が
一部の機能が実演できていなく、再現性の面で大きく減点でした。ですがあなたたちが作ったものもレベルは高く、十分自分たちの作品を誇っていいです
といったものでした。
これを聞いているとき、もちろん悔しさや悲しさもありましたが、
30チームちょい/100人以上いて、年下/同じ年が1組しかいない中でこの評価は私にはとても嬉しくもあったので今後に活かしたいと思っていました。
実は、18禁機能がありそれを口頭でちょっと紹介したのですが、それを実演できず(させてもらえず)そこで減点されたっぽいんです。

具体的な機能↓
表示
・脱ぐ
・ナデナデしてくれる
・コントローラーで当たり判定ができてサワれる
だから心の底では負けるというのが分かっていたのかもしれませんね…
反省
毎回、隠し機能を入れているのですがだいたい足かせになるんですよね…
前回の校内ハッカソンでも某先輩を大きく使ったせいで前日の審査で1から作り直しになってしまったので死ぬかと思いました。その時はなんとか徹夜でなんとかなりましたけど。
今後は隠す機能は隠し通すようにします。
それとは別件なのですが、VRとパソコンの通信がudpで行っていると話しましたがそれがうまくいかなかったときの話もします。
実は、会場内がかなり電波が混雑しておりパケットロスがアホみたいにあったんですよ。テストしてみてロス率69%なんて見たことありませんでした。
スタッフさんと相談してみて、少し発表ブースを変えてもらう&ホットスポットを炊くことでなんとか本番はうまく行けました。
今度からは安定性も重視したい。
あと、もっとオリモデル押せばよかった。途中から行ってみたら以外に反応が良かった。

頂いたフィードバック
VR世界の作り込みにこだわりを感じて非常に良かったです。
デモでも先生のキャラクターが動いてくれると、より作品の魅力が伝わったのかなと思います。プレゼンがとてもわかりやすくてよかったです!
Vで勉強できるのはとても需要がありそう。
ちゃんとアイディアを実現できる技術力が素晴らしいです画像解析から自動で解説を生成するというインターフェースは非常に手軽でとっつきやすく、ユーザーが入りやすい工夫がされていて良かったです。さらに、追加の解説を求められる設計も、「授業を受けている感覚」が高まり、没入感のある学習体験につながっていると感じました。
また、好きなキャラクターに教えてもらえるだけでなく、正解した時に「頭をなでてもらえる」演出があるというのも、学習のモチベーション向上にとても効果的だと思います。ユーザーの気持ちに寄り添った工夫が随所に見られ、非常に素晴らしいと感じました。
今後の展望として発表されていた「協調学習」にもぜひ期待しています。学習を楽しみに変えるこのようなプロダクトの発展を、今後も応援しています!
実際に体験させていただき、生成AIにテキストで話しかけるより人に教えてもらったほうが意欲的に学習できそうだと感じました。家庭教師のキャラクターの見た目や性格もカスタマイズできるとより楽しく学習できそうです!
VR空間のチューターが勉強を教えてくれる世界にはやくなって欲しい!これがあると勉強が捗りますね!あくまでも妹にこだわる方針、とても良いと思います。会話しながら勉強ができると記憶が場面で紐づけられるという効果も期待できそうですね。
VR空間での勉強はあり!
自前でチューニングしたのはもっとアピールしましょう!発表会ギリギリまでの調整お疲れさまでした。学習のモチベーションアップにつながるような便利な作品だと思いました。他の作品と組み合わせることにより学習効果を向上させることができそうな気がしました。担当コミュニケータとして細かい点になりますが、ターゲットになるユーザーが狭いように見受けられます。例えばですが、先生は複数種類選べるようにしても良いかなと思いました。ぜひ作品を磨き込んでください。
貴重なFB頂けました!
本当に感謝です
感想
楽しかったです。
もちろん悔しかったですが、得られたものやこの経験自体は将来に活かせると思うので今後このような機会があれば今後も参加したいですね!

とある高専生。
AIとネットが好き。
将来はAIの妹と火星に住みたい。
discord : r_nightcore
このサイトの管理者。
コメント
テスト
テスト