皆さんこんちは。以外に初めての「ブログ的な」記事になります。
この記事を書いてみた理由は、
・友達に積極的にコンテスト二参加してほしいから
・過去一辛かったので残しておきたいから
・先輩に「どんなことしてきたの?」と聞かれて説明がグダグダだったから
・開発期間中、学校に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%なんて見たことありませんでした。
スタッフさんと相談してみて、少し発表ブースを変えてもらう&ホットスポットを炊くことでなんとか本番はうまく行けました。
今度からは安定性も重視したい。
感想
楽しかったです。
もちろん悔しかったですが、得られたものやこの経験自体は将来に活かせると思うので今後このような機会があれば今後も参加したいですね!

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